@@ -654,21 +654,16 @@ define <2 x half> @v_maximum_v2f16__nnan(<2 x half> %src0, <2 x half> %src1) {
654
654
; GFX7-LABEL: v_maximum_v2f16__nnan:
655
655
; GFX7: ; %bb.0:
656
656
; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
657
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
657
658
; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
658
659
; GFX7-NEXT: v_cvt_f16_f32_e32 v0, v0
659
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
660
660
; GFX7-NEXT: v_cvt_f16_f32_e32 v1, v1
661
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
661
662
; GFX7-NEXT: v_cvt_f32_f16_e32 v2, v2
662
663
; GFX7-NEXT: v_cvt_f32_f16_e32 v0, v0
663
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
664
664
; GFX7-NEXT: v_cvt_f32_f16_e32 v1, v1
665
- ; GFX7-NEXT: v_mov_b32_e32 v5, 0x7fc00000
666
- ; GFX7-NEXT: v_max_f32_e32 v4, v0, v2
667
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v0, v2
668
- ; GFX7-NEXT: v_cndmask_b32_e32 v0, v5, v4, vcc
669
- ; GFX7-NEXT: v_max_f32_e32 v2, v1, v3
670
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v1, v3
671
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v5, v2, vcc
665
+ ; GFX7-NEXT: v_max_f32_e32 v0, v0, v2
666
+ ; GFX7-NEXT: v_max_f32_e32 v1, v1, v3
672
667
; GFX7-NEXT: s_setpc_b64 s[30:31]
673
668
;
674
669
; GFX8-LABEL: v_maximum_v2f16__nnan:
@@ -847,21 +842,16 @@ define <2 x half> @v_maximum_v2f16__nnan_nsz(<2 x half> %src0, <2 x half> %src1)
847
842
; GFX7-LABEL: v_maximum_v2f16__nnan_nsz:
848
843
; GFX7: ; %bb.0:
849
844
; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
845
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
850
846
; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
851
847
; GFX7-NEXT: v_cvt_f16_f32_e32 v0, v0
852
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
853
848
; GFX7-NEXT: v_cvt_f16_f32_e32 v1, v1
849
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
854
850
; GFX7-NEXT: v_cvt_f32_f16_e32 v2, v2
855
851
; GFX7-NEXT: v_cvt_f32_f16_e32 v0, v0
856
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
857
852
; GFX7-NEXT: v_cvt_f32_f16_e32 v1, v1
858
- ; GFX7-NEXT: v_mov_b32_e32 v5, 0x7fc00000
859
- ; GFX7-NEXT: v_max_f32_e32 v4, v0, v2
860
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v0, v2
861
- ; GFX7-NEXT: v_cndmask_b32_e32 v0, v5, v4, vcc
862
- ; GFX7-NEXT: v_max_f32_e32 v2, v1, v3
863
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v1, v3
864
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v5, v2, vcc
853
+ ; GFX7-NEXT: v_max_f32_e32 v0, v0, v2
854
+ ; GFX7-NEXT: v_max_f32_e32 v1, v1, v3
865
855
; GFX7-NEXT: s_setpc_b64 s[30:31]
866
856
;
867
857
; GFX8-LABEL: v_maximum_v2f16__nnan_nsz:
@@ -1216,28 +1206,21 @@ define <3 x half> @v_maximum_v3f16__nnan(<3 x half> %src0, <3 x half> %src1) {
1216
1206
; GFX7-LABEL: v_maximum_v3f16__nnan:
1217
1207
; GFX7: ; %bb.0:
1218
1208
; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1209
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1210
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1211
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v4, v4
1219
1212
; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
1220
1213
; GFX7-NEXT: v_cvt_f16_f32_e32 v0, v0
1221
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v4, v4
1222
1214
; GFX7-NEXT: v_cvt_f16_f32_e32 v1, v1
1223
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1224
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1215
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1216
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v4, v4
1225
1217
; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
1226
1218
; GFX7-NEXT: v_cvt_f32_f16_e32 v0, v0
1227
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v4, v4
1228
1219
; GFX7-NEXT: v_cvt_f32_f16_e32 v1, v1
1229
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1230
1220
; GFX7-NEXT: v_cvt_f32_f16_e32 v2, v2
1231
- ; GFX7-NEXT: v_max_f32_e32 v6, v0, v3
1232
- ; GFX7-NEXT: v_mov_b32_e32 v7, 0x7fc00000
1233
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v0, v3
1234
- ; GFX7-NEXT: v_cndmask_b32_e32 v0, v7, v6, vcc
1235
- ; GFX7-NEXT: v_max_f32_e32 v3, v1, v4
1236
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v1, v4
1237
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v7, v3, vcc
1238
- ; GFX7-NEXT: v_max_f32_e32 v3, v2, v5
1239
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v2, v5
1240
- ; GFX7-NEXT: v_cndmask_b32_e32 v2, v7, v3, vcc
1221
+ ; GFX7-NEXT: v_max_f32_e32 v0, v0, v3
1222
+ ; GFX7-NEXT: v_max_f32_e32 v1, v1, v4
1223
+ ; GFX7-NEXT: v_max_f32_e32 v2, v2, v5
1241
1224
; GFX7-NEXT: s_setpc_b64 s[30:31]
1242
1225
;
1243
1226
; GFX8-LABEL: v_maximum_v3f16__nnan:
@@ -1427,28 +1410,21 @@ define <3 x half> @v_maximum_v3f16__nnan_nsz(<3 x half> %src0, <3 x half> %src1)
1427
1410
; GFX7-LABEL: v_maximum_v3f16__nnan_nsz:
1428
1411
; GFX7: ; %bb.0:
1429
1412
; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1413
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1414
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1415
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v4, v4
1430
1416
; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
1431
1417
; GFX7-NEXT: v_cvt_f16_f32_e32 v0, v0
1432
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v4, v4
1433
1418
; GFX7-NEXT: v_cvt_f16_f32_e32 v1, v1
1434
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1435
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1419
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1420
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v4, v4
1436
1421
; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
1437
1422
; GFX7-NEXT: v_cvt_f32_f16_e32 v0, v0
1438
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v4, v4
1439
1423
; GFX7-NEXT: v_cvt_f32_f16_e32 v1, v1
1440
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1441
1424
; GFX7-NEXT: v_cvt_f32_f16_e32 v2, v2
1442
- ; GFX7-NEXT: v_max_f32_e32 v6, v0, v3
1443
- ; GFX7-NEXT: v_mov_b32_e32 v7, 0x7fc00000
1444
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v0, v3
1445
- ; GFX7-NEXT: v_cndmask_b32_e32 v0, v7, v6, vcc
1446
- ; GFX7-NEXT: v_max_f32_e32 v3, v1, v4
1447
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v1, v4
1448
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v7, v3, vcc
1449
- ; GFX7-NEXT: v_max_f32_e32 v3, v2, v5
1450
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v2, v5
1451
- ; GFX7-NEXT: v_cndmask_b32_e32 v2, v7, v3, vcc
1425
+ ; GFX7-NEXT: v_max_f32_e32 v0, v0, v3
1426
+ ; GFX7-NEXT: v_max_f32_e32 v1, v1, v4
1427
+ ; GFX7-NEXT: v_max_f32_e32 v2, v2, v5
1452
1428
; GFX7-NEXT: s_setpc_b64 s[30:31]
1453
1429
;
1454
1430
; GFX8-LABEL: v_maximum_v3f16__nnan_nsz:
@@ -1671,35 +1647,26 @@ define <4 x half> @v_maximum_v4f16__nnan(<4 x half> %src0, <4 x half> %src1) {
1671
1647
; GFX7-LABEL: v_maximum_v4f16__nnan:
1672
1648
; GFX7: ; %bb.0:
1673
1649
; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1650
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v7, v7
1651
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v6, v6
1652
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
1653
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1654
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1674
1655
; GFX7-NEXT: v_cvt_f16_f32_e32 v4, v4
1675
1656
; GFX7-NEXT: v_cvt_f16_f32_e32 v0, v0
1676
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1677
1657
; GFX7-NEXT: v_cvt_f16_f32_e32 v1, v1
1678
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v6, v6
1679
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1680
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v7, v7
1681
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
1658
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v7, v7
1659
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v6, v6
1660
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1682
1661
; GFX7-NEXT: v_cvt_f32_f16_e32 v4, v4
1683
1662
; GFX7-NEXT: v_cvt_f32_f16_e32 v0, v0
1684
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1685
1663
; GFX7-NEXT: v_cvt_f32_f16_e32 v1, v1
1686
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v6, v6
1687
1664
; GFX7-NEXT: v_cvt_f32_f16_e32 v2, v2
1688
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v7, v7
1689
1665
; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
1690
- ; GFX7-NEXT: v_max_f32_e32 v8, v0, v4
1691
- ; GFX7-NEXT: v_mov_b32_e32 v9, 0x7fc00000
1692
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v0, v4
1693
- ; GFX7-NEXT: v_cndmask_b32_e32 v0, v9, v8, vcc
1694
- ; GFX7-NEXT: v_max_f32_e32 v4, v1, v5
1695
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v1, v5
1696
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v9, v4, vcc
1697
- ; GFX7-NEXT: v_max_f32_e32 v4, v2, v6
1698
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v2, v6
1699
- ; GFX7-NEXT: v_cndmask_b32_e32 v2, v9, v4, vcc
1700
- ; GFX7-NEXT: v_max_f32_e32 v4, v3, v7
1701
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v3, v7
1702
- ; GFX7-NEXT: v_cndmask_b32_e32 v3, v9, v4, vcc
1666
+ ; GFX7-NEXT: v_max_f32_e32 v0, v0, v4
1667
+ ; GFX7-NEXT: v_max_f32_e32 v1, v1, v5
1668
+ ; GFX7-NEXT: v_max_f32_e32 v2, v2, v6
1669
+ ; GFX7-NEXT: v_max_f32_e32 v3, v3, v7
1703
1670
; GFX7-NEXT: s_setpc_b64 s[30:31]
1704
1671
;
1705
1672
; GFX8-LABEL: v_maximum_v4f16__nnan:
@@ -1924,35 +1891,26 @@ define <4 x half> @v_maximum_v4f16__nnan_nsz(<4 x half> %src0, <4 x half> %src1)
1924
1891
; GFX7-LABEL: v_maximum_v4f16__nnan_nsz:
1925
1892
; GFX7: ; %bb.0:
1926
1893
; GFX7-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1894
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v7, v7
1895
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v6, v6
1896
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
1897
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1898
+ ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1927
1899
; GFX7-NEXT: v_cvt_f16_f32_e32 v4, v4
1928
1900
; GFX7-NEXT: v_cvt_f16_f32_e32 v0, v0
1929
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v5, v5
1930
1901
; GFX7-NEXT: v_cvt_f16_f32_e32 v1, v1
1931
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v6, v6
1932
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v2, v2
1933
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v7, v7
1934
- ; GFX7-NEXT: v_cvt_f16_f32_e32 v3, v3
1902
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v7, v7
1903
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v6, v6
1904
+ ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1935
1905
; GFX7-NEXT: v_cvt_f32_f16_e32 v4, v4
1936
1906
; GFX7-NEXT: v_cvt_f32_f16_e32 v0, v0
1937
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v5, v5
1938
1907
; GFX7-NEXT: v_cvt_f32_f16_e32 v1, v1
1939
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v6, v6
1940
1908
; GFX7-NEXT: v_cvt_f32_f16_e32 v2, v2
1941
- ; GFX7-NEXT: v_cvt_f32_f16_e32 v7, v7
1942
1909
; GFX7-NEXT: v_cvt_f32_f16_e32 v3, v3
1943
- ; GFX7-NEXT: v_max_f32_e32 v8, v0, v4
1944
- ; GFX7-NEXT: v_mov_b32_e32 v9, 0x7fc00000
1945
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v0, v4
1946
- ; GFX7-NEXT: v_cndmask_b32_e32 v0, v9, v8, vcc
1947
- ; GFX7-NEXT: v_max_f32_e32 v4, v1, v5
1948
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v1, v5
1949
- ; GFX7-NEXT: v_cndmask_b32_e32 v1, v9, v4, vcc
1950
- ; GFX7-NEXT: v_max_f32_e32 v4, v2, v6
1951
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v2, v6
1952
- ; GFX7-NEXT: v_cndmask_b32_e32 v2, v9, v4, vcc
1953
- ; GFX7-NEXT: v_max_f32_e32 v4, v3, v7
1954
- ; GFX7-NEXT: v_cmp_o_f32_e32 vcc, v3, v7
1955
- ; GFX7-NEXT: v_cndmask_b32_e32 v3, v9, v4, vcc
1910
+ ; GFX7-NEXT: v_max_f32_e32 v0, v0, v4
1911
+ ; GFX7-NEXT: v_max_f32_e32 v1, v1, v5
1912
+ ; GFX7-NEXT: v_max_f32_e32 v2, v2, v6
1913
+ ; GFX7-NEXT: v_max_f32_e32 v3, v3, v7
1956
1914
; GFX7-NEXT: s_setpc_b64 s[30:31]
1957
1915
;
1958
1916
; GFX8-LABEL: v_maximum_v4f16__nnan_nsz:
0 commit comments