aco: move dot/wmma instructions into VOP3P list

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27913>
This commit is contained in:
Rhys Perry
2024-03-05 15:02:53 +00:00
committed by Marge Bot
parent 6bfd3dc39f
commit 20b14381c4
+17 -17
View File
@@ -1073,24 +1073,24 @@ VOPP = {
("v_fma_mix_f32", True, dst(1), src(1, 1, 1), op(gfx9=0x20)), # v_mad_mix_f32 in VEGA ISA, v_fma_mix_f32 in RDNA ISA
("v_fma_mixlo_f16", True, dst(1), src(1, 1, 1), op(gfx9=0x21)), # v_mad_mixlo_f16 in VEGA ISA, v_fma_mixlo_f16 in RDNA ISA
("v_fma_mixhi_f16", True, dst(1), src(1, 1, 1), op(gfx9=0x22)), # v_mad_mixhi_f16 in VEGA ISA, v_fma_mixhi_f16 in RDNA ISA
("v_dot2_i32_i16", False, dst(1), src(1, 1, 1), op(gfx9=0x26, gfx10=0x14, gfx11=-1)),
("v_dot2_u32_u16", False, dst(1), src(1, 1, 1), op(gfx9=0x27, gfx10=0x15, gfx11=-1)),
("v_dot4_i32_iu8", False, dst(1), src(1, 1, 1), op(gfx11=0x16)),
("v_dot4_i32_i8", False, dst(1), src(1, 1, 1), op(gfx9=0x28, gfx10=0x16, gfx11=-1)),
("v_dot4_u32_u8", False, dst(1), src(1, 1, 1), op(gfx9=0x29, gfx10=0x17)),
("v_dot8_i32_iu4", False, dst(1), src(1, 1, 1), op(gfx11=0x18)),
("v_dot8_u32_u4", False, dst(1), src(1, 1, 1), op(gfx9=0x2b, gfx10=0x19)),
("v_dot2_f32_f16", False, dst(1), src(1, 1, 1), op(gfx9=0x23, gfx10=0x13)),
("v_dot2_f32_bf16", False, dst(1), src(1, 1, 1), op(gfx11=0x1a)),
("v_wmma_f32_16x16x16_f16", False, dst(), src(), op(gfx11=0x40), InstrClass.WMMA),
("v_wmma_f32_16x16x16_bf16", False, dst(), src(), op(gfx11=0x41), InstrClass.WMMA),
("v_wmma_f16_16x16x16_f16", False, dst(), src(), op(gfx11=0x42), InstrClass.WMMA),
("v_wmma_bf16_16x16x16_bf16", False, dst(), src(), op(gfx11=0x43), InstrClass.WMMA),
("v_wmma_i32_16x16x16_iu8", False, dst(), src(), op(gfx11=0x44), InstrClass.WMMA),
("v_wmma_i32_16x16x16_iu4", False, dst(), src(), op(gfx11=0x45), InstrClass.WMMA),
}
for (name, modifiers, defs, ops, num) in VOPP:
insn(name, num, Format.VOP3P, InstrClass.Valu32, modifiers, modifiers, definitions = defs, operands = ops)
insn("v_dot2_i32_i16", op(gfx9=0x26, gfx10=0x14, gfx11=-1), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot2_u32_u16", op(gfx9=0x27, gfx10=0x15, gfx11=-1), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot4_i32_iu8", op(gfx11=0x16), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot4_i32_i8", op(gfx9=0x28, gfx10=0x16, gfx11=-1), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot4_u32_u8", op(gfx9=0x29, gfx10=0x17), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot8_i32_iu4", op(gfx11=0x18), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot8_u32_u4", op(gfx9=0x2b, gfx10=0x19), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot2_f32_f16", op(gfx9=0x23, gfx10=0x13), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_dot2_f32_bf16", op(gfx11=0x1a), Format.VOP3P, InstrClass.Valu32, definitions = dst(1), operands = src(1, 1, 1))
insn("v_wmma_f32_16x16x16_f16", op(gfx11=0x40), Format.VOP3P, InstrClass.WMMA, False, False)
insn("v_wmma_f32_16x16x16_bf16", op(gfx11=0x41), Format.VOP3P, InstrClass.WMMA, False, False)
insn("v_wmma_f16_16x16x16_f16", op(gfx11=0x42), Format.VOP3P, InstrClass.WMMA, False, False)
insn("v_wmma_bf16_16x16x16_bf16", op(gfx11=0x43), Format.VOP3P, InstrClass.WMMA, False, False)
insn("v_wmma_i32_16x16x16_iu8", op(gfx11=0x44), Format.VOP3P, InstrClass.WMMA, False, False)
insn("v_wmma_i32_16x16x16_iu4", op(gfx11=0x45), Format.VOP3P, InstrClass.WMMA, False, False)
for (name, modifiers, defs, ops, num, cls) in default_class(VOPP, InstrClass.Valu32):
insn(name, num, Format.VOP3P, cls, modifiers, modifiers, definitions = defs, operands = ops)
# VINTRP (GFX6 - GFX10.3) instructions: