summaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/mul-shift-reassoc.ll
blob: 52d188d9430152fb09385afa646cec0bfff9fe8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | grep lea
; RUN: llvm-upgrade < %s | llvm-as | llc -march=x86 | not grep add

int %test(int %X, int %Y) {
	; Push the shl through the mul to allow an LEA to be formed, instead
        ; of using a shift and add separately.
        %tmp.2 = shl int %X, ubyte 1
        %tmp.3 = mul int %tmp.2, %Y
        %tmp.5 = add int %tmp.3, %Y
        ret int %tmp.5
}