llvm.org GIT mirror llvm / release_39 test / CodeGen / ARM / mul_const.ll
release_39

Tree @release_39 (Download .tar.gz)

mul_const.ll @release_39

27b1252
af9e7a7
a9790d7
af9e7a7
8b2b8a1
af9e7a7
 
 
 
 
a9790d7
af9e7a7
8b2b8a1
af9e7a7
 
 
 
a9790d7
 
 
8b2b8a1
a9790d7
 
 
 
 
 
 
8b2b8a1
a9790d7
 
 
 
 
 
 
8b2b8a1
a9790d7
9ce7562
a9790d7
 
 
 
2d7ea04
 
8b2b8a1
2d7ea04
 
 
 
 
 
 
 
8b2b8a1
2d7ea04
 
 
 
 
 
 
8b2b8a1
2d7ea04
 
 
 
 
 
 
 
8b2b8a1
2d7ea04
 
 
 
 
 
 
8b2b8a1
2d7ea04
 
 
 
 
; RUN: llc -mtriple=arm-eabi %s -o - | FileCheck %s

define i32 @t9(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: t9:
; CHECK: add r0, r0, r0, lsl #3
	%0 = mul i32 %v, 9
	ret i32 %0
}

define i32 @t7(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: t7:
; CHECK: rsb r0, r0, r0, lsl #3
	%0 = mul i32 %v, 7
	ret i32 %0
}

define i32 @t5(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: t5:
; CHECK: add r0, r0, r0, lsl #2
        %0 = mul i32 %v, 5
        ret i32 %0
}

define i32 @t3(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: t3:
; CHECK: add r0, r0, r0, lsl #1
        %0 = mul i32 %v, 3
        ret i32 %0
}

define i32 @t12288(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: t12288:
; CHECK: add r0, r0, r0, lsl #1
; CHECK: lsl{{.*}}#12
        %0 = mul i32 %v, 12288
        ret i32 %0
}

define i32 @tn9(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: tn9:
; CHECK: add	r0, r0, r0, lsl #3
; CHECK: rsb	r0, r0, #0
        %0 = mul i32 %v, -9
        ret i32 %0
}

define i32 @tn7(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: tn7:
; CHECK: sub r0, r0, r0, lsl #3
	%0 = mul i32 %v, -7
	ret i32 %0
}

define i32 @tn5(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: tn5:
; CHECK: add r0, r0, r0, lsl #2
; CHECK: rsb r0, r0, #0
        %0 = mul i32 %v, -5
        ret i32 %0
}

define i32 @tn3(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: tn3:
; CHECK: sub r0, r0, r0, lsl #2
        %0 = mul i32 %v, -3
        ret i32 %0
}

define i32 @tn12288(i32 %v) nounwind readnone {
entry:
; CHECK-LABEL: tn12288:
; CHECK: sub r0, r0, r0, lsl #2
; CHECK: lsl{{.*}}#12
        %0 = mul i32 %v, -12288
        ret i32 %0
}