1; RUN: llc < %s -mtriple=thumbv7-linux-gnueabi -mcpu=cortex-m0 -verify-machineinstrs | FileCheck --check-prefix CHECK-T1 %s
2; RUN: llc < %s -mtriple=thumbv7-linux-gnueabi -mcpu=cortex-m3 -verify-machineinstrs | FileCheck --check-prefix CHECK-T2 %s
3
4; CHECK-T1-LABEL: @i
5; CHECK-T2-LABEL: @i
6; CHECK-T1: movs r1, #255
7; CHECK-T1: adds r1, #20
8; CHECK-T1: bics r0, r1
9; CHECK-T2: movw r1, #275
10; CHECK-T2: bics r0, r1
11define i32 @i(i32 %a) {
12entry:
13  %and = and i32 %a, -276
14  ret i32 %and
15}
16
17; CHECK-T1-LABEL: @j
18; CHECK-T2-LABEL: @j
19; CHECK-T1: movs r1, #128
20; CHECK-T1: bics r0, r1
21; CHECK-T2: bic r0, r0, #128
22define i32 @j(i32 %a) {
23entry:
24  %and = and i32 %a, -129
25  ret i32 %and
26}
27