@@ -17,14 +17,13 @@ define bfloat @select_fcmp_false(bfloat %a, bfloat %b) nounwind {
17
17
define bfloat @select_fcmp_oeq (bfloat %a , bfloat %b ) nounwind {
18
18
; CHECK-LABEL: select_fcmp_oeq:
19
19
; CHECK: # %bb.0:
20
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
21
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
22
- ; CHECK-NEXT: feq.s a0, fa5, fa4
20
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
21
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
22
+ ; CHECK-NEXT: feq.s a0, fa4, fa5
23
23
; CHECK-NEXT: bnez a0, .LBB1_2
24
24
; CHECK-NEXT: # %bb.1:
25
- ; CHECK-NEXT: fmv.s fa5, fa4
25
+ ; CHECK-NEXT: fmv.s fa0, fa1
26
26
; CHECK-NEXT: .LBB1_2:
27
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
28
27
; CHECK-NEXT: ret
29
28
%1 = fcmp oeq bfloat %a , %b
30
29
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -39,9 +38,8 @@ define bfloat @select_fcmp_ogt(bfloat %a, bfloat %b) nounwind {
39
38
; CHECK-NEXT: flt.s a0, fa4, fa5
40
39
; CHECK-NEXT: bnez a0, .LBB2_2
41
40
; CHECK-NEXT: # %bb.1:
42
- ; CHECK-NEXT: fmv.s fa5, fa4
41
+ ; CHECK-NEXT: fmv.s fa0, fa1
43
42
; CHECK-NEXT: .LBB2_2:
44
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
45
43
; CHECK-NEXT: ret
46
44
%1 = fcmp ogt bfloat %a , %b
47
45
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -56,9 +54,8 @@ define bfloat @select_fcmp_oge(bfloat %a, bfloat %b) nounwind {
56
54
; CHECK-NEXT: fle.s a0, fa4, fa5
57
55
; CHECK-NEXT: bnez a0, .LBB3_2
58
56
; CHECK-NEXT: # %bb.1:
59
- ; CHECK-NEXT: fmv.s fa5, fa4
57
+ ; CHECK-NEXT: fmv.s fa0, fa1
60
58
; CHECK-NEXT: .LBB3_2:
61
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
62
59
; CHECK-NEXT: ret
63
60
%1 = fcmp oge bfloat %a , %b
64
61
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -68,14 +65,13 @@ define bfloat @select_fcmp_oge(bfloat %a, bfloat %b) nounwind {
68
65
define bfloat @select_fcmp_olt (bfloat %a , bfloat %b ) nounwind {
69
66
; CHECK-LABEL: select_fcmp_olt:
70
67
; CHECK: # %bb.0:
71
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
72
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
73
- ; CHECK-NEXT: flt.s a0, fa5, fa4
68
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
69
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
70
+ ; CHECK-NEXT: flt.s a0, fa4, fa5
74
71
; CHECK-NEXT: bnez a0, .LBB4_2
75
72
; CHECK-NEXT: # %bb.1:
76
- ; CHECK-NEXT: fmv.s fa5, fa4
73
+ ; CHECK-NEXT: fmv.s fa0, fa1
77
74
; CHECK-NEXT: .LBB4_2:
78
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
79
75
; CHECK-NEXT: ret
80
76
%1 = fcmp olt bfloat %a , %b
81
77
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -85,14 +81,13 @@ define bfloat @select_fcmp_olt(bfloat %a, bfloat %b) nounwind {
85
81
define bfloat @select_fcmp_ole (bfloat %a , bfloat %b ) nounwind {
86
82
; CHECK-LABEL: select_fcmp_ole:
87
83
; CHECK: # %bb.0:
88
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
89
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
90
- ; CHECK-NEXT: fle.s a0, fa5, fa4
84
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
85
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
86
+ ; CHECK-NEXT: fle.s a0, fa4, fa5
91
87
; CHECK-NEXT: bnez a0, .LBB5_2
92
88
; CHECK-NEXT: # %bb.1:
93
- ; CHECK-NEXT: fmv.s fa5, fa4
89
+ ; CHECK-NEXT: fmv.s fa0, fa1
94
90
; CHECK-NEXT: .LBB5_2:
95
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
96
91
; CHECK-NEXT: ret
97
92
%1 = fcmp ole bfloat %a , %b
98
93
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -102,16 +97,15 @@ define bfloat @select_fcmp_ole(bfloat %a, bfloat %b) nounwind {
102
97
define bfloat @select_fcmp_one (bfloat %a , bfloat %b ) nounwind {
103
98
; CHECK-LABEL: select_fcmp_one:
104
99
; CHECK: # %bb.0:
105
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
106
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
107
- ; CHECK-NEXT: flt.s a0, fa5, fa4
108
- ; CHECK-NEXT: flt.s a1, fa4, fa5
100
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
101
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
102
+ ; CHECK-NEXT: flt.s a0, fa4, fa5
103
+ ; CHECK-NEXT: flt.s a1, fa5, fa4
109
104
; CHECK-NEXT: or a0, a1, a0
110
105
; CHECK-NEXT: bnez a0, .LBB6_2
111
106
; CHECK-NEXT: # %bb.1:
112
- ; CHECK-NEXT: fmv.s fa5, fa4
107
+ ; CHECK-NEXT: fmv.s fa0, fa1
113
108
; CHECK-NEXT: .LBB6_2:
114
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
115
109
; CHECK-NEXT: ret
116
110
%1 = fcmp one bfloat %a , %b
117
111
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -123,14 +117,13 @@ define bfloat @select_fcmp_ord(bfloat %a, bfloat %b) nounwind {
123
117
; CHECK: # %bb.0:
124
118
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
125
119
; CHECK-NEXT: feq.s a0, fa5, fa5
126
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
127
- ; CHECK-NEXT: feq.s a1, fa4, fa4
120
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
121
+ ; CHECK-NEXT: feq.s a1, fa5, fa5
128
122
; CHECK-NEXT: and a0, a1, a0
129
123
; CHECK-NEXT: bnez a0, .LBB7_2
130
124
; CHECK-NEXT: # %bb.1:
131
- ; CHECK-NEXT: fmv.s fa4, fa5
125
+ ; CHECK-NEXT: fmv.s fa0, fa1
132
126
; CHECK-NEXT: .LBB7_2:
133
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa4
134
127
; CHECK-NEXT: ret
135
128
%1 = fcmp ord bfloat %a , %b
136
129
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -140,16 +133,15 @@ define bfloat @select_fcmp_ord(bfloat %a, bfloat %b) nounwind {
140
133
define bfloat @select_fcmp_ueq (bfloat %a , bfloat %b ) nounwind {
141
134
; CHECK-LABEL: select_fcmp_ueq:
142
135
; CHECK: # %bb.0:
143
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
144
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
145
- ; CHECK-NEXT: flt.s a0, fa5, fa4
146
- ; CHECK-NEXT: flt.s a1, fa4, fa5
136
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
137
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
138
+ ; CHECK-NEXT: flt.s a0, fa4, fa5
139
+ ; CHECK-NEXT: flt.s a1, fa5, fa4
147
140
; CHECK-NEXT: or a0, a1, a0
148
141
; CHECK-NEXT: beqz a0, .LBB8_2
149
142
; CHECK-NEXT: # %bb.1:
150
- ; CHECK-NEXT: fmv.s fa5, fa4
143
+ ; CHECK-NEXT: fmv.s fa0, fa1
151
144
; CHECK-NEXT: .LBB8_2:
152
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
153
145
; CHECK-NEXT: ret
154
146
%1 = fcmp ueq bfloat %a , %b
155
147
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -159,14 +151,13 @@ define bfloat @select_fcmp_ueq(bfloat %a, bfloat %b) nounwind {
159
151
define bfloat @select_fcmp_ugt (bfloat %a , bfloat %b ) nounwind {
160
152
; CHECK-LABEL: select_fcmp_ugt:
161
153
; CHECK: # %bb.0:
162
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
163
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
164
- ; CHECK-NEXT: fle.s a0, fa5, fa4
154
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
155
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
156
+ ; CHECK-NEXT: fle.s a0, fa4, fa5
165
157
; CHECK-NEXT: beqz a0, .LBB9_2
166
158
; CHECK-NEXT: # %bb.1:
167
- ; CHECK-NEXT: fmv.s fa5, fa4
159
+ ; CHECK-NEXT: fmv.s fa0, fa1
168
160
; CHECK-NEXT: .LBB9_2:
169
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
170
161
; CHECK-NEXT: ret
171
162
%1 = fcmp ugt bfloat %a , %b
172
163
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -176,14 +167,13 @@ define bfloat @select_fcmp_ugt(bfloat %a, bfloat %b) nounwind {
176
167
define bfloat @select_fcmp_uge (bfloat %a , bfloat %b ) nounwind {
177
168
; CHECK-LABEL: select_fcmp_uge:
178
169
; CHECK: # %bb.0:
179
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
180
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
181
- ; CHECK-NEXT: flt.s a0, fa5, fa4
170
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
171
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
172
+ ; CHECK-NEXT: flt.s a0, fa4, fa5
182
173
; CHECK-NEXT: beqz a0, .LBB10_2
183
174
; CHECK-NEXT: # %bb.1:
184
- ; CHECK-NEXT: fmv.s fa5, fa4
175
+ ; CHECK-NEXT: fmv.s fa0, fa1
185
176
; CHECK-NEXT: .LBB10_2:
186
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
187
177
; CHECK-NEXT: ret
188
178
%1 = fcmp uge bfloat %a , %b
189
179
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -198,9 +188,8 @@ define bfloat @select_fcmp_ult(bfloat %a, bfloat %b) nounwind {
198
188
; CHECK-NEXT: fle.s a0, fa4, fa5
199
189
; CHECK-NEXT: beqz a0, .LBB11_2
200
190
; CHECK-NEXT: # %bb.1:
201
- ; CHECK-NEXT: fmv.s fa5, fa4
191
+ ; CHECK-NEXT: fmv.s fa0, fa1
202
192
; CHECK-NEXT: .LBB11_2:
203
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
204
193
; CHECK-NEXT: ret
205
194
%1 = fcmp ult bfloat %a , %b
206
195
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -215,9 +204,8 @@ define bfloat @select_fcmp_ule(bfloat %a, bfloat %b) nounwind {
215
204
; CHECK-NEXT: flt.s a0, fa4, fa5
216
205
; CHECK-NEXT: beqz a0, .LBB12_2
217
206
; CHECK-NEXT: # %bb.1:
218
- ; CHECK-NEXT: fmv.s fa5, fa4
207
+ ; CHECK-NEXT: fmv.s fa0, fa1
219
208
; CHECK-NEXT: .LBB12_2:
220
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
221
209
; CHECK-NEXT: ret
222
210
%1 = fcmp ule bfloat %a , %b
223
211
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -227,14 +215,13 @@ define bfloat @select_fcmp_ule(bfloat %a, bfloat %b) nounwind {
227
215
define bfloat @select_fcmp_une (bfloat %a , bfloat %b ) nounwind {
228
216
; CHECK-LABEL: select_fcmp_une:
229
217
; CHECK: # %bb.0:
230
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa1
231
- ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
232
- ; CHECK-NEXT: feq.s a0, fa5, fa4
218
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa1
219
+ ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
220
+ ; CHECK-NEXT: feq.s a0, fa4, fa5
233
221
; CHECK-NEXT: beqz a0, .LBB13_2
234
222
; CHECK-NEXT: # %bb.1:
235
- ; CHECK-NEXT: fmv.s fa5, fa4
223
+ ; CHECK-NEXT: fmv.s fa0, fa1
236
224
; CHECK-NEXT: .LBB13_2:
237
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa5
238
225
; CHECK-NEXT: ret
239
226
%1 = fcmp une bfloat %a , %b
240
227
%2 = select i1 %1 , bfloat %a , bfloat %b
@@ -246,14 +233,13 @@ define bfloat @select_fcmp_uno(bfloat %a, bfloat %b) nounwind {
246
233
; CHECK: # %bb.0:
247
234
; CHECK-NEXT: fcvt.s.bf16 fa5, fa1
248
235
; CHECK-NEXT: feq.s a0, fa5, fa5
249
- ; CHECK-NEXT: fcvt.s.bf16 fa4 , fa0
250
- ; CHECK-NEXT: feq.s a1, fa4, fa4
236
+ ; CHECK-NEXT: fcvt.s.bf16 fa5 , fa0
237
+ ; CHECK-NEXT: feq.s a1, fa5, fa5
251
238
; CHECK-NEXT: and a0, a1, a0
252
239
; CHECK-NEXT: beqz a0, .LBB14_2
253
240
; CHECK-NEXT: # %bb.1:
254
- ; CHECK-NEXT: fmv.s fa4, fa5
241
+ ; CHECK-NEXT: fmv.s fa0, fa1
255
242
; CHECK-NEXT: .LBB14_2:
256
- ; CHECK-NEXT: fcvt.bf16.s fa0, fa4
257
243
; CHECK-NEXT: ret
258
244
%1 = fcmp uno bfloat %a , %b
259
245
%2 = select i1 %1 , bfloat %a , bfloat %b
0 commit comments