@@ -1556,7 +1556,8 @@ class getVALUDstForVT<ValueType VT, bit IsTrue16 = 0, bit IsVOP3Encoding = 0> {
15561556 defvar op16 = !if(IsTrue16, !if (IsVOP3Encoding, VOPDstOperand_t16,
15571557 VOPDstOperand_t16Lo128),
15581558 VOPDstOperand<VGPR_32>);
1559- RegisterOperand ret = !cond(!eq(VT.Size, 256) : VOPDstOperand<VReg_256>,
1559+ RegisterOperand ret = !cond(!eq(VT.Size, 1024) : VOPDstOperand<VReg_1024>,
1560+ !eq(VT.Size, 256) : VOPDstOperand<VReg_256>,
15601561 !eq(VT.Size, 128) : VOPDstOperand<VReg_128>,
15611562 !eq(VT.Size, 64) : VOPDstOperand<VReg_64>,
15621563 !eq(VT.Size, 32) : VOPDstOperand<VGPR_32>,
@@ -1612,7 +1613,8 @@ class getSOPSrcForVT<ValueType VT> {
16121613// Returns the vreg register class to use for source operand given VT
16131614class getVregSrcForVT<ValueType VT, bit IsTrue16 = 0, bit IsFake16 = 0> {
16141615 RegisterOperand ret =
1615- !cond(!eq(VT.Size, 128) : RegisterOperand<VReg_128>,
1616+ !cond(!eq(VT.Size, 192) : RegisterOperand<VReg_192>,
1617+ !eq(VT.Size, 128) : RegisterOperand<VReg_128>,
16161618 !eq(VT.Size, 96) : RegisterOperand<VReg_96>,
16171619 !eq(VT.Size, 64) : RegisterOperand<VReg_64>,
16181620 !eq(VT.Size, 48) : RegisterOperand<VReg_64>,
@@ -1645,6 +1647,7 @@ class getVOP3SrcForVT<ValueType VT, bit IsTrue16 = 0> {
16451647 !eq(VT, v2i16) : VSrc_v2b16,
16461648 !eq(VT, v4f16) : AVSrc_64,
16471649 !eq(VT, v4bf16) : AVSrc_64,
1650+ !eq(VT.Size, 192) : VRegSrc_192,
16481651 !eq(VT.Size, 128) : VRegSrc_128,
16491652 !eq(VT.Size, 96) : VRegSrc_96,
16501653 !eq(VT.Size, 64) : VSrc_b64,
@@ -2635,6 +2638,9 @@ def VOP_I32_I32_I32_ARITH : VOPProfile <[i32, i32, i32, untyped], /*EnableClamp=
26352638def VOP_V2F16_F32_F32 : VOPProfile <[v2f16, f32, f32, untyped]>;
26362639def VOP_F32_F16_F16_F16 : VOPProfile <[f32, f16, f16, f16]>;
26372640def VOP_V2BF16_F32_F32 : VOPProfile <[v2bf16, f32, f32, untyped]>;
2641+ def VOP_V32F32_V6I32_F32 : VOPProfile <[v32f32, v6i32, f32, untyped]>;
2642+ def VOP_V32F16_V6I32_F32 : VOPProfile <[v32f16, v6i32, f32, untyped]>;
2643+ def VOP_V32BF16_V6I32_F32 : VOPProfile <[v32bf16, v6i32, f32, untyped]>;
26382644
26392645def VOP_I64_I64_I32 : VOPProfile <[i64, i64, i32, untyped]>;
26402646def VOP_I64_I32_I64 : VOPProfile <[i64, i32, i64, untyped]>;
0 commit comments