1 ; RUN: llc < %s -march=arm | FileCheck %s 2 3 define i32 @t9(i32 %v) nounwind readnone { 4 entry: 5 ; CHECK: t9: 6 ; CHECK: add r0, r0, r0, lsl #3 7 %0 = mul i32 %v, 9 8 ret i32 %0 9 } 10 11 define i32 @t7(i32 %v) nounwind readnone { 12 entry: 13 ; CHECK: t7: 14 ; CHECK: rsb r0, r0, r0, lsl #3 15 %0 = mul i32 %v, 7 16 ret i32 %0 17 } 18 19 define i32 @t5(i32 %v) nounwind readnone { 20 entry: 21 ; CHECK: t5: 22 ; CHECK: add r0, r0, r0, lsl #2 23 %0 = mul i32 %v, 5 24 ret i32 %0 25 } 26 27 define i32 @t3(i32 %v) nounwind readnone { 28 entry: 29 ; CHECK: t3: 30 ; CHECK: add r0, r0, r0, lsl #1 31 %0 = mul i32 %v, 3 32 ret i32 %0 33 } 34 35 define i32 @t12288(i32 %v) nounwind readnone { 36 entry: 37 ; CHECK: t12288: 38 ; CHECK: add r0, r0, r0, lsl #1 39 ; CHECK: lsl{{.*}}#12 40 %0 = mul i32 %v, 12288 41 ret i32 %0 42 } 43 44