@@ -170,8 +170,8 @@ defm V_MUL_HI_I32 : VOP3Inst <"v_mul_hi_i32", V_MUL_PROF<VOP_I32_I32_I32>, mulhs
170170let SubtargetPredicate = isGFX12Plus, ReadsModeReg = 0, AddedComplexity = 1 in {
171171defm V_MINIMUM_F32 : VOP3Inst <"v_minimum_f32", VOP3_Profile<VOP_F32_F32_F32>, DivergentBinFrag<fminimum>>;
172172defm V_MAXIMUM_F32 : VOP3Inst <"v_maximum_f32", VOP3_Profile<VOP_F32_F32_F32>, DivergentBinFrag<fmaximum>>;
173- defm V_MINIMUM_F16 : VOP3Inst <"v_minimum_f16", VOP3_Profile< VOP_F16_F16_F16> , DivergentBinFrag<fminimum>>;
174- defm V_MAXIMUM_F16 : VOP3Inst <"v_maximum_f16", VOP3_Profile< VOP_F16_F16_F16> , DivergentBinFrag<fmaximum>>;
173+ defm V_MINIMUM_F16 : VOP3Inst_t16 <"v_minimum_f16", VOP_F16_F16_F16, DivergentBinFrag<fminimum>>;
174+ defm V_MAXIMUM_F16 : VOP3Inst_t16 <"v_maximum_f16", VOP_F16_F16_F16, DivergentBinFrag<fmaximum>>;
175175
176176let SchedRW = [WriteDoubleAdd] in {
177177defm V_MINIMUM_F64 : VOP3Inst <"v_minimum_f64", VOP3_Profile<VOP_F64_F64_F64>, fminimum>;
@@ -637,8 +637,8 @@ defm V_MAX3_I16 : VOP3Inst_t16 <"v_max3_i16", VOP_I16_I16_I16_I16, AMDGPUsmax3>;
637637defm V_MAX3_U16 : VOP3Inst_t16 <"v_max3_u16", VOP_I16_I16_I16_I16, AMDGPUumax3>;
638638
639639let SubtargetPredicate = HasMinimum3Maximum3F16, ReadsModeReg = 0 in {
640- defm V_MINIMUM3_F16 : VOP3Inst <"v_minimum3_f16", VOP3_Profile< VOP_F16_F16_F16_F16, VOP3_OPSEL> , AMDGPUfminimum3>;
641- defm V_MAXIMUM3_F16 : VOP3Inst <"v_maximum3_f16", VOP3_Profile< VOP_F16_F16_F16_F16, VOP3_OPSEL> , AMDGPUfmaximum3>;
640+ defm V_MINIMUM3_F16 : VOP3Inst_t16 <"v_minimum3_f16", VOP_F16_F16_F16_F16, AMDGPUfminimum3>;
641+ defm V_MAXIMUM3_F16 : VOP3Inst_t16 <"v_maximum3_f16", VOP_F16_F16_F16_F16, AMDGPUfmaximum3>;
642642} // End SubtargetPredicate = isGFX12Plus, ReadsModeReg = 0
643643
644644defm V_ADD_I16 : VOP3Inst_t16 <"v_add_i16", VOP_I16_I16_I16>;
@@ -1443,8 +1443,8 @@ let SubtargetPredicate = HasF32ToF16BF16ConversionSRInsts in {
14431443let SubtargetPredicate = isGFX12Plus, ReadsModeReg = 0 in {
14441444 defm V_MAXIMUMMINIMUM_F32 : VOP3Inst<"v_maximumminimum_f32", VOP3_Profile<VOP_F32_F32_F32_F32>>;
14451445 defm V_MINIMUMMAXIMUM_F32 : VOP3Inst<"v_minimummaximum_f32", VOP3_Profile<VOP_F32_F32_F32_F32>>;
1446- defm V_MAXIMUMMINIMUM_F16 : VOP3Inst <"v_maximumminimum_f16", VOP3_Profile< VOP_F16_F16_F16_F16, VOP3_OPSEL> >;
1447- defm V_MINIMUMMAXIMUM_F16 : VOP3Inst <"v_minimummaximum_f16", VOP3_Profile< VOP_F16_F16_F16_F16, VOP3_OPSEL> >;
1446+ defm V_MAXIMUMMINIMUM_F16 : VOP3Inst_t16 <"v_maximumminimum_f16", VOP_F16_F16_F16_F16>;
1447+ defm V_MINIMUMMAXIMUM_F16 : VOP3Inst_t16 <"v_minimummaximum_f16", VOP_F16_F16_F16_F16>;
14481448} // End SubtargetPredicate = isGFX12Plus, ReadsModeReg = 0
14491449
14501450let SubtargetPredicate = HasDot9Insts, IsDOT=1 in {
@@ -1594,8 +1594,8 @@ defm V_MIN3_NUM_F16 : VOP3_Realtriple_t16_and_fake16_gfx12<0x22b, "v_min3_
15941594defm V_MAX3_NUM_F16 : VOP3_Realtriple_t16_and_fake16_gfx12<0x22c, "v_max3_num_f16", "V_MAX3_F16", "v_max3_f16">;
15951595defm V_MINIMUM3_F32 : VOP3Only_Realtriple_gfx12<0x22d>;
15961596defm V_MAXIMUM3_F32 : VOP3Only_Realtriple_gfx12<0x22e>;
1597- defm V_MINIMUM3_F16 : VOP3Only_Realtriple_t16_gfx12 <0x22f>;
1598- defm V_MAXIMUM3_F16 : VOP3Only_Realtriple_t16_gfx12 <0x230>;
1597+ defm V_MINIMUM3_F16 : VOP3Only_Realtriple_t16_and_fake16_gfx12 <0x22f, "v_minimum3_f16" >;
1598+ defm V_MAXIMUM3_F16 : VOP3Only_Realtriple_t16_and_fake16_gfx12 <0x230, "v_maximum3_f16" >;
15991599defm V_MED3_NUM_F32 : VOP3_Realtriple_with_name_gfx12<0x231, "V_MED3_F32", "v_med3_num_f32">;
16001600defm V_MED3_NUM_F16 : VOP3_Realtriple_t16_and_fake16_gfx12<0x232, "v_med3_num_f16", "V_MED3_F16", "v_med3_f16">;
16011601defm V_MINMAX_NUM_F32 : VOP3_Realtriple_with_name_gfx12<0x268, "V_MINMAX_F32", "v_minmax_num_f32">;
@@ -1604,8 +1604,8 @@ defm V_MINMAX_NUM_F16 : VOP3_Realtriple_t16_and_fake16_gfx12<0x26a, "v_minma
16041604defm V_MAXMIN_NUM_F16 : VOP3_Realtriple_t16_and_fake16_gfx12<0x26b, "v_maxmin_num_f16", "V_MAXMIN_F16", "v_maxmin_f16">;
16051605defm V_MINIMUMMAXIMUM_F32 : VOP3Only_Realtriple_gfx12<0x26c>;
16061606defm V_MAXIMUMMINIMUM_F32 : VOP3Only_Realtriple_gfx12<0x26d>;
1607- defm V_MINIMUMMAXIMUM_F16 : VOP3Only_Realtriple_t16_gfx12 <0x26e>;
1608- defm V_MAXIMUMMINIMUM_F16 : VOP3Only_Realtriple_t16_gfx12 <0x26f>;
1607+ defm V_MINIMUMMAXIMUM_F16 : VOP3Only_Realtriple_t16_and_fake16_gfx12 <0x26e, "v_minimummaximum_f16" >;
1608+ defm V_MAXIMUMMINIMUM_F16 : VOP3Only_Realtriple_t16_and_fake16_gfx12 <0x26f, "v_maximumminimum_f16" >;
16091609defm V_S_EXP_F32 : VOP3Only_Real_Base_gfx12<0x280>;
16101610defm V_S_EXP_F16 : VOP3Only_Real_Base_gfx12<0x281>;
16111611defm V_S_LOG_F32 : VOP3Only_Real_Base_gfx12<0x282>;
@@ -1622,8 +1622,8 @@ defm V_MINIMUM_F64 : VOP3Only_Real_Base_gfx12<0x341>;
16221622defm V_MAXIMUM_F64 : VOP3Only_Real_Base_gfx12<0x342>;
16231623defm V_MINIMUM_F32 : VOP3Only_Realtriple_gfx12<0x365>;
16241624defm V_MAXIMUM_F32 : VOP3Only_Realtriple_gfx12<0x366>;
1625- defm V_MINIMUM_F16 : VOP3Only_Realtriple_t16_gfx12 <0x367>;
1626- defm V_MAXIMUM_F16 : VOP3Only_Realtriple_t16_gfx12 <0x368>;
1625+ defm V_MINIMUM_F16 : VOP3Only_Realtriple_t16_and_fake16_gfx12 <0x367, "v_minimum_f16" >;
1626+ defm V_MAXIMUM_F16 : VOP3Only_Realtriple_t16_and_fake16_gfx12 <0x368, "v_maximum_f16" >;
16271627
16281628defm V_PERMLANE16_VAR_B32 : VOP3Only_Real_Base_gfx12<0x30f>;
16291629defm V_PERMLANEX16_VAR_B32 : VOP3Only_Real_Base_gfx12<0x310>;
0 commit comments