@@ -119,7 +119,7 @@ define float @v_test_fmin_legacy_ule_f32_nnan_nsz_flag(float %a, float %b) {
119119; GFX12-NEXT: s_wait_samplecnt 0x0
120120; GFX12-NEXT: s_wait_bvhcnt 0x0
121121; GFX12-NEXT: s_wait_kmcnt 0x0
122- ; GFX12-NEXT: v_min_num_f32_e32 v0, v0, v1
122+ ; GFX12-NEXT: v_minimum_f32 v0, v0, v1
123123; GFX12-NEXT: s_setpc_b64 s[30:31]
124124 %cmp = fcmp ule float %a , %b
125125 %val = select nnan nsz i1 %cmp , float %a , float %b
@@ -236,7 +236,7 @@ define float @v_test_fmax_legacy_uge_f32_nnan_nsz_flag(float %a, float %b) {
236236; GFX12-NEXT: s_wait_samplecnt 0x0
237237; GFX12-NEXT: s_wait_bvhcnt 0x0
238238; GFX12-NEXT: s_wait_kmcnt 0x0
239- ; GFX12-NEXT: v_max_num_f32_e32 v0, v0, v1
239+ ; GFX12-NEXT: v_maximum_f32 v0, v0, v1
240240; GFX12-NEXT: s_setpc_b64 s[30:31]
241241 %cmp = fcmp uge float %a , %b
242242 %val = select nnan nsz i1 %cmp , float %a , float %b
@@ -693,7 +693,7 @@ define half @v_test_fmin_legacy_ule_f16_nnan_nsz_flag(half %a, half %b) {
693693; GFX12-TRUE16-NEXT: s_wait_samplecnt 0x0
694694; GFX12-TRUE16-NEXT: s_wait_bvhcnt 0x0
695695; GFX12-TRUE16-NEXT: s_wait_kmcnt 0x0
696- ; GFX12-TRUE16-NEXT: v_min_num_f16_e32 v0.l, v0.l, v1.l
696+ ; GFX12-TRUE16-NEXT: v_minimum_f16 v0.l, v0.l, v1.l
697697; GFX12-TRUE16-NEXT: s_setpc_b64 s[30:31]
698698;
699699; GFX12-FAKE16-LABEL: v_test_fmin_legacy_ule_f16_nnan_nsz_flag:
@@ -703,7 +703,7 @@ define half @v_test_fmin_legacy_ule_f16_nnan_nsz_flag(half %a, half %b) {
703703; GFX12-FAKE16-NEXT: s_wait_samplecnt 0x0
704704; GFX12-FAKE16-NEXT: s_wait_bvhcnt 0x0
705705; GFX12-FAKE16-NEXT: s_wait_kmcnt 0x0
706- ; GFX12-FAKE16-NEXT: v_min_num_f16_e32 v0, v0, v1
706+ ; GFX12-FAKE16-NEXT: v_minimum_f16 v0, v0, v1
707707; GFX12-FAKE16-NEXT: s_setpc_b64 s[30:31]
708708 %cmp = fcmp ule half %a , %b
709709 %val = select nnan nsz i1 %cmp , half %a , half %b
@@ -872,7 +872,7 @@ define half @v_test_fmax_legacy_uge_f16_nnan_nsz_flag(half %a, half %b) {
872872; GFX12-TRUE16-NEXT: s_wait_samplecnt 0x0
873873; GFX12-TRUE16-NEXT: s_wait_bvhcnt 0x0
874874; GFX12-TRUE16-NEXT: s_wait_kmcnt 0x0
875- ; GFX12-TRUE16-NEXT: v_max_num_f16_e32 v0.l, v0.l, v1.l
875+ ; GFX12-TRUE16-NEXT: v_maximum_f16 v0.l, v0.l, v1.l
876876; GFX12-TRUE16-NEXT: s_setpc_b64 s[30:31]
877877;
878878; GFX12-FAKE16-LABEL: v_test_fmax_legacy_uge_f16_nnan_nsz_flag:
@@ -882,7 +882,7 @@ define half @v_test_fmax_legacy_uge_f16_nnan_nsz_flag(half %a, half %b) {
882882; GFX12-FAKE16-NEXT: s_wait_samplecnt 0x0
883883; GFX12-FAKE16-NEXT: s_wait_bvhcnt 0x0
884884; GFX12-FAKE16-NEXT: s_wait_kmcnt 0x0
885- ; GFX12-FAKE16-NEXT: v_max_num_f16_e32 v0, v0, v1
885+ ; GFX12-FAKE16-NEXT: v_maximum_f16 v0, v0, v1
886886; GFX12-FAKE16-NEXT: s_setpc_b64 s[30:31]
887887 %cmp = fcmp uge half %a , %b
888888 %val = select nnan nsz i1 %cmp , half %a , half %b
@@ -1122,7 +1122,7 @@ define <2 x half> @v_test_fmin_legacy_ule_v2f16_nnan_nsz_flag(<2 x half> %a, <2
11221122; GFX12-NEXT: s_wait_samplecnt 0x0
11231123; GFX12-NEXT: s_wait_bvhcnt 0x0
11241124; GFX12-NEXT: s_wait_kmcnt 0x0
1125- ; GFX12-NEXT: v_pk_min_num_f16 v0, v0, v1
1125+ ; GFX12-NEXT: v_pk_minimum_f16 v0, v0, v1
11261126; GFX12-NEXT: s_setpc_b64 s[30:31]
11271127 %cmp = fcmp ule <2 x half > %a , %b
11281128 %val = select nnan nsz <2 x i1 > %cmp , <2 x half > %a , <2 x half > %b
@@ -1362,7 +1362,7 @@ define <2 x half> @v_test_fmax_legacy_uge_v2f16_nnan_nsz_flag(<2 x half> %a, <2
13621362; GFX12-NEXT: s_wait_samplecnt 0x0
13631363; GFX12-NEXT: s_wait_bvhcnt 0x0
13641364; GFX12-NEXT: s_wait_kmcnt 0x0
1365- ; GFX12-NEXT: v_pk_max_num_f16 v0, v0, v1
1365+ ; GFX12-NEXT: v_pk_maximum_f16 v0, v0, v1
13661366; GFX12-NEXT: s_setpc_b64 s[30:31]
13671367 %cmp = fcmp uge <2 x half > %a , %b
13681368 %val = select nnan nsz <2 x i1 > %cmp , <2 x half > %a , <2 x half > %b
@@ -1692,8 +1692,12 @@ define <4 x half> @v_test_fmin_legacy_ule_v4f16_nnan_nsz_flag(<4 x half> %a, <4
16921692; GFX9-LABEL: v_test_fmin_legacy_ule_v4f16_nnan_nsz_flag:
16931693; GFX9: ; %bb.0:
16941694; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
1695+ ; GFX9-NEXT: v_pk_max_f16 v2, v2, v2
1696+ ; GFX9-NEXT: v_pk_max_f16 v0, v0, v0
16951697; GFX9-NEXT: v_pk_min_f16 v0, v0, v2
1696- ; GFX9-NEXT: v_pk_min_f16 v1, v1, v3
1698+ ; GFX9-NEXT: v_pk_max_f16 v2, v3, v3
1699+ ; GFX9-NEXT: v_pk_max_f16 v1, v1, v1
1700+ ; GFX9-NEXT: v_pk_min_f16 v1, v1, v2
16971701; GFX9-NEXT: s_setpc_b64 s[30:31]
16981702;
16991703; GFX12-LABEL: v_test_fmin_legacy_ule_v4f16_nnan_nsz_flag:
@@ -1703,6 +1707,11 @@ define <4 x half> @v_test_fmin_legacy_ule_v4f16_nnan_nsz_flag(<4 x half> %a, <4
17031707; GFX12-NEXT: s_wait_samplecnt 0x0
17041708; GFX12-NEXT: s_wait_bvhcnt 0x0
17051709; GFX12-NEXT: s_wait_kmcnt 0x0
1710+ ; GFX12-NEXT: v_pk_max_num_f16 v2, v2, v2
1711+ ; GFX12-NEXT: v_pk_max_num_f16 v0, v0, v0
1712+ ; GFX12-NEXT: v_pk_max_num_f16 v3, v3, v3
1713+ ; GFX12-NEXT: v_pk_max_num_f16 v1, v1, v1
1714+ ; GFX12-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
17061715; GFX12-NEXT: v_pk_min_num_f16 v0, v0, v2
17071716; GFX12-NEXT: v_pk_min_num_f16 v1, v1, v3
17081717; GFX12-NEXT: s_setpc_b64 s[30:31]
@@ -2034,8 +2043,12 @@ define <4 x half> @v_test_fmax_legacy_uge_v4f16_nnan_nsz_flag(<4 x half> %a, <4
20342043; GFX9-LABEL: v_test_fmax_legacy_uge_v4f16_nnan_nsz_flag:
20352044; GFX9: ; %bb.0:
20362045; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
2046+ ; GFX9-NEXT: v_pk_max_f16 v2, v2, v2
2047+ ; GFX9-NEXT: v_pk_max_f16 v0, v0, v0
20372048; GFX9-NEXT: v_pk_max_f16 v0, v0, v2
2038- ; GFX9-NEXT: v_pk_max_f16 v1, v1, v3
2049+ ; GFX9-NEXT: v_pk_max_f16 v2, v3, v3
2050+ ; GFX9-NEXT: v_pk_max_f16 v1, v1, v1
2051+ ; GFX9-NEXT: v_pk_max_f16 v1, v1, v2
20392052; GFX9-NEXT: s_setpc_b64 s[30:31]
20402053;
20412054; GFX12-LABEL: v_test_fmax_legacy_uge_v4f16_nnan_nsz_flag:
@@ -2045,6 +2058,11 @@ define <4 x half> @v_test_fmax_legacy_uge_v4f16_nnan_nsz_flag(<4 x half> %a, <4
20452058; GFX12-NEXT: s_wait_samplecnt 0x0
20462059; GFX12-NEXT: s_wait_bvhcnt 0x0
20472060; GFX12-NEXT: s_wait_kmcnt 0x0
2061+ ; GFX12-NEXT: v_pk_max_num_f16 v2, v2, v2
2062+ ; GFX12-NEXT: v_pk_max_num_f16 v0, v0, v0
2063+ ; GFX12-NEXT: v_pk_max_num_f16 v3, v3, v3
2064+ ; GFX12-NEXT: v_pk_max_num_f16 v1, v1, v1
2065+ ; GFX12-NEXT: s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
20482066; GFX12-NEXT: v_pk_max_num_f16 v0, v0, v2
20492067; GFX12-NEXT: v_pk_max_num_f16 v1, v1, v3
20502068; GFX12-NEXT: s_setpc_b64 s[30:31]
@@ -2079,7 +2097,7 @@ define float @v_test_fmin_legacy_uge_f32_nsz_flag__nnan_srcs(float %arg0, float
20792097; GFX12-NEXT: s_wait_kmcnt 0x0
20802098; GFX12-NEXT: v_dual_add_f32 v0, v0, v0 :: v_dual_add_f32 v1, v1, v1
20812099; GFX12-NEXT: s_delay_alu instid0(VALU_DEP_1)
2082- ; GFX12-NEXT: v_min_num_f32_e32 v0, v0, v1
2100+ ; GFX12-NEXT: v_minimum_f32 v0, v0, v1
20832101; GFX12-NEXT: s_setpc_b64 s[30:31]
20842102 %a = fadd nnan float %arg0 , %arg0
20852103 %b = fadd nnan float %arg1 , %arg1
@@ -2114,7 +2132,7 @@ define float @v_test_fmax_legacy_uge_f32_nsz_flag__nnan_srcs(float %arg0, float
21142132; GFX12-NEXT: s_wait_kmcnt 0x0
21152133; GFX12-NEXT: v_dual_add_f32 v0, v0, v0 :: v_dual_add_f32 v1, v1, v1
21162134; GFX12-NEXT: s_delay_alu instid0(VALU_DEP_1)
2117- ; GFX12-NEXT: v_max_num_f32_e32 v0, v0, v1
2135+ ; GFX12-NEXT: v_maximum_f32 v0, v0, v1
21182136; GFX12-NEXT: s_setpc_b64 s[30:31]
21192137 %a = fadd nnan float %arg0 , %arg0
21202138 %b = fadd nnan float %arg1 , %arg1
0 commit comments