my previous patch would cause us to start deleting some volatile
[oota-llvm.git] / test / Transforms / Reassociate / shifttest.ll
1 ; With shl->mul reassociation, we can see that this is (shl A, 9) * A
2 ;
3 ; RUN: opt < %s -reassociate -instcombine -S |\
4 ; RUN:    grep {shl .*, 9}
5
6 define i32 @test(i32 %A, i32 %B) {
7         %X = shl i32 %A, 5              ; <i32> [#uses=1]
8         %Y = shl i32 %A, 4              ; <i32> [#uses=1]
9         %Z = mul i32 %Y, %X             ; <i32> [#uses=1]
10         ret i32 %Z
11 }
12