forked from OSchip/llvm-project
27 lines
686 B
LLVM
27 lines
686 B
LLVM
; RUN: llc < %s -mtriple=thumbv7-linux-gnueabi -mcpu=cortex-m0 -verify-machineinstrs | FileCheck --check-prefix CHECK-T1 %s
|
|
; RUN: llc < %s -mtriple=thumbv7-linux-gnueabi -mcpu=cortex-m3 -verify-machineinstrs | FileCheck --check-prefix CHECK-T2 %s
|
|
|
|
; CHECK-T1-LABEL: @i
|
|
; CHECK-T2-LABEL: @i
|
|
; CHECK-T1: movs r1, #255
|
|
; CHECK-T1: adds r1, #20
|
|
; CHECK-T1: bics r0, r1
|
|
; CHECK-T2: movw r1, #275
|
|
; CHECK-T2: bics r0, r1
|
|
define i32 @i(i32 %a) {
|
|
entry:
|
|
%and = and i32 %a, -276
|
|
ret i32 %and
|
|
}
|
|
|
|
; CHECK-T1-LABEL: @j
|
|
; CHECK-T2-LABEL: @j
|
|
; CHECK-T1: movs r1, #128
|
|
; CHECK-T1: bics r0, r1
|
|
; CHECK-T2: bic r0, r0, #128
|
|
define i32 @j(i32 %a) {
|
|
entry:
|
|
%and = and i32 %a, -129
|
|
ret i32 %and
|
|
}
|