xref: /aosp_15_r20/external/llvm/test/Transforms/Inline/casts.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: opt < %s -inline -S | grep "ret i32 1"
2*9880d681SAndroid Build Coastguard Worker; ModuleID = 'short.opt.bc'
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine i32 @testBool(i1 %X) {
5*9880d681SAndroid Build Coastguard Worker        %tmp = zext i1 %X to i32                ; <i32> [#uses=1]
6*9880d681SAndroid Build Coastguard Worker        ret i32 %tmp
7*9880d681SAndroid Build Coastguard Worker}
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Workerdefine i32 @testByte(i8 %X) {
10*9880d681SAndroid Build Coastguard Worker        %tmp = icmp ne i8 %X, 0         ; <i1> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker        %tmp.i = zext i1 %tmp to i32            ; <i32> [#uses=1]
12*9880d681SAndroid Build Coastguard Worker        ret i32 %tmp.i
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Workerdefine i32 @main() {
16*9880d681SAndroid Build Coastguard Worker        %rslt = call i32 @testByte( i8 123 )            ; <i32> [#uses=1]
17*9880d681SAndroid Build Coastguard Worker        ret i32 %rslt
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Worker
20