@@ -228,145 +228,145 @@ void foo(void) {
228
228
// CHECK-LLVM-NEXT: %{{.+}} = fsub half %{{.+}}, %[[#A]]
229
229
230
230
test = (h2 < h0 );
231
- // CHECK: %[[#A:]] = cir.cmp(lt, %{{.+}}, %{{.+}}) : !cir.f16, !s32i
231
+ // CHECK: %[[#A:]] = cir.cmp(lt, %{{.+}}, %{{.+}}) : !cir.f16, !cir.bool
232
232
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#A]] : !s32i), !u32i
233
233
234
234
// CHECK-LLVM: %{{.+}} = fcmp olt half %{{.+}}, %{{.+}}
235
235
236
236
test = (h2 < (__fp16 )42.0 );
237
237
// CHECK: %[[#A:]] = cir.const #cir.fp<4.200000e+01> : !cir.double
238
238
// CHECK-NEXT: %[[#B:]] = cir.cast(floating, %[[#A]] : !cir.double), !cir.f16
239
- // CHECK-NEXT: %[[#C:]] = cir.cmp(lt, %{{.+}}, %[[#B]]) : !cir.f16, !s32i
239
+ // CHECK-NEXT: %[[#C:]] = cir.cmp(lt, %{{.+}}, %[[#B]]) : !cir.f16, !cir.bool
240
240
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#C]] : !s32i), !u32i
241
241
242
242
// CHECK-LLVM: %{{.+}} = fcmp olt half %{{.+}}, 0xH5140
243
243
244
244
test = (h2 < f0 );
245
245
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
246
- // CHECK: %[[#B:]] = cir.cmp(lt, %[[#A]], %{{.+}}) : !cir.float, !s32i
246
+ // CHECK: %[[#B:]] = cir.cmp(lt, %[[#A]], %{{.+}}) : !cir.float, !cir.bool
247
247
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
248
248
249
249
// CHECK-LLVM: %[[#A:]] = fpext half %{{.+}} to float
250
250
// CHECK-LLVM: %{{.+}} = fcmp olt float %[[#A]], %{{.+}}
251
251
252
252
test = (f2 < h0 );
253
253
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
254
- // CHECK-NEXT: %[[#B:]] = cir.cmp(lt, %{{.+}}, %[[#A]]) : !cir.float, !s32i
254
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(lt, %{{.+}}, %[[#A]]) : !cir.float, !cir.bool
255
255
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
256
256
257
257
// CHECK-LLVM: %[[#A:]] = fpext half %{{.=}} to float
258
258
// CHECK-LLVM-NEXT: %{{.+}} = fcmp olt float %{{.+}}, %[[#A]]
259
259
260
260
test = (i0 < h0 );
261
261
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
262
- // CHECK: %[[#B:]] = cir.cmp(lt, %[[#A]], %{{.+}}) : !cir.f16, !s32i
262
+ // CHECK: %[[#B:]] = cir.cmp(lt, %[[#A]], %{{.+}}) : !cir.f16, !cir.bool
263
263
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
264
264
265
265
// CHECK-LLVM: %[[#A:]] = sitofp i32 %{{.+}} to half
266
266
// CHECK-LLVM: %{{.+}} = fcmp olt half %[[#A]], %{{.+}}
267
267
268
268
test = (h0 < i0 );
269
269
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
270
- // CHECK-NEXT: %[[#B:]] = cir.cmp(lt, %{{.+}}, %[[#A]]) : !cir.f16, !s32i
270
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(lt, %{{.+}}, %[[#A]]) : !cir.f16, !cir.bool
271
271
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
272
272
273
273
// CHECK-LLVM: %[[#A:]] = sitofp i32 %{{.+}} to half
274
274
// CHECK-LLVM-NEXT: %{{.+}} = fcmp olt half %{{.+}}, %[[#A]]
275
275
276
276
test = (h0 > h2 );
277
- // CHECK: %[[#A:]] = cir.cmp(gt, %{{.+}}, %{{.+}}) : !cir.f16, !s32i
277
+ // CHECK: %[[#A:]] = cir.cmp(gt, %{{.+}}, %{{.+}}) : !cir.f16, !cir.bool
278
278
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#A]] : !s32i), !u32i
279
279
280
280
// CHECK-LLVM: %{{.+}} = fcmp ogt half %{{.+}}, %{{.+}}
281
281
282
282
test = ((__fp16 )42.0 > h2 );
283
283
// CHECK: %[[#A:]] = cir.const #cir.fp<4.200000e+01> : !cir.double
284
284
// CHECK-NEXT: %[[#B:]] = cir.cast(floating, %[[#A]] : !cir.double), !cir.f16
285
- // CHECK: %[[#C:]] = cir.cmp(gt, %[[#B]], %{{.+}}) : !cir.f16, !s32i
285
+ // CHECK: %[[#C:]] = cir.cmp(gt, %[[#B]], %{{.+}}) : !cir.f16, !cir.bool
286
286
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#C]] : !s32i), !u32i
287
287
288
288
// CHECK-LLVM: %{{.+}} = fcmp ogt half 0xH5140, %{{.+}}
289
289
290
290
test = (h0 > f2 );
291
291
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
292
- // CHECK: %[[#B:]] = cir.cmp(gt, %[[#A]], %{{.+}}) : !cir.float, !s32i
292
+ // CHECK: %[[#B:]] = cir.cmp(gt, %[[#A]], %{{.+}}) : !cir.float, !cir.bool
293
293
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
294
294
295
295
// CHECK-LLVM: %[[#LHS:]] = fpext half %{{.=}} to float
296
296
// CHECK-LLVM: %{{.+}} = fcmp ogt float %[[#LHS]], %{{.+}}
297
297
298
298
test = (f0 > h2 );
299
299
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
300
- // CHECK-NEXT: %[[#B:]] = cir.cmp(gt, %{{.+}}, %[[#A]]) : !cir.float, !s32i
300
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(gt, %{{.+}}, %[[#A]]) : !cir.float, !cir.bool
301
301
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
302
302
303
303
// CHECK-LLVM: %[[#RHS:]] = fpext half %{{.+}} to float
304
304
// CHECK-LLVM-NEXT: %{{.+}} = fcmp ogt float %{{.+}}, %[[#RHS]]
305
305
306
306
test = (i0 > h0 );
307
307
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
308
- // CHECK: %[[#B:]] = cir.cmp(gt, %[[#A]], %{{.+}}) : !cir.f16, !s32i
308
+ // CHECK: %[[#B:]] = cir.cmp(gt, %[[#A]], %{{.+}}) : !cir.f16, !cir.bool
309
309
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
310
310
311
311
// CHECK-LLVM: %[[#LHS:]] = sitofp i32 %{{.+}} to half
312
312
// CHECK-LLVM: %{{.+}} = fcmp ogt half %[[#LHS]], %{{.+}}
313
313
314
314
test = (h0 > i0 );
315
315
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
316
- // CHECK-NEXT: %[[#B:]] = cir.cmp(gt, %{{.+}}, %[[#A]]) : !cir.f16, !s32i
316
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(gt, %{{.+}}, %[[#A]]) : !cir.f16, !cir.bool
317
317
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
318
318
319
319
// CHECK-LLVM: %[[#RHS:]] = sitofp i32 %{{.+}} to half
320
320
// CHECK-LLVM-NEXT: %{{.+}} = fcmp ogt half %{{.+}}, %[[#RHS]]
321
321
322
322
test = (h2 <= h0 );
323
- // CHECK: %[[#A:]] = cir.cmp(le, %{{.+}}, %{{.+}}) : !cir.f16, !s32i
323
+ // CHECK: %[[#A:]] = cir.cmp(le, %{{.+}}, %{{.+}}) : !cir.f16, !cir.bool
324
324
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#A]] : !s32i), !u32i
325
325
326
326
// CHECK-LLVM: %{{.+}} = fcmp ole half %{{.+}}, %{{.+}}
327
327
328
328
test = (h2 <= (__fp16 )42.0 );
329
329
// CHECK: %[[#A:]] = cir.const #cir.fp<4.200000e+01> : !cir.double
330
330
// CHECK-NEXT: %[[#B:]] = cir.cast(floating, %[[#A]] : !cir.double), !cir.f16
331
- // CHECK-NEXT: %[[#C:]] = cir.cmp(le, %{{.+}}, %[[#B]]) : !cir.f16, !s32i
331
+ // CHECK-NEXT: %[[#C:]] = cir.cmp(le, %{{.+}}, %[[#B]]) : !cir.f16, !cir.bool
332
332
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#C]] : !s32i), !u32i
333
333
334
334
// CHECK-LLVM: %{{.+}} = fcmp ole half %{{.+}}, 0xH5140
335
335
336
336
test = (h2 <= f0 );
337
337
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
338
- // CHECK: %[[#B:]] = cir.cmp(le, %[[#A]], %{{.+}}) : !cir.float, !s32i
338
+ // CHECK: %[[#B:]] = cir.cmp(le, %[[#A]], %{{.+}}) : !cir.float, !cir.bool
339
339
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
340
340
341
341
// CHECK-LLVM: %[[#LHS:]] = fpext half %{{.+}} to float
342
342
// CHECK-LLVM: %{{.+}} = fcmp ole float %[[#LHS]], %{{.+}}
343
343
344
344
test = (f2 <= h0 );
345
345
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
346
- // CHECK-NEXT: %[[#B:]] = cir.cmp(le, %{{.+}}, %[[#A]]) : !cir.float, !s32i
346
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(le, %{{.+}}, %[[#A]]) : !cir.float, !cir.bool
347
347
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
348
348
349
349
// CHECK-LLVM: %[[#RHS:]] = fpext half %{{.+}} to float
350
350
// CHECK-LLVM-NEXT: %{{.+}} = fcmp ole float %{{.+}}, %[[#RHS]]
351
351
352
352
test = (i0 <= h0 );
353
353
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
354
- // CHECK: %[[#B:]] = cir.cmp(le, %[[#A]], %{{.+}}) : !cir.f16, !s32i
354
+ // CHECK: %[[#B:]] = cir.cmp(le, %[[#A]], %{{.+}}) : !cir.f16, !cir.bool
355
355
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
356
356
357
357
// CHECK-LLVM: %[[#LHS:]] = sitofp i32 %{{.+}} to half
358
358
// CHECK-LLVM: %{{.+}} = fcmp ole half %[[#LHS]], %{{.+}}
359
359
360
360
test = (h0 <= i0 );
361
361
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
362
- // CHECK-NEXT: %[[#B:]] = cir.cmp(le, %{{.+}}, %[[#A]]) : !cir.f16, !s32i
362
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(le, %{{.+}}, %[[#A]]) : !cir.f16, !cir.bool
363
363
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
364
364
365
365
// CHECK-LLVM: %[[#RHS:]] = sitofp i32 %{{.+}} to half
366
366
// CHECK-LLVM-NEXT: %{{.+}} = fcmp ole half %{{.+}}, %[[#RHS]]
367
367
368
368
test = (h0 >= h2 );
369
- // CHECK: %[[#A:]] = cir.cmp(ge, %{{.+}}, %{{.+}}) : !cir.f16, !s32i
369
+ // CHECK: %[[#A:]] = cir.cmp(ge, %{{.+}}, %{{.+}}) : !cir.f16, !cir.bool
370
370
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#A]] : !s32i), !u32i
371
371
372
372
// CHECK-LLVM: %{{.+}} = fcmp oge half %{{.+}}, %{{.+}}
@@ -375,130 +375,130 @@ void foo(void) {
375
375
// CHECK: %[[#A:]] = cir.const #cir.fp<2.000000e+00> : !cir.double
376
376
// CHECK-NEXT: %[[#B:]] = cir.unary(minus, %[[#A]]) : !cir.double, !cir.double
377
377
// CHECK-NEXT: %[[#C:]] = cir.cast(floating, %[[#B]] : !cir.double), !cir.f16
378
- // CHECK-NEXT: %[[#D:]] = cir.cmp(ge, %{{.+}}, %[[#C]]) : !cir.f16, !s32i
378
+ // CHECK-NEXT: %[[#D:]] = cir.cmp(ge, %{{.+}}, %[[#C]]) : !cir.f16, !cir.bool
379
379
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#D]] : !s32i), !u32i
380
380
381
381
// CHECK-LLVM: %{{.+}} = fcmp oge half %{{.+}}, 0xHC000
382
382
383
383
test = (h0 >= f2 );
384
384
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
385
- // CHECK: %[[#B:]] = cir.cmp(ge, %[[#A]], %{{.+}}) : !cir.float, !s32i
385
+ // CHECK: %[[#B:]] = cir.cmp(ge, %[[#A]], %{{.+}}) : !cir.float, !cir.bool
386
386
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
387
387
388
388
// CHECK-LLVM: %[[#LHS:]] = fpext half %{{.+}} to float
389
389
// CHECK-LLVM: %{{.+}} = fcmp oge float %[[#LHS]], %{{.+}}
390
390
391
391
test = (f0 >= h2 );
392
392
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
393
- // CHECK-NEXT: %[[#B:]] = cir.cmp(ge, %{{.+}}, %[[#A]]) : !cir.float, !s32i
393
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(ge, %{{.+}}, %[[#A]]) : !cir.float, !cir.bool
394
394
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
395
395
396
396
// CHECK-LLVM: %[[#RHS:]] = fpext half %{{.+}} to float
397
397
// CHECK-LLVM-NEXT: %{{.+}} = fcmp oge float %{{.+}}, %[[#RHS]]
398
398
399
399
test = (i0 >= h0 );
400
400
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
401
- // CHECK: %[[#B:]] = cir.cmp(ge, %[[#A]], %{{.+}}) : !cir.f16, !s32i
401
+ // CHECK: %[[#B:]] = cir.cmp(ge, %[[#A]], %{{.+}}) : !cir.f16, !cir.bool
402
402
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
403
403
404
404
// CHECK-LLVM: %[[#LHS:]] = sitofp i32 %{{.+}} to half
405
405
// CHECK-LLVM: %{{.+}} = fcmp oge half %[[#LHS]], %{{.+}}
406
406
407
407
test = (h0 >= i0 );
408
408
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
409
- // CHECK-NEXT: %[[#B:]] = cir.cmp(ge, %{{.+}}, %[[#A]]) : !cir.f16, !s32i
409
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(ge, %{{.+}}, %[[#A]]) : !cir.f16, !cir.bool
410
410
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
411
411
412
412
// CHECK-LLVM: %[[#RHS:]] = sitofp i32 %{{.+}} to half
413
413
// CHECK-LLVM-NEXT: %{{.+}} = fcmp oge half %{{.+}}, %[[#RHS]]
414
414
415
415
test = (h1 == h2 );
416
- // CHECK: %[[#A:]] = cir.cmp(eq, %{{.+}}, %{{.+}}) : !cir.f16, !s32i
416
+ // CHECK: %[[#A:]] = cir.cmp(eq, %{{.+}}, %{{.+}}) : !cir.f16, !cir.bool
417
417
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#A]] : !s32i), !u32i
418
418
419
419
// CHECK-LLVM: %{{.+}} = fcmp oeq half %{{.+}}, %{{.+}}
420
420
421
421
test = (h1 == (__fp16 )1.0 );
422
422
// CHECK: %[[#A:]] = cir.const #cir.fp<1.000000e+00> : !cir.double
423
423
// CHECK-NEXT: %[[#B:]] = cir.cast(floating, %[[#A]] : !cir.double), !cir.f16
424
- // CHECK-NEXT: %[[#C:]] = cir.cmp(eq, %{{.+}}, %[[#B]]) : !cir.f16, !s32i
424
+ // CHECK-NEXT: %[[#C:]] = cir.cmp(eq, %{{.+}}, %[[#B]]) : !cir.f16, !cir.bool
425
425
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#C]] : !s32i), !u32i
426
426
427
427
// CHECK-LLVM: %{{.+}} = fcmp oeq half %{{.+}}, 0xH3C00
428
428
429
429
test = (h1 == f1 );
430
430
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
431
- // CHECK: %[[#B:]] = cir.cmp(eq, %[[#A]], %{{.+}}) : !cir.float, !s32i
431
+ // CHECK: %[[#B:]] = cir.cmp(eq, %[[#A]], %{{.+}}) : !cir.float, !cir.bool
432
432
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
433
433
434
434
// CHECK-LLVM: %[[#LHS:]] = fpext half %{{.+}} to float
435
435
// CHECK-LLVM: %{{.+}} = fcmp oeq float %[[#LHS]], %{{.+}}
436
436
437
437
test = (f1 == h1 );
438
438
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
439
- // CHECK-NEXT: %[[#B:]] = cir.cmp(eq, %{{.+}}, %[[#A]]) : !cir.float, !s32i
439
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(eq, %{{.+}}, %[[#A]]) : !cir.float, !cir.bool
440
440
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
441
441
442
442
// CHECK-LLVM: %[[#RHS:]] = fpext half %{{.+}} to float
443
443
// CHECK-LLVM-NEXT: %{{.+}} = fcmp oeq float %{{.+}}, %[[#RHS]]
444
444
445
445
test = (i0 == h0 );
446
446
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
447
- // CHECK: %[[#B:]] = cir.cmp(eq, %[[#A]], %{{.+}}) : !cir.f16, !s32i
447
+ // CHECK: %[[#B:]] = cir.cmp(eq, %[[#A]], %{{.+}}) : !cir.f16, !cir.bool
448
448
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
449
449
450
450
// CHECK-LLVM: %[[#LHS:]] = sitofp i32 %{{.+}} to half
451
451
// CHECK-LLVM: %{{.+}} = fcmp oeq half %[[#LHS]], %{{.+}}
452
452
453
453
test = (h0 == i0 );
454
454
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
455
- // CHECK-NEXT: %[[#B:]] = cir.cmp(eq, %{{.+}}, %[[#A]]) : !cir.f16, !s32i
455
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(eq, %{{.+}}, %[[#A]]) : !cir.f16, !cir.bool
456
456
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
457
457
458
458
// CHECK-LLVM: %[[#RHS:]] = sitofp i32 %{{.+}} to half
459
459
// CHECK-LLVM-NEXT: %{{.=}} = fcmp oeq half %{{.+}}, %[[#RHS]]
460
460
461
461
test = (h1 != h2 );
462
- // CHECK: %[[#A:]] = cir.cmp(ne, %{{.+}}, %{{.+}}) : !cir.f16, !s32i
462
+ // CHECK: %[[#A:]] = cir.cmp(ne, %{{.+}}, %{{.+}}) : !cir.f16, !cir.bool
463
463
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#A]] : !s32i), !u32i
464
464
465
465
// CHECK-LLVM: %{{.+}} = fcmp une half %{{.+}}, %{{.+}}
466
466
467
467
test = (h1 != (__fp16 )1.0 );
468
468
// CHECK: %[[#A:]] = cir.const #cir.fp<1.000000e+00> : !cir.double
469
469
// CHECK-NEXT: %[[#B:]] = cir.cast(floating, %[[#A]] : !cir.double), !cir.f16
470
- // CHECK-NEXT: %[[#C:]] = cir.cmp(ne, %{{.+}}, %[[#B]]) : !cir.f16, !s32i
470
+ // CHECK-NEXT: %[[#C:]] = cir.cmp(ne, %{{.+}}, %[[#B]]) : !cir.f16, !cir.bool
471
471
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#C]] : !s32i), !u32i
472
472
473
473
// CHECK-LLVM: %{{.+}} = fcmp une half %{{.+}}, 0xH3C00
474
474
475
475
test = (h1 != f1 );
476
476
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
477
- // CHECK: %[[#B:]] = cir.cmp(ne, %[[#A]], %{{.+}}) : !cir.float, !s32i
477
+ // CHECK: %[[#B:]] = cir.cmp(ne, %[[#A]], %{{.+}}) : !cir.float, !cir.bool
478
478
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
479
479
480
480
// CHECK-LLVM: %[[#LHS:]] = fpext half %{{.=}} to float
481
481
// CHECK-LLVM: %{{.+}} = fcmp une float %[[#LHS]], %{{.+}}
482
482
483
483
test = (f1 != h1 );
484
484
// CHECK: %[[#A:]] = cir.cast(floating, %{{.+}} : !cir.f16), !cir.float
485
- // CHECK-NEXT: %[[#B:]] = cir.cmp(ne, %{{.+}}, %[[#A]]) : !cir.float, !s32i
485
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(ne, %{{.+}}, %[[#A]]) : !cir.float, !cir.bool
486
486
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
487
487
488
488
// CHECK-LLVM: %[[#A:]] = fpext half %{{.+}} to float
489
489
// CHECK-LLVM-NEXT: %{{.+}} = fcmp une float %{{.+}}, %[[#A]]
490
490
491
491
test = (i0 != h0 );
492
492
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
493
- // CHECK: %[[#B:]] = cir.cmp(ne, %[[#A]], %{{.+}}) : !cir.f16, !s32i
493
+ // CHECK: %[[#B:]] = cir.cmp(ne, %[[#A]], %{{.+}}) : !cir.f16, !cir.bool
494
494
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
495
495
496
496
// CHECK-LLVM: %[[#LHS:]] = sitofp i32 %{{.+}} to half
497
497
// CHECK-LLVM: %{{.+}} = fcmp une half %[[#LHS]], %{{.+}}
498
498
499
499
test = (h0 != i0 );
500
500
// CHECK: %[[#A:]] = cir.cast(int_to_float, %{{.+}} : !s32i), !cir.f16
501
- // CHECK-NEXT: %[[#B:]] = cir.cmp(ne, %{{.+}}, %[[#A]]) : !cir.f16, !s32i
501
+ // CHECK-NEXT: %[[#B:]] = cir.cmp(ne, %{{.+}}, %[[#A]]) : !cir.f16, !cir.bool
502
502
// CHECK-NEXT: %{{.+}} = cir.cast(integral, %[[#B]] : !s32i), !u32i
503
503
504
504
// CHECK-LLVM: %[[#RHS:]] = sitofp i32 %{{.+}} to half
0 commit comments