brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 68d92b8 Raw
106 lines · plain
1; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s2 3define i32 @f1(i32 %a, i32 %b) {4; CHECK-LABEL: f1:5; CHECK: bics r0, r16    %tmp = xor i32 %b, 42949672957    %tmp1 = and i32 %a, %tmp8    ret i32 %tmp19}10 11define i32 @f2(i32 %a, i32 %b) {12; CHECK-LABEL: f2:13; CHECK: bics r0, r114    %tmp = xor i32 %b, 429496729515    %tmp1 = and i32 %tmp, %a16    ret i32 %tmp117}18 19define i32 @f3(i32 %a, i32 %b) {20; CHECK-LABEL: f3:21; CHECK: bics r0, r122    %tmp = xor i32 4294967295, %b23    %tmp1 = and i32 %a, %tmp24    ret i32 %tmp125}26 27define i32 @f4(i32 %a, i32 %b) {28; CHECK-LABEL: f4:29; CHECK: bics r0, r130    %tmp = xor i32 4294967295, %b31    %tmp1 = and i32 %tmp, %a32    ret i32 %tmp133}34 35define i32 @f5(i32 %a, i32 %b) {36; CHECK-LABEL: f5:37; CHECK: bic.w r0, r0, r1, lsl #538    %tmp = shl i32 %b, 539    %tmp1 = xor i32 4294967295, %tmp40    %tmp2 = and i32 %a, %tmp141    ret i32 %tmp242}43 44define i32 @f6(i32 %a, i32 %b) {45; CHECK-LABEL: f6:46; CHECK: bic.w r0, r0, r1, lsr #647    %tmp = lshr i32 %b, 648    %tmp1 = xor i32 %tmp, 429496729549    %tmp2 = and i32 %tmp1, %a50    ret i32 %tmp251}52 53define i32 @f7(i32 %a, i32 %b) {54; CHECK-LABEL: f7:55; CHECK: bic.w r0, r0, r1, asr #756    %tmp = ashr i32 %b, 757    %tmp1 = xor i32 %tmp, 429496729558    %tmp2 = and i32 %a, %tmp159    ret i32 %tmp260}61 62define i32 @f8(i32 %a, i32 %b) {63; CHECK-LABEL: f8:64; CHECK: bic.w r0, r0, r0, ror #865    %l8 = shl i32 %a, 2466    %r8 = lshr i32 %a, 867    %tmp = or i32 %l8, %r868    %tmp1 = xor i32 4294967295, %tmp69    %tmp2 = and i32 %tmp1, %a70    ret i32 %tmp271}72 73; ~0x000000bb = 429496710874define i32 @f9(i32 %a) {75    %tmp = and i32 %a, 429496710876    ret i32 %tmp77    78; CHECK-LABEL: f9:79; CHECK: bic r0, r0, #18780}81 82; ~0x00aa00aa = 428382600583define i32 @f10(i32 %a) {84    %tmp = and i32 %a, 428382600585    ret i32 %tmp86    87; CHECK-LABEL: f10:88; CHECK: bic r0, r0, #1114129089}90 91; ~0xcc00cc00 = 87236300792define i32 @f11(i32 %a) {93    %tmp = and i32 %a, 87236300794    ret i32 %tmp95; CHECK-LABEL: f11:96; CHECK: bic r0, r0, #-87236300897}98 99; ~0x00110000 = 4293853183100define i32 @f12(i32 %a) {101    %tmp = and i32 %a, 4293853183102    ret i32 %tmp103; CHECK-LABEL: f12:104; CHECK: bic r0, r0, #1114112105}106