blob: 3cb8a8e816f68e4c32b4f2fbd0a8ec0f88042fe8 [file] [log] [blame]
Dan Gohmanfce288f2009-09-09 00:09:15 +00001; RUN: llc < %s -march=arm | FileCheck %s
Evan Chengaf9e7a72009-07-21 00:31:12 +00002
Anton Korobeynikova9790d72010-05-15 18:16:59 +00003define i32 @t9(i32 %v) nounwind readnone {
Evan Chengaf9e7a72009-07-21 00:31:12 +00004entry:
Anton Korobeynikova9790d72010-05-15 18:16:59 +00005; CHECK: t9:
Evan Chengaf9e7a72009-07-21 00:31:12 +00006; CHECK: add r0, r0, r0, lsl #3
7 %0 = mul i32 %v, 9
8 ret i32 %0
9}
10
Anton Korobeynikova9790d72010-05-15 18:16:59 +000011define i32 @t7(i32 %v) nounwind readnone {
Evan Chengaf9e7a72009-07-21 00:31:12 +000012entry:
Anton Korobeynikova9790d72010-05-15 18:16:59 +000013; CHECK: t7:
Evan Chengaf9e7a72009-07-21 00:31:12 +000014; CHECK: rsb r0, r0, r0, lsl #3
15 %0 = mul i32 %v, 7
16 ret i32 %0
17}
Anton Korobeynikova9790d72010-05-15 18:16:59 +000018
19define i32 @t5(i32 %v) nounwind readnone {
20entry:
21; CHECK: t5:
22; CHECK: add r0, r0, r0, lsl #2
23 %0 = mul i32 %v, 5
24 ret i32 %0
25}
26
27define i32 @t3(i32 %v) nounwind readnone {
28entry:
29; CHECK: t3:
30; CHECK: add r0, r0, r0, lsl #1
31 %0 = mul i32 %v, 3
32 ret i32 %0
33}
34
35define i32 @t12288(i32 %v) nounwind readnone {
36entry:
37; CHECK: t12288:
38; CHECK: add r0, r0, r0, lsl #1
Jim Grosbach9ce75622010-09-17 21:58:46 +000039; CHECK: lsl{{.*}}#12
Anton Korobeynikova9790d72010-05-15 18:16:59 +000040 %0 = mul i32 %v, 12288
41 ret i32 %0
42}
43