summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/Thumb/bic_imm.ll
blob: 33d88b7b8ddd223f24b60c1428df29878151222e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
; 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
}
OpenPOWER on IntegriCloud