84 lines · plain
1; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s2 3define i32 @t2ADDrc_255(i32 %lhs) {4; CHECK-LABEL: t2ADDrc_255:5; CHECK-NOT: bx lr6; CHECK: add{{.*}} #2557; CHECK: bx lr8 9 %Rd = add i32 %lhs, 25510 ret i32 %Rd11}12 13define i32 @t2ADDrc_256(i32 %lhs) {14; CHECK-LABEL: t2ADDrc_256:15; CHECK-NOT: bx lr16; CHECK: add{{.*}} #25617; CHECK: bx lr18 19 %Rd = add i32 %lhs, 25620 ret i32 %Rd21}22 23define i32 @t2ADDrc_257(i32 %lhs) {24; CHECK-LABEL: t2ADDrc_257:25; CHECK-NOT: bx lr26; CHECK: add{{.*}} #25727; CHECK: bx lr28 29 %Rd = add i32 %lhs, 25730 ret i32 %Rd31}32 33define i32 @t2ADDrc_4094(i32 %lhs) {34; CHECK-LABEL: t2ADDrc_4094:35; CHECK-NOT: bx lr36; CHECK: add{{.*}} #409437; CHECK: bx lr38 39 %Rd = add i32 %lhs, 409440 ret i32 %Rd41}42 43define i32 @t2ADDrc_4095(i32 %lhs) {44; CHECK-LABEL: t2ADDrc_4095:45; CHECK-NOT: bx lr46; CHECK: add{{.*}} #409547; CHECK: bx lr48 49 %Rd = add i32 %lhs, 409550 ret i32 %Rd51}52 53define i32 @t2ADDrc_4096(i32 %lhs) {54; CHECK-LABEL: t2ADDrc_4096:55; CHECK-NOT: bx lr56; CHECK: add{{.*}} #409657; CHECK: bx lr58 59 %Rd = add i32 %lhs, 409660 ret i32 %Rd61}62 63define i32 @t2ADDrr(i32 %lhs, i32 %rhs) {64; CHECK-LABEL: t2ADDrr:65; CHECK-NOT: bx lr66; CHECK: add67; CHECK: bx lr68 69 %Rd = add i32 %lhs, %rhs70 ret i32 %Rd71}72 73define i32 @t2ADDrs(i32 %lhs, i32 %rhs) {74; CHECK-LABEL: t2ADDrs:75; CHECK-NOT: bx lr76; CHECK: add{{.*}} lsl #877; CHECK: bx lr78 79 %tmp = shl i32 %rhs, 880 %Rd = add i32 %lhs, %tmp81 ret i32 %Rd82}83 84