@@ -170,8 +170,7 @@ define half @sint_to_fptrunc(i32 %x) {
170
170
define half @masked_sint_to_fptrunc1 (i32 %x ) {
171
171
; CHECK-LABEL: @masked_sint_to_fptrunc1(
172
172
; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 16777215
173
- ; CHECK-NEXT: [[F:%.*]] = sitofp i32 [[M]] to float
174
- ; CHECK-NEXT: [[R:%.*]] = fptrunc float [[F]] to half
173
+ ; CHECK-NEXT: [[R:%.*]] = sitofp i32 [[M]] to half
175
174
; CHECK-NEXT: ret half [[R]]
176
175
;
177
176
%m = and i32 %x , 16777215
@@ -183,8 +182,7 @@ define half @masked_sint_to_fptrunc1(i32 %x) {
183
182
define half @masked_sint_to_fptrunc2 (i32 %x ) {
184
183
; CHECK-LABEL: @masked_sint_to_fptrunc2(
185
184
; CHECK-NEXT: [[M:%.*]] = lshr i32 [[X:%.*]], 8
186
- ; CHECK-NEXT: [[F:%.*]] = sitofp i32 [[M]] to float
187
- ; CHECK-NEXT: [[R:%.*]] = fptrunc float [[F]] to half
185
+ ; CHECK-NEXT: [[R:%.*]] = sitofp i32 [[M]] to half
188
186
; CHECK-NEXT: ret half [[R]]
189
187
;
190
188
%m = lshr i32 %x , 8
@@ -220,8 +218,7 @@ define double @sint_to_fpext(i32 %x) {
220
218
define double @masked_sint_to_fpext1 (i32 %x ) {
221
219
; CHECK-LABEL: @masked_sint_to_fpext1(
222
220
; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 16777215
223
- ; CHECK-NEXT: [[F:%.*]] = sitofp i32 [[M]] to float
224
- ; CHECK-NEXT: [[R:%.*]] = fpext float [[F]] to double
221
+ ; CHECK-NEXT: [[R:%.*]] = sitofp i32 [[M]] to double
225
222
; CHECK-NEXT: ret double [[R]]
226
223
;
227
224
%m = and i32 %x , 16777215
@@ -233,8 +230,7 @@ define double @masked_sint_to_fpext1(i32 %x) {
233
230
define double @masked_sint_to_fpext2 (i32 %x ) {
234
231
; CHECK-LABEL: @masked_sint_to_fpext2(
235
232
; CHECK-NEXT: [[M:%.*]] = lshr i32 [[X:%.*]], 8
236
- ; CHECK-NEXT: [[F:%.*]] = sitofp i32 [[M]] to float
237
- ; CHECK-NEXT: [[R:%.*]] = fpext float [[F]] to double
233
+ ; CHECK-NEXT: [[R:%.*]] = sitofp i32 [[M]] to double
238
234
; CHECK-NEXT: ret double [[R]]
239
235
;
240
236
%m = lshr i32 %x , 8
@@ -270,8 +266,7 @@ define half @uint_to_fptrunc(i32 %x) {
270
266
define half @masked_uint_to_fptrunc1 (i32 %x ) {
271
267
; CHECK-LABEL: @masked_uint_to_fptrunc1(
272
268
; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 16777215
273
- ; CHECK-NEXT: [[F:%.*]] = uitofp i32 [[M]] to float
274
- ; CHECK-NEXT: [[R:%.*]] = fptrunc float [[F]] to half
269
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i32 [[M]] to half
275
270
; CHECK-NEXT: ret half [[R]]
276
271
;
277
272
%m = and i32 %x , 16777215
@@ -283,8 +278,7 @@ define half @masked_uint_to_fptrunc1(i32 %x) {
283
278
define half @masked_uint_to_fptrunc2 (i32 %x ) {
284
279
; CHECK-LABEL: @masked_uint_to_fptrunc2(
285
280
; CHECK-NEXT: [[M:%.*]] = lshr i32 [[X:%.*]], 8
286
- ; CHECK-NEXT: [[F:%.*]] = uitofp i32 [[M]] to float
287
- ; CHECK-NEXT: [[R:%.*]] = fptrunc float [[F]] to half
281
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i32 [[M]] to half
288
282
; CHECK-NEXT: ret half [[R]]
289
283
;
290
284
%m = lshr i32 %x , 8
@@ -320,8 +314,7 @@ define double @uint_to_fpext(i32 %x) {
320
314
define double @masked_uint_to_fpext1 (i32 %x ) {
321
315
; CHECK-LABEL: @masked_uint_to_fpext1(
322
316
; CHECK-NEXT: [[M:%.*]] = and i32 [[X:%.*]], 16777215
323
- ; CHECK-NEXT: [[F:%.*]] = uitofp i32 [[M]] to float
324
- ; CHECK-NEXT: [[R:%.*]] = fpext float [[F]] to double
317
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i32 [[M]] to double
325
318
; CHECK-NEXT: ret double [[R]]
326
319
;
327
320
%m = and i32 %x , 16777215
@@ -333,8 +326,7 @@ define double @masked_uint_to_fpext1(i32 %x) {
333
326
define double @masked_uint_to_fpext2 (i32 %x ) {
334
327
; CHECK-LABEL: @masked_uint_to_fpext2(
335
328
; CHECK-NEXT: [[M:%.*]] = lshr i32 [[X:%.*]], 8
336
- ; CHECK-NEXT: [[F:%.*]] = uitofp i32 [[M]] to float
337
- ; CHECK-NEXT: [[R:%.*]] = fpext float [[F]] to double
329
+ ; CHECK-NEXT: [[R:%.*]] = uitofp i32 [[M]] to double
338
330
; CHECK-NEXT: ret double [[R]]
339
331
;
340
332
%m = lshr i32 %x , 8
0 commit comments