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 11 define i32 @i(i32 %a) { 12 entry: 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 22 define i32 @j(i32 %a) { 23 entry: 24 %and = and i32 %a, -129 25 ret i32 %and 26 } 27