xref: /aosp_15_r20/external/llvm/test/Transforms/Reassociate/shifttest.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; With shl->mul reassociation, we can see that this is (shl A, 9) * A
2*9880d681SAndroid Build Coastguard Worker;
3*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -reassociate -instcombine -S |\
4*9880d681SAndroid Build Coastguard Worker; RUN:    grep "shl .*, 9"
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine i32 @test(i32 %A, i32 %B) {
7*9880d681SAndroid Build Coastguard Worker	%X = shl i32 %A, 5		; <i32> [#uses=1]
8*9880d681SAndroid Build Coastguard Worker	%Y = shl i32 %A, 4		; <i32> [#uses=1]
9*9880d681SAndroid Build Coastguard Worker	%Z = mul i32 %Y, %X		; <i32> [#uses=1]
10*9880d681SAndroid Build Coastguard Worker	ret i32 %Z
11*9880d681SAndroid Build Coastguard Worker}
12*9880d681SAndroid Build Coastguard Worker
13