xref: /aosp_15_r20/external/llvm/test/CodeGen/PowerPC/std-unal-fi.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 < %s
2*9880d681SAndroid Build Coastguard Workertarget triple = "powerpc64-unknown-linux-gnu"
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @autogen_SD4932(i8) {
5*9880d681SAndroid Build Coastguard WorkerBB:
6*9880d681SAndroid Build Coastguard Worker  %A4 = alloca i8
7*9880d681SAndroid Build Coastguard Worker  %A = alloca <1 x ppc_fp128>
8*9880d681SAndroid Build Coastguard Worker  %Shuff = shufflevector <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <16 x i32> <i32 7, i32 9, i32 11, i32 13, i32 15, i32 17, i32 19, i32 21, i32 23, i32 25, i32 undef, i32 29, i32 31, i32 1, i32 3, i32 5>
9*9880d681SAndroid Build Coastguard Worker  br label %CF
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard WorkerCF:                                               ; preds = %CF80, %CF, %BB
12*9880d681SAndroid Build Coastguard Worker  %L5 = load i64, i64* undef
13*9880d681SAndroid Build Coastguard Worker  store i8 %0, i8* %A4
14*9880d681SAndroid Build Coastguard Worker  %Shuff7 = shufflevector <16 x i32> <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, <16 x i32> %Shuff, <16 x i32> <i32 28, i32 30, i32 0, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 undef, i32 20, i32 22, i32 24, i32 26>
15*9880d681SAndroid Build Coastguard Worker  %PC10 = bitcast i8* %A4 to ppc_fp128*
16*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF, label %CF77
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard WorkerCF77:                                             ; preds = %CF81, %CF83, %CF77, %CF
19*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF77, label %CF82
20*9880d681SAndroid Build Coastguard Worker
21*9880d681SAndroid Build Coastguard WorkerCF82:                                             ; preds = %CF82, %CF77
22*9880d681SAndroid Build Coastguard Worker  %L19 = load i64, i64* undef
23*9880d681SAndroid Build Coastguard Worker  store <1 x ppc_fp128> zeroinitializer, <1 x ppc_fp128>* %A
24*9880d681SAndroid Build Coastguard Worker  store i8 -65, i8* %A4
25*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF82, label %CF83
26*9880d681SAndroid Build Coastguard Worker
27*9880d681SAndroid Build Coastguard WorkerCF83:                                             ; preds = %CF82
28*9880d681SAndroid Build Coastguard Worker  %L34 = load i64, i64* undef
29*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF77, label %CF81
30*9880d681SAndroid Build Coastguard Worker
31*9880d681SAndroid Build Coastguard WorkerCF81:                                             ; preds = %CF83
32*9880d681SAndroid Build Coastguard Worker  %Shuff43 = shufflevector <16 x i32> %Shuff7, <16 x i32> undef, <16 x i32> <i32 15, i32 17, i32 19, i32 21, i32 23, i32 undef, i32 undef, i32 29, i32 31, i32 undef, i32 3, i32 5, i32 7, i32 9, i32 11, i32 13>
33*9880d681SAndroid Build Coastguard Worker  store ppc_fp128 0xM00000000000000000000000000000000, ppc_fp128* %PC10
34*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF77, label %CF78
35*9880d681SAndroid Build Coastguard Worker
36*9880d681SAndroid Build Coastguard WorkerCF78:                                             ; preds = %CF78, %CF81
37*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF78, label %CF79
38*9880d681SAndroid Build Coastguard Worker
39*9880d681SAndroid Build Coastguard WorkerCF79:                                             ; preds = %CF79, %CF78
40*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF79, label %CF80
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard WorkerCF80:                                             ; preds = %CF79
43*9880d681SAndroid Build Coastguard Worker  store i64 %L19, i64* undef
44*9880d681SAndroid Build Coastguard Worker  %Cmp75 = icmp uge i32 206779, undef
45*9880d681SAndroid Build Coastguard Worker  br i1 %Cmp75, label %CF, label %CF76
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard WorkerCF76:                                             ; preds = %CF80
48*9880d681SAndroid Build Coastguard Worker  store i64 %L5, i64* undef
49*9880d681SAndroid Build Coastguard Worker  store i64 %L34, i64* undef
50*9880d681SAndroid Build Coastguard Worker  ret void
51*9880d681SAndroid Build Coastguard Worker}
52*9880d681SAndroid Build Coastguard Worker
53*9880d681SAndroid Build Coastguard Workerdefine void @autogen_SD88042(i8*, i32*, i8) {
54*9880d681SAndroid Build Coastguard WorkerBB:
55*9880d681SAndroid Build Coastguard Worker  %A4 = alloca <2 x i1>
56*9880d681SAndroid Build Coastguard Worker  %A = alloca <16 x float>
57*9880d681SAndroid Build Coastguard Worker  %L = load i8, i8* %0
58*9880d681SAndroid Build Coastguard Worker  %Sl = select i1 false, <16 x float>* %A, <16 x float>* %A
59*9880d681SAndroid Build Coastguard Worker  %PC = bitcast <2 x i1>* %A4 to i64*
60*9880d681SAndroid Build Coastguard Worker  %Sl27 = select i1 false, i8 undef, i8 %L
61*9880d681SAndroid Build Coastguard Worker  br label %CF
62*9880d681SAndroid Build Coastguard Worker
63*9880d681SAndroid Build Coastguard WorkerCF:                                               ; preds = %CF78, %CF, %BB
64*9880d681SAndroid Build Coastguard Worker  %PC33 = bitcast i32* %1 to i32*
65*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF, label %CF77
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard WorkerCF77:                                             ; preds = %CF80, %CF77, %CF
68*9880d681SAndroid Build Coastguard Worker  store <16 x float> zeroinitializer, <16 x float>* %Sl
69*9880d681SAndroid Build Coastguard Worker  %L58 = load i32, i32* %PC33
70*9880d681SAndroid Build Coastguard Worker  store i8 0, i8* %0
71*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF77, label %CF80
72*9880d681SAndroid Build Coastguard Worker
73*9880d681SAndroid Build Coastguard WorkerCF80:                                             ; preds = %CF77
74*9880d681SAndroid Build Coastguard Worker  store i64 0, i64* %PC
75*9880d681SAndroid Build Coastguard Worker  %E67 = extractelement <8 x i1> zeroinitializer, i32 1
76*9880d681SAndroid Build Coastguard Worker  br i1 %E67, label %CF77, label %CF78
77*9880d681SAndroid Build Coastguard Worker
78*9880d681SAndroid Build Coastguard WorkerCF78:                                             ; preds = %CF80
79*9880d681SAndroid Build Coastguard Worker  %Cmp73 = icmp eq i32 189865, %L58
80*9880d681SAndroid Build Coastguard Worker  br i1 %Cmp73, label %CF, label %CF76
81*9880d681SAndroid Build Coastguard Worker
82*9880d681SAndroid Build Coastguard WorkerCF76:                                             ; preds = %CF78
83*9880d681SAndroid Build Coastguard Worker  store i8 %2, i8* %0
84*9880d681SAndroid Build Coastguard Worker  store i8 %Sl27, i8* %0
85*9880d681SAndroid Build Coastguard Worker  ret void
86*9880d681SAndroid Build Coastguard Worker}
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Workerdefine void @autogen_SD37497(i8*, i32*, i64*) {
89*9880d681SAndroid Build Coastguard WorkerBB:
90*9880d681SAndroid Build Coastguard Worker  %A1 = alloca i1
91*9880d681SAndroid Build Coastguard Worker  %I8 = insertelement <1 x i32> <i32 -1>, i32 454855, i32 0
92*9880d681SAndroid Build Coastguard Worker  %Cmp = icmp ult <4 x i64> <i64 -1, i64 -1, i64 -1, i64 -1>, undef
93*9880d681SAndroid Build Coastguard Worker  %L10 = load i64, i64* %2
94*9880d681SAndroid Build Coastguard Worker  %E11 = extractelement <4 x i1> %Cmp, i32 2
95*9880d681SAndroid Build Coastguard Worker  br label %CF72
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard WorkerCF72:                                             ; preds = %CF74, %CF72, %BB
98*9880d681SAndroid Build Coastguard Worker  store double 0xB47BB29A53790718, double* undef
99*9880d681SAndroid Build Coastguard Worker  %E18 = extractelement <1 x i32> <i32 -1>, i32 0
100*9880d681SAndroid Build Coastguard Worker  %FC22 = sitofp <1 x i32> %I8 to <1 x float>
101*9880d681SAndroid Build Coastguard Worker  br i1 undef, label %CF72, label %CF74
102*9880d681SAndroid Build Coastguard Worker
103*9880d681SAndroid Build Coastguard WorkerCF74:                                             ; preds = %CF72
104*9880d681SAndroid Build Coastguard Worker  store i8 0, i8* %0
105*9880d681SAndroid Build Coastguard Worker  %PC = bitcast i1* %A1 to i64*
106*9880d681SAndroid Build Coastguard Worker  %L31 = load i64, i64* %PC
107*9880d681SAndroid Build Coastguard Worker  store i64 477323, i64* %PC
108*9880d681SAndroid Build Coastguard Worker  %Sl37 = select i1 false, i32* undef, i32* %1
109*9880d681SAndroid Build Coastguard Worker  %Cmp38 = icmp ugt i1 undef, undef
110*9880d681SAndroid Build Coastguard Worker  br i1 %Cmp38, label %CF72, label %CF73
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard WorkerCF73:                                             ; preds = %CF74
113*9880d681SAndroid Build Coastguard Worker  store i64 %L31, i64* %PC
114*9880d681SAndroid Build Coastguard Worker  %B55 = fdiv <1 x float> undef, %FC22
115*9880d681SAndroid Build Coastguard Worker  %Sl63 = select i1 %E11, i32* undef, i32* %Sl37
116*9880d681SAndroid Build Coastguard Worker  store i32 %E18, i32* %Sl63
117*9880d681SAndroid Build Coastguard Worker  store i64 %L10, i64* %PC
118*9880d681SAndroid Build Coastguard Worker  ret void
119*9880d681SAndroid Build Coastguard Worker}
120