@@ -1411,119 +1411,251 @@ define i1 @fcmp_une_fsub_const(float %x, float %y) {
1411
1411
ret i1 %cmp
1412
1412
}
1413
1413
1414
- define <8 x i1 > @fcmp_vec_uge_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1415
- ; CHECK-LABEL: @fcmp_vec_uge_fsub_const_fmf (
1416
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast uge <8 x float> [[X:%.*]], [[Y:%.*]]
1414
+ define <8 x i1 > @fcmp_uge_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1415
+ ; CHECK-LABEL: @fcmp_uge_fsub_const_ninf_vec (
1416
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf uge <8 x float> [[X:%.*]], [[Y:%.*]]
1417
1417
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1418
1418
;
1419
- %fs = fsub fast <8 x float > %x , %y
1420
- %cmp = fcmp fast uge <8 x float > %fs , zeroinitializer
1419
+ %fs = fsub ninf <8 x float > %x , %y
1420
+ %cmp = fcmp ninf uge <8 x float > %fs , zeroinitializer
1421
1421
ret <8 x i1 > %cmp
1422
1422
}
1423
1423
1424
- define <8 x i1 > @fcmp_vec_ule_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1425
- ; CHECK-LABEL: @fcmp_vec_ule_fsub_const_fmf (
1426
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ule <8 x float> [[X:%.*]], [[Y:%.*]]
1424
+ define <8 x i1 > @fcmp_ule_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1425
+ ; CHECK-LABEL: @fcmp_ule_fsub_const_ninf_vec (
1426
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf ule <8 x float> [[X:%.*]], [[Y:%.*]]
1427
1427
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1428
1428
;
1429
- %fs = fsub fast <8 x float > %x , %y
1430
- %cmp = fcmp fast ule <8 x float > %fs , zeroinitializer
1429
+ %fs = fsub ninf <8 x float > %x , %y
1430
+ %cmp = fcmp ninf ule <8 x float > %fs , zeroinitializer
1431
1431
ret <8 x i1 > %cmp
1432
1432
}
1433
1433
1434
- define <8 x i1 > @fcmp_vec_ueq_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1435
- ; CHECK-LABEL: @fcmp_vec_ueq_fsub_const_fmf (
1436
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ueq <8 x float> [[X:%.*]], [[Y:%.*]]
1434
+ define <8 x i1 > @fcmp_ueq_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1435
+ ; CHECK-LABEL: @fcmp_ueq_fsub_const_ninf_vec (
1436
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf ueq <8 x float> [[X:%.*]], [[Y:%.*]]
1437
1437
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1438
1438
;
1439
- %fs = fsub fast <8 x float > %x , %y
1440
- %cmp = fcmp fast ueq <8 x float > %fs , zeroinitializer
1439
+ %fs = fsub ninf <8 x float > %x , %y
1440
+ %cmp = fcmp ninf ueq <8 x float > %fs , zeroinitializer
1441
1441
ret <8 x i1 > %cmp
1442
1442
}
1443
1443
1444
- define <8 x i1 > @fcmp_vec_oge_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1445
- ; CHECK-LABEL: @fcmp_vec_oge_fsub_const_fmf(
1446
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast oge <8 x float> [[X:%.*]], [[Y:%.*]]
1444
+ define <8 x i1 > @fcmp_oge_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1445
+ ; CHECK-LABEL: @fcmp_oge_fsub_const_ninf_vec(
1446
+ ; CHECK-NEXT: [[FS:%.*]] = fsub ninf <8 x float> [[X:%.*]], [[Y:%.*]]
1447
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf oge <8 x float> [[FS]], zeroinitializer
1447
1448
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1448
1449
;
1449
- %fs = fsub fast <8 x float > %x , %y
1450
- %cmp = fcmp fast oge <8 x float > %fs , zeroinitializer
1450
+ %fs = fsub ninf <8 x float > %x , %y
1451
+ %cmp = fcmp ninf oge <8 x float > %fs , zeroinitializer
1451
1452
ret <8 x i1 > %cmp
1452
1453
}
1453
1454
1454
- define <8 x i1 > @fcmp_vec_ole_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1455
- ; CHECK-LABEL: @fcmp_vec_ole_fsub_const_fmf(
1456
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ole <8 x float> [[X:%.*]], [[Y:%.*]]
1455
+ define <8 x i1 > @fcmp_ole_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1456
+ ; CHECK-LABEL: @fcmp_ole_fsub_const_ninf_vec(
1457
+ ; CHECK-NEXT: [[FS:%.*]] = fsub ninf <8 x float> [[X:%.*]], [[Y:%.*]]
1458
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf ole <8 x float> [[FS]], zeroinitializer
1457
1459
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1458
1460
;
1459
- %fs = fsub fast <8 x float > %x , %y
1460
- %cmp = fcmp fast ole <8 x float > %fs , zeroinitializer
1461
+ %fs = fsub ninf <8 x float > %x , %y
1462
+ %cmp = fcmp ninf ole <8 x float > %fs , zeroinitializer
1461
1463
ret <8 x i1 > %cmp
1462
1464
}
1463
1465
1464
- define <8 x i1 > @fcmp_vec_oeq_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1465
- ; CHECK-LABEL: @fcmp_vec_oeq_fsub_const_fmf(
1466
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast oeq <8 x float> [[X:%.*]], [[Y:%.*]]
1466
+ define <8 x i1 > @fcmp_oeq_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1467
+ ; CHECK-LABEL: @fcmp_oeq_fsub_const_ninf_vec(
1468
+ ; CHECK-NEXT: [[FS:%.*]] = fsub ninf <8 x float> [[X:%.*]], [[Y:%.*]]
1469
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf oeq <8 x float> [[FS]], zeroinitializer
1467
1470
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1468
1471
;
1469
- %fs = fsub fast <8 x float > %x , %y
1470
- %cmp = fcmp fast oeq <8 x float > %fs , zeroinitializer
1472
+ %fs = fsub ninf <8 x float > %x , %y
1473
+ %cmp = fcmp ninf oeq <8 x float > %fs , zeroinitializer
1471
1474
ret <8 x i1 > %cmp
1472
1475
}
1473
1476
1474
- define <8 x i1 > @fcmp_vec_ogt_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1475
- ; CHECK-LABEL: @fcmp_vec_ogt_fsub_const_fmf (
1476
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ogt <8 x float> [[X:%.*]], [[Y:%.*]]
1477
+ define <8 x i1 > @fcmp_ogt_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1478
+ ; CHECK-LABEL: @fcmp_ogt_fsub_const_ninf_vec (
1479
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf ogt <8 x float> [[X:%.*]], [[Y:%.*]]
1477
1480
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1478
1481
;
1479
- %fs = fsub fast <8 x float > %x , %y
1480
- %cmp = fcmp fast ogt <8 x float > %fs , zeroinitializer
1482
+ %fs = fsub ninf <8 x float > %x , %y
1483
+ %cmp = fcmp ninf ogt <8 x float > %fs , zeroinitializer
1481
1484
ret <8 x i1 > %cmp
1482
1485
}
1483
1486
1484
- define <8 x i1 > @fcmp_vec_olt_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1485
- ; CHECK-LABEL: @fcmp_vec_olt_fsub_const_fmf (
1486
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast olt <8 x float> [[X:%.*]], [[Y:%.*]]
1487
+ define <8 x i1 > @fcmp_olt_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1488
+ ; CHECK-LABEL: @fcmp_olt_fsub_const_ninf_vec (
1489
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf olt <8 x float> [[X:%.*]], [[Y:%.*]]
1487
1490
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1488
1491
;
1489
- %fs = fsub fast <8 x float > %x , %y
1490
- %cmp = fcmp fast olt <8 x float > %fs , zeroinitializer
1492
+ %fs = fsub ninf <8 x float > %x , %y
1493
+ %cmp = fcmp ninf olt <8 x float > %fs , zeroinitializer
1491
1494
ret <8 x i1 > %cmp
1492
1495
}
1493
1496
1494
- define <8 x i1 > @fcmp_vec_one_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1495
- ; CHECK-LABEL: @fcmp_vec_one_fsub_const_fmf (
1496
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast one <8 x float> [[X:%.*]], [[Y:%.*]]
1497
+ define <8 x i1 > @fcmp_one_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1498
+ ; CHECK-LABEL: @fcmp_one_fsub_const_ninf_vec (
1499
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf one <8 x float> [[X:%.*]], [[Y:%.*]]
1497
1500
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1498
1501
;
1499
- %fs = fsub fast <8 x float > %x , %y
1500
- %cmp = fcmp fast one <8 x float > %fs , zeroinitializer
1502
+ %fs = fsub ninf <8 x float > %x , %y
1503
+ %cmp = fcmp ninf one <8 x float > %fs , zeroinitializer
1501
1504
ret <8 x i1 > %cmp
1502
1505
}
1503
1506
1504
- define <8 x i1 > @fcmp_vec_ugt_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1505
- ; CHECK-LABEL: @fcmp_vec_ugt_fsub_const_fmf(
1506
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ugt <8 x float> [[X:%.*]], [[Y:%.*]]
1507
+ define <8 x i1 > @fcmp_ugt_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1508
+ ; CHECK-LABEL: @fcmp_ugt_fsub_const_ninf_vec(
1509
+ ; CHECK-NEXT: [[FS:%.*]] = fsub ninf <8 x float> [[X:%.*]], [[Y:%.*]]
1510
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf ugt <8 x float> [[FS]], zeroinitializer
1507
1511
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1508
1512
;
1509
- %fs = fsub fast <8 x float > %x , %y
1510
- %cmp = fcmp fast ugt <8 x float > %fs , zeroinitializer
1513
+ %fs = fsub ninf <8 x float > %x , %y
1514
+ %cmp = fcmp ninf ugt <8 x float > %fs , zeroinitializer
1515
+ ret <8 x i1 > %cmp
1516
+ }
1517
+
1518
+ define <8 x i1 > @fcmp_ult_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1519
+ ; CHECK-LABEL: @fcmp_ult_fsub_const_ninf_vec(
1520
+ ; CHECK-NEXT: [[FS:%.*]] = fsub ninf <8 x float> [[X:%.*]], [[Y:%.*]]
1521
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf ult <8 x float> [[FS]], zeroinitializer
1522
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1523
+ ;
1524
+ %fs = fsub ninf <8 x float > %x , %y
1525
+ %cmp = fcmp ninf ult <8 x float > %fs , zeroinitializer
1526
+ ret <8 x i1 > %cmp
1527
+ }
1528
+
1529
+ define <8 x i1 > @fcmp_une_fsub_const_ninf_vec (<8 x float > %x , <8 x float > %y ) {
1530
+ ; CHECK-LABEL: @fcmp_une_fsub_const_ninf_vec(
1531
+ ; CHECK-NEXT: [[FS:%.*]] = fsub ninf <8 x float> [[X:%.*]], [[Y:%.*]]
1532
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp ninf une <8 x float> [[FS]], zeroinitializer
1533
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1534
+ ;
1535
+ %fs = fsub ninf <8 x float > %x , %y
1536
+ %cmp = fcmp ninf une <8 x float > %fs , zeroinitializer
1537
+ ret <8 x i1 > %cmp
1538
+ }
1539
+
1540
+ define <8 x i1 > @fcmp_uge_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1541
+ ; CHECK-LABEL: @fcmp_uge_fsub_const_nnan_vec(
1542
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan uge <8 x float> [[X:%.*]], [[Y:%.*]]
1543
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1544
+ ;
1545
+ %fs = fsub nnan <8 x float > %x , %y
1546
+ %cmp = fcmp nnan uge <8 x float > %fs , zeroinitializer
1547
+ ret <8 x i1 > %cmp
1548
+ }
1549
+
1550
+ define <8 x i1 > @fcmp_ule_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1551
+ ; CHECK-LABEL: @fcmp_ule_fsub_const_nnan_vec(
1552
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan ule <8 x float> [[X:%.*]], [[Y:%.*]]
1553
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1554
+ ;
1555
+ %fs = fsub nnan <8 x float > %x , %y
1556
+ %cmp = fcmp nnan ule <8 x float > %fs , zeroinitializer
1557
+ ret <8 x i1 > %cmp
1558
+ }
1559
+
1560
+ define <8 x i1 > @fcmp_ueq_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1561
+ ; CHECK-LABEL: @fcmp_ueq_fsub_const_nnan_vec(
1562
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan ueq <8 x float> [[X:%.*]], [[Y:%.*]]
1563
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1564
+ ;
1565
+ %fs = fsub nnan <8 x float > %x , %y
1566
+ %cmp = fcmp nnan ueq <8 x float > %fs , zeroinitializer
1567
+ ret <8 x i1 > %cmp
1568
+ }
1569
+
1570
+ define <8 x i1 > @fcmp_oge_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1571
+ ; CHECK-LABEL: @fcmp_oge_fsub_const_nnan_vec(
1572
+ ; CHECK-NEXT: [[FS:%.*]] = fsub nnan <8 x float> [[X:%.*]], [[Y:%.*]]
1573
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan oge <8 x float> [[FS]], zeroinitializer
1574
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1575
+ ;
1576
+ %fs = fsub nnan <8 x float > %x , %y
1577
+ %cmp = fcmp nnan oge <8 x float > %fs , zeroinitializer
1578
+ ret <8 x i1 > %cmp
1579
+ }
1580
+
1581
+ define <8 x i1 > @fcmp_ole_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1582
+ ; CHECK-LABEL: @fcmp_ole_fsub_const_nnan_vec(
1583
+ ; CHECK-NEXT: [[FS:%.*]] = fsub nnan <8 x float> [[X:%.*]], [[Y:%.*]]
1584
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan ole <8 x float> [[FS]], zeroinitializer
1585
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1586
+ ;
1587
+ %fs = fsub nnan <8 x float > %x , %y
1588
+ %cmp = fcmp nnan ole <8 x float > %fs , zeroinitializer
1589
+ ret <8 x i1 > %cmp
1590
+ }
1591
+
1592
+ define <8 x i1 > @fcmp_oeq_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1593
+ ; CHECK-LABEL: @fcmp_oeq_fsub_const_nnan_vec(
1594
+ ; CHECK-NEXT: [[FS:%.*]] = fsub nnan <8 x float> [[X:%.*]], [[Y:%.*]]
1595
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan oeq <8 x float> [[FS]], zeroinitializer
1596
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1597
+ ;
1598
+ %fs = fsub nnan <8 x float > %x , %y
1599
+ %cmp = fcmp nnan oeq <8 x float > %fs , zeroinitializer
1600
+ ret <8 x i1 > %cmp
1601
+ }
1602
+
1603
+ define <8 x i1 > @fcmp_ogt_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1604
+ ; CHECK-LABEL: @fcmp_ogt_fsub_const_nnan_vec(
1605
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan ogt <8 x float> [[X:%.*]], [[Y:%.*]]
1606
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1607
+ ;
1608
+ %fs = fsub nnan <8 x float > %x , %y
1609
+ %cmp = fcmp nnan ogt <8 x float > %fs , zeroinitializer
1610
+ ret <8 x i1 > %cmp
1611
+ }
1612
+
1613
+ define <8 x i1 > @fcmp_olt_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1614
+ ; CHECK-LABEL: @fcmp_olt_fsub_const_nnan_vec(
1615
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan olt <8 x float> [[X:%.*]], [[Y:%.*]]
1616
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1617
+ ;
1618
+ %fs = fsub nnan <8 x float > %x , %y
1619
+ %cmp = fcmp nnan olt <8 x float > %fs , zeroinitializer
1620
+ ret <8 x i1 > %cmp
1621
+ }
1622
+
1623
+ define <8 x i1 > @fcmp_one_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1624
+ ; CHECK-LABEL: @fcmp_one_fsub_const_nnan_vec(
1625
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan one <8 x float> [[X:%.*]], [[Y:%.*]]
1626
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1627
+ ;
1628
+ %fs = fsub nnan <8 x float > %x , %y
1629
+ %cmp = fcmp nnan one <8 x float > %fs , zeroinitializer
1630
+ ret <8 x i1 > %cmp
1631
+ }
1632
+
1633
+ define <8 x i1 > @fcmp_ugt_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1634
+ ; CHECK-LABEL: @fcmp_ugt_fsub_const_nnan_vec(
1635
+ ; CHECK-NEXT: [[FS:%.*]] = fsub nnan <8 x float> [[X:%.*]], [[Y:%.*]]
1636
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp nnan ugt <8 x float> [[FS]], zeroinitializer
1637
+ ; CHECK-NEXT: ret <8 x i1> [[CMP]]
1638
+ ;
1639
+ %fs = fsub nnan <8 x float > %x , %y
1640
+ %cmp = fcmp nnan ugt <8 x float > %fs , zeroinitializer
1511
1641
ret <8 x i1 > %cmp
1512
1642
}
1513
1643
1514
- define <8 x i1 > @fcmp_vec_ult_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1515
- ; CHECK-LABEL: @fcmp_vec_ult_fsub_const_fmf(
1516
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ult <8 x float> [[X:%.*]], [[Y:%.*]]
1644
+ define <8 x i1 > @fcmp_ult_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1645
+ ; CHECK-LABEL: @fcmp_ult_fsub_const_nnan_vec(
1646
+ ; CHECK-NEXT: [[FS:%.*]] = fsub fast <8 x float> [[X:%.*]], [[Y:%.*]]
1647
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast ult <8 x float> [[FS]], zeroinitializer
1517
1648
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1518
1649
;
1519
1650
%fs = fsub fast <8 x float > %x , %y
1520
1651
%cmp = fcmp fast ult <8 x float > %fs , zeroinitializer
1521
1652
ret <8 x i1 > %cmp
1522
1653
}
1523
1654
1524
- define <8 x i1 > @fcmp_vec_une_fsub_const_fmf (<8 x float > %x , <8 x float > %y ) {
1525
- ; CHECK-LABEL: @fcmp_vec_une_fsub_const_fmf(
1526
- ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast une <8 x float> [[X:%.*]], [[Y:%.*]]
1655
+ define <8 x i1 > @fcmp_une_fsub_const_nnan_vec (<8 x float > %x , <8 x float > %y ) {
1656
+ ; CHECK-LABEL: @fcmp_une_fsub_const_nnan_vec(
1657
+ ; CHECK-NEXT: [[FS:%.*]] = fsub fast <8 x float> [[X:%.*]], [[Y:%.*]]
1658
+ ; CHECK-NEXT: [[CMP:%.*]] = fcmp fast une <8 x float> [[FS]], zeroinitializer
1527
1659
; CHECK-NEXT: ret <8 x i1> [[CMP]]
1528
1660
;
1529
1661
%fs = fsub fast <8 x float > %x , %y
0 commit comments