xref: /aosp_15_r20/external/llvm/test/Transforms/InstCombine/apint-cast-and-cast.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -instcombine -S | not grep bitcast
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine i19 @test1(i43 %val) {
4*9880d681SAndroid Build Coastguard Worker  %t1 = bitcast i43 %val to i43
5*9880d681SAndroid Build Coastguard Worker  %t2 = and i43 %t1, 1
6*9880d681SAndroid Build Coastguard Worker  %t3 = trunc i43 %t2 to i19
7*9880d681SAndroid Build Coastguard Worker  ret i19 %t3
8*9880d681SAndroid Build Coastguard Worker}
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Workerdefine i73 @test2(i677 %val) {
11*9880d681SAndroid Build Coastguard Worker  %t1 = bitcast i677 %val to i677
12*9880d681SAndroid Build Coastguard Worker  %t2 = and i677 %t1, 1
13*9880d681SAndroid Build Coastguard Worker  %t3 = trunc i677 %t2 to i73
14*9880d681SAndroid Build Coastguard Worker  ret i73 %t3
15*9880d681SAndroid Build Coastguard Worker}
16