xref: /aosp_15_r20/external/llvm/test/CodeGen/Generic/2009-04-28-i128-cmp-crash.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s
2*9880d681SAndroid Build Coastguard Worker; rdar://6836460
3*9880d681SAndroid Build Coastguard Worker; rdar://7516906
4*9880d681SAndroid Build Coastguard Worker; PR5963
5*9880d681SAndroid Build Coastguard Worker
6*9880d681SAndroid Build Coastguard Workerdefine i32 @test(i128* %P) nounwind {
7*9880d681SAndroid Build Coastguard Workerentry:
8*9880d681SAndroid Build Coastguard Worker	%tmp48 = load i128, i128* %P
9*9880d681SAndroid Build Coastguard Worker	%and49 = and i128 %tmp48, 18446744073709551616		; <i128> [#uses=1]
10*9880d681SAndroid Build Coastguard Worker	%tobool = icmp ne i128 %and49, 0		; <i1> [#uses=1]
11*9880d681SAndroid Build Coastguard Worker	br i1 %tobool, label %if.then50, label %if.end61
12*9880d681SAndroid Build Coastguard Worker
13*9880d681SAndroid Build Coastguard Workerif.then50:		; preds = %if.then20
14*9880d681SAndroid Build Coastguard Worker	ret i32 1241
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Workerif.end61:		; preds = %if.then50, %if.then20, %entry
17*9880d681SAndroid Build Coastguard Worker	ret i32 123
18*9880d681SAndroid Build Coastguard Worker}
19*9880d681SAndroid Build Coastguard Worker
20*9880d681SAndroid Build Coastguard Workerdefine i32 @test2(i320* %P) nounwind {
21*9880d681SAndroid Build Coastguard Workerentry:
22*9880d681SAndroid Build Coastguard Worker	%tmp48 = load i320, i320* %P
23*9880d681SAndroid Build Coastguard Worker	%and49 = and i320 %tmp48, 25108406941546723055343157692830665664409421777856138051584
24*9880d681SAndroid Build Coastguard Worker	%tobool = icmp ne i320 %and49, 0		; <i1> [#uses=1]
25*9880d681SAndroid Build Coastguard Worker	br i1 %tobool, label %if.then50, label %if.end61
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard Workerif.then50:		; preds = %if.then20
28*9880d681SAndroid Build Coastguard Worker	ret i32 1241
29*9880d681SAndroid Build Coastguard Worker
30*9880d681SAndroid Build Coastguard Workerif.end61:		; preds = %if.then50, %if.then20, %entry
31*9880d681SAndroid Build Coastguard Worker	ret i32 123
32*9880d681SAndroid Build Coastguard Worker}
33