xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/2007-03-19-BadTruncChangePR1261.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | grep zext
2*9880d681SAndroid Build Coastguard Worker; PR1261.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine i16 @test(i31 %zzz) {
5*9880d681SAndroid Build Coastguard Worker  %A = sext i31 %zzz to i32
6*9880d681SAndroid Build Coastguard Worker  %B = add i32 %A, 16384
7*9880d681SAndroid Build Coastguard Worker  %C = lshr i32 %B, 15
8*9880d681SAndroid Build Coastguard Worker  %D = trunc i32 %C to i16
9*9880d681SAndroid Build Coastguard Worker  ret i16 %D
10*9880d681SAndroid Build Coastguard Worker}
11