aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/X86/mul-shift-reassoc.ll
blob: f870f7aa6fd58091c7afc9d4ef03c668eaf53dfe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
; RUN: llvm-as < %s | llc -march=x86 | grep lea
; RUN: llvm-as < %s | 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
}