@@ -1696,7 +1696,8 @@ class getVALUDstForVT<ValueType VT, bit IsTrue16 = 0, bit IsVOP3Encoding = 0> {
16961696 defvar op16 = !if(IsTrue16, !if (IsVOP3Encoding, VOPDstOperand_t16,
16971697 VOPDstOperand_t16Lo128),
16981698 VOPDstOperand<VGPR_32>);
1699- RegisterOperand ret = !cond(!eq(VT.Size, 256) : VOPDstOperand<VReg_256>,
1699+ RegisterOperand ret = !cond(!eq(VT.Size, 1024) : VOPDstOperand<VReg_1024>,
1700+ !eq(VT.Size, 256) : VOPDstOperand<VReg_256>,
17001701 !eq(VT.Size, 128) : VOPDstOperand<VReg_128>,
17011702 !eq(VT.Size, 64) : VOPDstOperand<VReg_64>,
17021703 !eq(VT.Size, 32) : VOPDstOperand<VGPR_32>,
@@ -1752,7 +1753,8 @@ class getSOPSrcForVT<ValueType VT> {
17521753// Returns the vreg register class to use for source operand given VT
17531754class getVregSrcForVT<ValueType VT, bit IsTrue16 = 0, bit IsFake16 = 1> {
17541755 RegisterOperand ret =
1755- !cond(!eq(VT.Size, 128) : RegisterOperand<VReg_128>,
1756+ !cond(!eq(VT.Size, 192) : RegisterOperand<VReg_192>,
1757+ !eq(VT.Size, 128) : RegisterOperand<VReg_128>,
17561758 !eq(VT.Size, 96) : RegisterOperand<VReg_96>,
17571759 !eq(VT.Size, 64) : RegisterOperand<VReg_64>,
17581760 !eq(VT.Size, 48) : RegisterOperand<VReg_64>,
@@ -1785,6 +1787,7 @@ class getVOP3SrcForVT<ValueType VT, bit IsTrue16 = 0> {
17851787 !eq(VT, v2i16) : VSrc_v2b16,
17861788 !eq(VT, v4f16) : AVSrc_64,
17871789 !eq(VT, v4bf16) : AVSrc_64,
1790+ !eq(VT.Size, 192) : VRegSrc_192,
17881791 !eq(VT.Size, 128) : VRegSrc_128,
17891792 !eq(VT.Size, 96) : VRegSrc_96,
17901793 !eq(VT.Size, 64) : VSrc_b64,
@@ -2828,6 +2831,9 @@ def VOP_I32_I32_I32_ARITH : VOPProfile <[i32, i32, i32, untyped], /*EnableClamp=
28282831def VOP_V2F16_F32_F32 : VOPProfile <[v2f16, f32, f32, untyped]>;
28292832def VOP_F32_F16_F16_F16 : VOPProfile <[f32, f16, f16, f16]>;
28302833def VOP_V2BF16_F32_F32 : VOPProfile <[v2bf16, f32, f32, untyped]>;
2834+ def VOP_V32F32_V6I32_F32 : VOPProfile <[v32f32, v6i32, f32, untyped]>;
2835+ def VOP_V32F16_V6I32_F32 : VOPProfile <[v32f16, v6i32, f32, untyped]>;
2836+ def VOP_V32BF16_V6I32_F32 : VOPProfile <[v32bf16, v6i32, f32, untyped]>;
28312837
28322838def VOP_I64_I64_I32 : VOPProfile <[i64, i64, i32, untyped]>;
28332839def VOP_I64_I32_I64 : VOPProfile <[i64, i32, i64, untyped]>;
0 commit comments