43 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: add r0, r16 %tmp = add i32 %a, %b7 ret i32 %tmp8}9 10define i32 @f2(i32 %a, i32 %b) {11; CHECK-LABEL: f2:12; CHECK: add.w r0, r0, r1, lsl #513 %tmp = shl i32 %b, 514 %tmp1 = add i32 %a, %tmp15 ret i32 %tmp116}17 18define i32 @f3(i32 %a, i32 %b) {19; CHECK-LABEL: f3:20; CHECK: add.w r0, r0, r1, lsr #621 %tmp = lshr i32 %b, 622 %tmp1 = add i32 %a, %tmp23 ret i32 %tmp124}25 26define i32 @f4(i32 %a, i32 %b) {27; CHECK-LABEL: f4:28; CHECK: add.w r0, r0, r1, asr #729 %tmp = ashr i32 %b, 730 %tmp1 = add i32 %a, %tmp31 ret i32 %tmp132}33 34define i32 @f5(i32 %a, i32 %b) {35; CHECK-LABEL: f5:36; CHECK: add.w r0, r0, r0, ror #837 %l8 = shl i32 %a, 2438 %r8 = lshr i32 %a, 839 %tmp = or i32 %l8, %r840 %tmp1 = add i32 %a, %tmp41 ret i32 %tmp142}43