brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 8ff931a Raw
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