# autogenerated from AMD ISA XML - do not edit
from extra.assembly.amd.autogen.common import Fmt, OpType
from extra.assembly.amd.autogen.cdna.enum import *

# instruction operand info: {Op: {field: (Fmt, size_bits, OpType)}}
OPERANDS = {
  MUBUFOp.BUFFER_ATOMIC_ADD: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_ADD_F32: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_ADD_F64: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_ADD_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_AND: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_AND_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_CMPSWAP: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_CMPSWAP_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_DEC: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_DEC_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_INC: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_INC_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_MAX_F64: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_MIN_F64: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_OR: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_OR_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_PK_ADD_BF16: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_PK_ADD_F16: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SMAX: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SMAX_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SMIN: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SMIN_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SUB: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SUB_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SWAP: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_SWAP_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_UMAX: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_UMAX_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_UMIN: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_UMIN_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_XOR: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_ATOMIC_XOR_X2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_DWORD: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_DWORDX2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_DWORDX3: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_DWORDX4: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_D16_HI_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_D16_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_D16_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_D16_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_D16_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_FORMAT_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_SBYTE: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_SBYTE_D16: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_SBYTE_D16_HI: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_SHORT_D16: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_SHORT_D16_HI: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_SSHORT: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_UBYTE: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_UBYTE_D16: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_UBYTE_D16_HI: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_LOAD_USHORT: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_BYTE: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_BYTE_D16_HI: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_DWORD: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_DWORDX2: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_DWORDX3: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_DWORDX4: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_D16_HI_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_D16_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_D16_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_D16_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_D16_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_FORMAT_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_SHORT: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MUBUFOp.BUFFER_STORE_SHORT_D16_HI: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_SCRATCH, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_RTN_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_RTN_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_ADD_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_AND_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_AND_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_AND_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_AND_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_APPEND: {"vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_BPERMUTE_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_RTN_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CMPST_RTN_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CONDXCHG32_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_CONSUME: {"vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_DEC_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_DEC_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_DEC_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_DEC_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_INC_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_INC_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_INC_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_INC_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_I32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_I64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_RTN_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_RTN_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_RTN_I32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_RTN_I64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MAX_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_I32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_I64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_RTN_F32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_RTN_F64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_RTN_I32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_RTN_I64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MIN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MSKOR_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MSKOR_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MSKOR_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_MSKOR_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_OR_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_OR_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_OR_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_OR_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_PERMUTE_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_PK_ADD_BF16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_PK_ADD_F16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_PK_ADD_RTN_BF16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_PK_ADD_RTN_F16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ2ST64_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ2ST64_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_B64, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ2_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ2_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_B64, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_ADDTID_B32: {"vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B128: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B128, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B64_TR_B16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B64_TR_B4: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B64_TR_B8: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B96: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B96, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_B96_TR_B6: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B96, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_I16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_I8: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_I8_D16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_I8_D16_HI: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_U16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_U16_D16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_U16_D16_HI: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_U8: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_U8_D16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_READ_U8_D16_HI: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_RSUB_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_RSUB_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_RSUB_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_RSUB_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_SUB_RTN_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_SUB_RTN_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_SUB_U32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_SUB_U64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_SWIZZLE_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRAP_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE2ST64_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE2ST64_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE2_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE2_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_ADDTID_B32: {"data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B128: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B128, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B16: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B16, 16, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B16_D16_HI: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_PK2_B16, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B8: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B8, 8, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B8_D16_HI: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_PK4_B8, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRITE_B96: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B96, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRXCHG2ST64_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRXCHG2ST64_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_PK2_B64, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRXCHG2_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRXCHG2_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "data1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_PK2_B64, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRXCHG_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_WRXCHG_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_XOR_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_XOR_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_XOR_RTN_B32: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  DSOp.DS_XOR_RTN_B64: {"addr": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "data0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_ADD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_ADD_F32: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_ADD_F64: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_ADD_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_AND: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_AND_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_CMPSWAP: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_CMPSWAP_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_DEC: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_DEC_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_INC: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_INC_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_MAX_F64: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_MIN_F64: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_OR: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_OR_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_PK_ADD_BF16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_PK_ADD_F16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SMAX: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SMAX_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SMIN: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SMIN_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SUB: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SUB_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SWAP: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_SWAP_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_UMAX: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_UMAX_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_UMIN: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_UMIN_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_XOR: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_ATOMIC_XOR_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_DWORD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_DWORDX2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_DWORDX3: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_DWORDX4: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_SBYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_SBYTE_D16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_SBYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_SHORT_D16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_SHORT_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_SSHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_UBYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_UBYTE_D16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_UBYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_LOAD_USHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_BYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_BYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_DWORD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_DWORDX2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_DWORDX3: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_DWORDX4: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_SHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  FLATOp.FLAT_STORE_SHORT_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_ADD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_ADD_F32: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_ADD_F64: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_ADD_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_AND: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_AND_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_CMPSWAP: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_DEC: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_DEC_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_INC: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_INC_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_MAX_F64: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_MIN_F64: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_OR: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_OR_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_PK_ADD_BF16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_PK_ADD_F16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SMAX: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SMAX_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SMIN: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SMIN_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SUB: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SUB_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SWAP: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_SWAP_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_UMAX: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_UMAX_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_UMIN: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_UMIN_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_XOR: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_ATOMIC_XOR_X2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_DWORD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_DWORDX2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_DWORDX3: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_DWORDX4: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_DWORD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_DWORDX3: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_DWORDX4: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_SBYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_SSHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_UBYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_LDS_USHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_SBYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_SBYTE_D16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_SBYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_SHORT_D16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_SHORT_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_SSHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_UBYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_UBYTE_D16: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_UBYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_LOAD_USHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  GLOBALOp.GLOBAL_STORE_BYTE: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_BYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_DWORD: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_DWORDX2: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_DWORDX3: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_DWORDX4: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_SHORT: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  GLOBALOp.GLOBAL_STORE_SHORT_D16_HI: {"addr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 64, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_LOAD_DWORD: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_DWORDX2: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_DWORDX3: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_DWORDX4: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_LDS_DWORD: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_LDS_SBYTE: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_LDS_SSHORT: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_LDS_UBYTE: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_LDS_USHORT: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_SBYTE: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_SBYTE_D16: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_SBYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_SHORT_D16: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_SHORT_D16_HI: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_SSHORT: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_UBYTE: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_UBYTE_D16: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_UBYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_LOAD_USHORT: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "vdst": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  SCRATCHOp.SCRATCH_STORE_BYTE: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_BYTE_D16_HI: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_DWORD: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_DWORDX2: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_DWORDX3: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_DWORDX4: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_SHORT: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SCRATCHOp.SCRATCH_STORE_SHORT_D16_HI: {"addr": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR), "data": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR), "saddr": (Fmt.FMT_ANY, 32, OpType.OPR_SREG)},
  SOP2Op.S_ABSDIFF_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_ABS_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_ADDC_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPKOp.S_ADDK_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOP2Op.S_ADD_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_ADD_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_ANDN1_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_ANDN1_WREXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_ANDN2_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_ANDN2_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_ANDN2_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_ANDN2_WREXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_AND_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_AND_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_AND_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_ASHR_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_ASHR_I64: {"sdst": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SMEMOp.S_ATC_PROBE: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_NUM_B8, 8, OpType.OPR_SIMM8), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATC_PROBE_BUFFER: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_NUM_B8, 8, OpType.OPR_SIMM8), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_ADD: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_ADD_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_AND: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_AND_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_CMPSWAP: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_CMPSWAP_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_DEC: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_DEC_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_INC: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_INC_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_OR: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_OR_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SMAX: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SMAX_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SMIN: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SMIN_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SUB: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SUB_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SWAP: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_SWAP_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_UMAX: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_UMAX_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_UMIN: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_UMIN_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_XOR: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_ATOMIC_XOR_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SOP1Op.S_BCNT0_I32_B32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BCNT0_I32_B64: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_BCNT1_I32_B32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BCNT1_I32_B64: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_BFE_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_BFE_I64: {"sdst": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_BFE_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_BFE_U64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_BFM_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_BFM_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_BITCMP0_B32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_BITCMP0_B64: {"ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_BITCMP1_B32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_BITCMP1_B64: {"ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BITREPLICATE_B64_B32: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BITSET0_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BITSET0_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BITSET1_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BITSET1_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPPOp.S_BRANCH: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOP1Op.S_BREV_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_BREV_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SMEMOp.S_BUFFER_ATOMIC_ADD: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_ADD_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_AND: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_AND_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_CMPSWAP: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_CMPSWAP_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_DEC: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_DEC_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_INC: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_INC_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_OR: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_OR_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SMAX: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SMAX_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SMIN: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SMIN_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SUB: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SUB_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SWAP: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_SWAP_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_UMAX: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_UMAX_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_UMIN: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_UMIN_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_XOR: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_ATOMIC_XOR_X2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_LOAD_DWORD: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_LOAD_DWORDX16: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 512, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_LOAD_DWORDX2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_LOAD_DWORDX4: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_LOAD_DWORDX8: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 256, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_STORE_DWORD: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_STORE_DWORDX2: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_BUFFER_STORE_DWORDX4: {"sbase": (Fmt.FMT_RSRC_SCALAR, 128, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SOPKOp.S_CALL_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_CDBGSYS: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_CDBGSYS_AND_USER: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_CDBGSYS_OR_USER: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_CDBGUSER: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_EXECNZ: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_EXECZ: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOP2Op.S_CBRANCH_G_FORK: {"ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC_NOLIT), "ssrc1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC_NOLIT)},
  SOPKOp.S_CBRANCH_I_FORK: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOP1Op.S_CBRANCH_JOIN: {"ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SREG)},
  SOPPOp.S_CBRANCH_SCC0: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_SCC1: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_VCCNZ: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPPOp.S_CBRANCH_VCCZ: {"simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_LABEL)},
  SOPKOp.S_CMOVK_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOP1Op.S_CMOV_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_CMOV_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC)},
  SOPKOp.S_CMPK_EQ_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_EQ_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_GE_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_GE_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_GT_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_GT_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_LE_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_LE_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_LG_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_LG_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_LT_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_CMPK_LT_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SIMM16)},
  SOPCOp.S_CMP_EQ_I32: {"ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_EQ_U32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_EQ_U64: {"ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_GE_I32: {"ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_GE_U32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_GT_I32: {"ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_GT_U32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LE_I32: {"ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LE_U32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LG_I32: {"ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LG_U32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LG_U64: {"ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LT_I32: {"ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOPCOp.S_CMP_LT_U32: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_CSELECT_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_CSELECT_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC)},
  SMEMOp.S_DCACHE_DISCARD: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_DCACHE_DISCARD_X2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SOPPOp.S_DECPERFLEVEL: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOP1Op.S_FF0_I32_B32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_FF0_I32_B64: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_FF1_I32_B32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_FF1_I32_B64: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_FLBIT_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_FLBIT_I32_B32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_FLBIT_I32_B64: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_FLBIT_I32_I64: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_GETPC_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  SOPKOp.S_GETREG_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_HWREG)},
  SOPPOp.S_INCPERFLEVEL: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SMEMOp.S_LOAD_DWORD: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_LOAD_DWORDX16: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 512, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_LOAD_DWORDX2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_LOAD_DWORDX4: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_LOAD_DWORDX8: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 256, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SOP2Op.S_LSHL1_ADD_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHL2_ADD_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHL3_ADD_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHL4_ADD_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHL_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHL_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHR_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_LSHR_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_MAX_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_MAX_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SMEMOp.S_MEMREALTIME: {"sdata": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  SMEMOp.S_MEMTIME: {"sdata": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  SOP2Op.S_MIN_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_MIN_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOPKOp.S_MOVK_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOP1Op.S_MOVRELD_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_MOVRELD_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_MOVRELS_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SREG)},
  SOP1Op.S_MOVRELS_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  SOP1Op.S_MOV_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_MOV_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC)},
  SOPKOp.S_MULK_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SIMM16)},
  SOP2Op.S_MUL_HI_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_MUL_HI_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_MUL_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_NAND_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_NAND_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_NAND_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOPPOp.S_NOP: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOP2Op.S_NOR_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_NOR_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_NOR_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_NOT_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_NOT_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_ORN1_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_ORN2_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_ORN2_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_ORN2_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_OR_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_OR_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_OR_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_PACK_HH_B32_B16: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_PACK_LH_B32_B16: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_PACK_LL_B32_B16: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SSRC)},
  SOP1Op.S_QUADMASK_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_QUADMASK_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_RFE_B64: {"ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  SOP2Op.S_RFE_RESTORE_B64: {"ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SMEMOp.S_SCRATCH_LOAD_DWORD: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_SCRATCH_LOAD_DWORDX2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_SCRATCH_LOAD_DWORDX4: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_SCRATCH_STORE_DWORD: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_SCRATCH_STORE_DWORDX2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_SCRATCH_STORE_DWORDX4: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SOPPOp.S_SENDMSG: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SENDMSG)},
  SOPPOp.S_SENDMSGHALT: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SENDMSG)},
  SOPPOp.S_SETHALT: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOPPOp.S_SETKILL: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOP1Op.S_SETPC_B64: {"ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  SOPPOp.S_SETPRIO: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOPKOp.S_SETREG_B32: {"sdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SDST), "simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_HWREG)},
  SOPKOp.S_SETREG_IMM32_B32: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_HWREG)},
  SOPCOp.S_SETVSKIP: {"ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_SET_GPR_IDX_IDX: {"ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC)},
  SOPPOp.S_SET_GPR_IDX_MODE: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOPCOp.S_SET_GPR_IDX_ON: {"ssrc0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SIMM4)},
  SOPPOp.S_SET_VALU_COEXEC_MODE: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOP1Op.S_SEXT_I32_I16: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SSRC)},
  SOP1Op.S_SEXT_I32_I8: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I8, 8, OpType.OPR_SSRC)},
  SOPPOp.S_SLEEP: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SMEMOp.S_STORE_DWORD: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 32, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_STORE_DWORDX2: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 64, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SMEMOp.S_STORE_DWORDX4: {"sbase": (Fmt.FMT_BUF, 64, OpType.OPR_SREG), "sdata": (Fmt.FMT_ANY, 128, OpType.OPR_SREG), "soffset": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SMEM_OFFSET)},
  SOP2Op.S_SUBB_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_SUB_I32: {"sdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_SUB_U32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_SWAPPC_B64: {"sdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  SOPPOp.S_TRAP: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SIMM16)},
  SOPPOp.S_WAITCNT: {"simm16": (Fmt.FMT_NUM_B16, 16, OpType.OPR_WAITCNT)},
  SOP1Op.S_WQM_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP1Op.S_WQM_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_XNOR_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_XNOR_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_XNOR_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP2Op.S_XOR_B32: {"sdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SSRC)},
  SOP2Op.S_XOR_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SDST), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC), "ssrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  SOP1Op.S_XOR_SAVEEXEC_B64: {"sdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SREG), "ssrc0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SSRC)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_D16_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_LOAD_FORMAT_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_D16_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_D16_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_D16_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_D16_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_X: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 32, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_XY: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_XYZ: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 96, OpType.OPR_VGPR_OR_ACCVGPR)},
  MTBUFOp.TBUFFER_STORE_FORMAT_XYZW: {"soffset": (Fmt.FMT_ANY, 32, OpType.OPR_SSRC_NOLIT), "srsrc": (Fmt.FMT_RSRC_TYPED, 128, OpType.OPR_SREG), "vaddr": (Fmt.FMT_ANY, 64, OpType.OPR_VGPR), "vdata": (Fmt.FMT_ANY, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP1Op.V_ACCVGPR_MOV_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_ACCVGPR)},
  VOP3Op.V_ACCVGPR_MOV_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_ACCVGPR)},
  VOP3POp.V_ACCVGPR_READ: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_ACCVGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_ACCVGPR_WRITE: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_ACCVGPR)},
  VOP3Op.V_ADD3_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_ADDC_CO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_ADDC_CO_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_ADD_CO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_ADD_CO_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_ADD_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_ADD_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_LSHL_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_ADD_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_ADD_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ADD_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ALIGNBIT_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U8, 8, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ALIGNBYTE_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U8, 8, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_AND_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_AND_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_AND_OR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_ASHRREV_I16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_ASHRREV_I16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_ASHRREV_I32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ASHRREV_I32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_ASHRREV_I64: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_ASHR_PK_I8_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_ASHR_PK_U8_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_BCNT_U32_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_BFE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_BFE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_BFI_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_BFM_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_BFREV_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_BFREV_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_BITOP3_B16: {"src0": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_BITOP3_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CEIL_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CEIL_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CEIL_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CEIL_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CEIL_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CEIL_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_CLASS_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_CLASS_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_CLASS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_CLASS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_CLASS_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_CLASS_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_EQ_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_EQ_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_F_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_F_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_GT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_GT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_LT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_LT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NEQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NEQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NEQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NEQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NEQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NEQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NGE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NGE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NGE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NGE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NGE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NGE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NGT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NGT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NGT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NGT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NGT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NGT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_NLT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_NLT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_O_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_O_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_O_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_O_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_O_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_O_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_TRU_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_TRU_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_TRU_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_TRU_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_TRU_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_TRU_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_T_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_T_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_T_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_T_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_T_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_T_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_T_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_T_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_T_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_T_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_T_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_T_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_U_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_U_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_U_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_U_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMPX_U_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SDST)},
  VOPCOp.V_CMPX_U_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_CLASS_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_CLASS_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_CLASS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_CLASS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_CLASS_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_CLASS_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_EQ_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_EQ_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_F_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_F_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_GT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_GT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_LT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_LT_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NEQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NEQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NEQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NEQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NEQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NEQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NE_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NE_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NE_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NE_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NE_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NE_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NGE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NGE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NGE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NGE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NGE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NGE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NGT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NGT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NGT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NGT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NGT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NGT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLG_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_NLT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_NLT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_O_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_O_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_O_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_O_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_O_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_O_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_TRU_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_TRU_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_TRU_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_TRU_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_TRU_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_TRU_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_T_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_T_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_T_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_T_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_T_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_T_I64: {"src0": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_T_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_T_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_T_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_T_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_T_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_T_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_U_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_U_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_U_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_U_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CMP_U_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SREG)},
  VOPCOp.V_CMP_U_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_CNDMASK_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CNDMASK_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_COS_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_COS_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_COS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_COS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CUBEID_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CUBEMA_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CUBESC_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CUBETC_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F16_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F16_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F16_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F16_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_BF16: {"src0": (Fmt.FMT_NUM_BF16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_BF16: {"src0": (Fmt.FMT_NUM_BF16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_BF8: {"src0": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_BF8: {"src0": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_FP8: {"src0": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_FP8: {"src0": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_UBYTE0: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_UBYTE0: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_UBYTE1: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_UBYTE1: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_UBYTE2: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_UBYTE2: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F32_UBYTE3: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F32_UBYTE3: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F64_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F64_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F64_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F64_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_F64_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_F64_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_FLR_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_FLR_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_I32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_I32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_NORM_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_NORM_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_NORM_U16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_NORM_U16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_OFF_F32_I4: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_OFF_F32_I4: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PKACCUM_U8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PKNORM_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PKNORM_I16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PKNORM_U16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PKNORM_U16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PKRTZ_F16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_BF16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_BF8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_F16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_PK_F32_BF8: {"src0": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_F32_BF8: {"src0": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_PK_F32_FP8: {"src0": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_F32_FP8: {"src0": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_FP8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_I16_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_U16_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_PK_U8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_RPI_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_RPI_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_2XPK16_BF6_F32: {"src0": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_2XPK16_FP6_F32: {"src0": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_F16_BF8: {"src0": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_F16_FP8: {"src0": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_F32_BF8: {"src0": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_F32_FP8: {"src0": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_BF16_BF6: {"src0": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF16, 512, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_BF16_FP6: {"src0": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF16, 512, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_BF6_BF16: {"src0": (Fmt.FMT_NUM_PK32_BF16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_BF6_F16: {"src0": (Fmt.FMT_NUM_PK32_F16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_F16_BF6: {"src0": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_F16, 512, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_F16_FP6: {"src0": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_F16, 512, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_F32_BF6: {"src0": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_F32_FP6: {"src0": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_FP6_BF16: {"src0": (Fmt.FMT_NUM_PK32_BF16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK32_FP6_F16: {"src0": (Fmt.FMT_NUM_PK32_F16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_BF16_BF8: {"src0": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_BF16_FP4: {"src0": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_BF16_FP8: {"src0": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_BF8_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_BF8_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_BF8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_F16_BF8: {"src0": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_F16_FP4: {"src0": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_F16_FP8: {"src0": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_F32_BF8: {"src0": (Fmt.FMT_NUM_PK2_BF8, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_F32_FP4: {"src0": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_F32_FP8: {"src0": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_FP4_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_FP4_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_FP4_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_FP8_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_FP8_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_PK_FP8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_BF8_BF16: {"src0": (Fmt.FMT_NUM_BF16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_BF8_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_BF8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_FP8_BF16: {"src0": (Fmt.FMT_NUM_BF16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_FP8_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_FP8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_BF16: {"src0": (Fmt.FMT_NUM_PK32_BF16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_F16: {"src0": (Fmt.FMT_NUM_PK32_F16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_F32: {"src0": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_BF6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_BF16: {"src0": (Fmt.FMT_NUM_PK32_BF16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_F16: {"src0": (Fmt.FMT_NUM_PK32_F16, 512, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_F32: {"src0": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK32_FP6, 192, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_F32: {"src0": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_VGPR), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_FP4, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SR_BF16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_BF16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SR_BF8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_BF8, 8, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SR_F16_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_SR_FP8_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_FP8, 8, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_U16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_U16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_U32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_U32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_CVT_U32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_CVT_U32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DIV_FIXUP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_DIV_FIXUP_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DIV_FIXUP_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_DIV_FIXUP_LEGACY_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_DIV_FMAS_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DIV_FMAS_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3SDOp.V_DIV_SCALE_F32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SDST), "src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_DIV_SCALE_F64: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SDST), "src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_DOT2C_F32_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DOT2C_F32_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_DOT2C_F32_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DOT2C_F32_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_DOT2C_I32_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DOT2C_I32_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT2_F32_BF16: {"src0": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_BF16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT2_F32_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT2_I32_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT2_U32_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_DOT4C_I32_I8: {"src0": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DOT4C_I32_I8: {"src0": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT4_I32_I8: {"src0": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT4_U32_U8: {"src0": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_DOT8C_I32_I4: {"src0": (Fmt.FMT_NUM_PK8_I4, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_PK8_I4, 32, OpType.OPR_VGPR)},
  VOP3Op.V_DOT8C_I32_I4: {"src0": (Fmt.FMT_NUM_PK8_I4, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK8_I4, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT8_I32_I4: {"src0": (Fmt.FMT_NUM_PK8_I4, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK8_I4, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_DOT8_U32_U4: {"src0": (Fmt.FMT_NUM_PK8_U4, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK8_U4, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_EXP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_EXP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_EXP_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_EXP_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_EXP_LEGACY_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_EXP_LEGACY_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FFBH_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FFBH_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FFBH_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FFBH_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FFBL_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FFBL_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FLOOR_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_FLOOR_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_FLOOR_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FLOOR_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FLOOR_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_FLOOR_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_FMAAK_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_FMAC_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FMAC_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_FMAC_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_FMAC_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_FMAMK_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FMA_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_FMA_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FMA_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_FMA_LEGACY_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_FRACT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_FRACT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_FRACT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FRACT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FRACT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_FRACT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_FREXP_EXP_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_FREXP_EXP_I16_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_FREXP_EXP_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FREXP_EXP_I32_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FREXP_EXP_I32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FREXP_EXP_I32_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FREXP_MANT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_FREXP_MANT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_FREXP_MANT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_FREXP_MANT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_FREXP_MANT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_FREXP_MANT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_LDEXP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_LDEXP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_LDEXP_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LDEXP_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_LERP_U8: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_LOG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_LOG_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_LOG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LOG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_LOG_LEGACY_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LOG_LEGACY_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_LSHLREV_B16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_LSHLREV_B16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_LSHLREV_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LSHLREV_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LSHLREV_B64: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_LSHL_ADD_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LSHL_ADD_U64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_LSHL_OR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_LSHRREV_B16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_LSHRREV_B16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_LSHRREV_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LSHRREV_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_LSHRREV_B64: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_MAC_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAC_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MADAK_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MADMK_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_I32_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_I32_I24: {"src0": (Fmt.FMT_NUM_I24, 24, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I24, 24, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_MAD_I64_I32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_LEGACY_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_LEGACY_I16: {"src0": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_LEGACY_U16: {"src0": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B16, 16, OpType.OPR_VGPR)},
  VOP3POp.V_MAD_MIXHI_F16: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3POp.V_MAD_MIXLO_F16: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3POp.V_MAD_MIX_F32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_U32_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAD_U32_U24: {"src0": (Fmt.FMT_NUM_U24, 24, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U24, 24, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_MAD_U64_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_MAX3_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAX3_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAX3_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAX3_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAX3_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAX3_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAXIMUM3_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MAX_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MAX_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_MAX_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MAX_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MAX_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MAX_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MAX_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MBCNT_HI_U32_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MBCNT_LO_U32_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MED3_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MED3_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MED3_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MED3_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MED3_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MED3_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_MFMA_F32_16X16X128_F8F6F4: {"src0": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X16_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X16_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X1_4B_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X32_BF16: {"src0": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X32_BF8_BF8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X32_BF8_FP8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X32_F16: {"src0": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X32_FP8_BF8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X32_FP8_FP8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X4_4B_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X4_4B_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_16X16X4_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X16_BF16: {"src0": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X16_BF8_BF8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X16_BF8_FP8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X16_F16: {"src0": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X16_FP8_BF8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X16_FP8_FP8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X1_2B_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X2_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X4_2B_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X4_2B_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK32_F32, 1024, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X64_F8F6F4: {"src0": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X8_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_32X32X8_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_4X4X1_16B_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_4X4X4_16B_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F32_4X4X4_16B_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F64_16X16X4_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F64, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F64, 256, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_F64_4X4X4_4B_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_16X16X32_I8: {"src0": (Fmt.FMT_NUM_PK8_I8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_I8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_16X16X4_4B_I8: {"src0": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_16X16X64_I8: {"src0": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_32X32X16_I8: {"src0": (Fmt.FMT_NUM_PK8_I8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_I8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_32X32X32_I8: {"src0": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_32X32X4_2B_I8: {"src0": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK32_I32, 1024, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK32_I32, 1024, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_MFMA_I32_4X4X4_16B_I8: {"src0": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK4_I8, 32, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3PX2Op.V_MFMA_SCALE_F32_16X16X128_F8F6F4: {"scale_src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "scale_src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src0": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3PX2Op.V_MFMA_SCALE_F32_32X32X64_F8F6F4: {"scale_src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "scale_src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src0": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_B32, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_SRC_VGPR_OR_ACCVGPR_OR_CONST), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3Op.V_MIN3_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MIN3_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MIN3_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MIN3_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MIN3_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MIN3_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MINIMUM3_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MIN_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MIN_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_MIN_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MIN_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MIN_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MIN_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MIN_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_MOV_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MOV_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_MOV_B64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_MOV_B64: {"src0": (Fmt.FMT_NUM_U64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_U64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_MQSAD_PK_U16_U8: {"src0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_MQSAD_U32_U8: {"src0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B128, 128, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B128, 128, OpType.OPR_VGPR)},
  VOP3Op.V_MSAD_U8: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_HI_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_HI_I32_I24: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_HI_I32_I24: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_HI_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_HI_U32_U24: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_HI_U32_U24: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_I32_I24: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_I32_I24: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_LEGACY_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_LO_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_LO_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_LO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_MUL_U32_U24: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_MUL_U32_U24: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_NOT_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_NOT_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_OR3_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_OR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_OR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_PACK_B32_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_PERMLANE16_SWAP_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_PERMLANE16_SWAP_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_PERMLANE32_SWAP_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_PERMLANE32_SWAP_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_PERM_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK4_B8, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_ADD_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_ADD_F32: {"src0": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3POp.V_PK_ADD_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_ADD_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_ASHRREV_I16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP2Op.V_PK_FMAC_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3Op.V_PK_FMAC_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_FMA_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_FMA_F32: {"src0": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3POp.V_PK_LSHLREV_B16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_LSHRREV_B16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MAD_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MAD_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MAXIMUM3_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MAX_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MAX_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MAX_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MINIMUM3_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MIN_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MIN_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MIN_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MOV_B32: {"src0": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_B32, 64, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MUL_F16: {"src0": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MUL_F32: {"src0": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_F32, 64, OpType.OPR_VGPR)},
  VOP3POp.V_PK_MUL_LO_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_SUB_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_VGPR)},
  VOP3POp.V_PK_SUB_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_VGPR)},
  VOP1Op.V_PRNG_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_PRNG_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_QSAD_PK_U16_U8: {"src0": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_B64, 64, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_B64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_RCP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_RCP_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_RCP_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_RCP_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_RCP_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_RCP_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_RCP_IFLAG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_RCP_IFLAG_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_READFIRSTLANE_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_LDS), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SREG_NOVCC)},
  VOP3Op.V_READFIRSTLANE_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_LDS), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SREG_NOVCC)},
  VOP3Op.V_READLANE_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR_OR_LDS), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC_LANESEL), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SREG_NOVCC)},
  VOP1Op.V_RNDNE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_RNDNE_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_RNDNE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_RNDNE_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_RNDNE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_RNDNE_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_RSQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_RSQ_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_RSQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_RSQ_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_RSQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_RSQ_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_SAD_HI_U8: {"src0": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SAD_U16: {"src0": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK2_U16, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SAD_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SAD_U8: {"src0": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_PK4_U8, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_SAT_PK_U8_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_PK2_U8, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SAT_PK_U8_I16: {"src0": (Fmt.FMT_NUM_PK2_I16, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_PK2_U8, 16, OpType.OPR_VGPR)},
  VOP1Op.V_SCREEN_PARTITION_4SE_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SCREEN_PARTITION_4SE_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_SIN_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SIN_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_SIN_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SIN_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X128_BF8_BF8: {"src0": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_BF8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X128_BF8_FP8: {"src0": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_FP8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X128_FP8_BF8: {"src0": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_BF8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X128_FP8_FP8: {"src0": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_FP8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X32_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X32_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X64_BF16: {"src0": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_BF16, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X64_BF8_BF8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X64_BF8_FP8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X64_F16: {"src0": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_F16, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X64_FP8_BF8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_16X16X64_FP8_FP8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_F32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X16_BF16: {"src0": (Fmt.FMT_NUM_PK4_BF16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X16_F16: {"src0": (Fmt.FMT_NUM_PK4_F16, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X32_BF16: {"src0": (Fmt.FMT_NUM_PK8_BF16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_BF16, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X32_BF8_BF8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X32_BF8_FP8: {"src0": (Fmt.FMT_NUM_PK8_BF8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X32_F16: {"src0": (Fmt.FMT_NUM_PK8_F16, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_F16, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X32_FP8_BF8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X32_FP8_FP8: {"src0": (Fmt.FMT_NUM_PK8_FP8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X64_BF8_BF8: {"src0": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_BF8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X64_BF8_FP8: {"src0": (Fmt.FMT_NUM_PK16_BF8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_FP8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X64_FP8_BF8: {"src0": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_BF8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_F32_32X32X64_FP8_FP8: {"src0": (Fmt.FMT_NUM_PK16_FP8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_FP8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_F32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_I32_16X16X128_I8: {"src0": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_I8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_I32_16X16X64_I8: {"src0": (Fmt.FMT_NUM_PK8_I8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK4_I32, 128, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_I32_32X32X32_I8: {"src0": (Fmt.FMT_NUM_PK8_I8, 64, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP3POp.V_SMFMAC_I32_32X32X64_I8: {"src0": (Fmt.FMT_NUM_PK16_I8, 128, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src1": (Fmt.FMT_NUM_PK32_I8, 256, OpType.OPR_SRC_VGPR_OR_ACCVGPR), "src2": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_PK16_I32, 512, OpType.OPR_VGPR_OR_ACCVGPR)},
  VOP1Op.V_SQRT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SQRT_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_SQRT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SQRT_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_SQRT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_SQRT_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP2Op.V_SUBBREV_CO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_SUBBREV_CO_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUBB_CO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_SUBB_CO_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUBREV_CO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_SUBREV_CO_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUBREV_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SUBREV_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_SUBREV_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SUBREV_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUBREV_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SUBREV_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_SUBREV_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLDS), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SUBREV_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUB_CO_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3SDOp.V_SUB_CO_U32: {"sdst": (Fmt.FMT_NUM_M64, 64, OpType.OPR_SREG), "src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUB_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SUB_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_SUB_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SUB_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SUB_I16: {"src0": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SUB_I32: {"src0": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_I32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_I32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_SUB_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_SUB_U16: {"src0": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U16, 16, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U16, 16, OpType.OPR_VGPR)},
  VOP2Op.V_SUB_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SUB_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_SWAP_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_SWAP_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_VGPR), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_TRIG_PREOP_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP1Op.V_TRUNC_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP3Op.V_TRUNC_F16: {"src0": (Fmt.FMT_NUM_F16, 16, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F16, 16, OpType.OPR_VGPR)},
  VOP1Op.V_TRUNC_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_TRUNC_F32: {"src0": (Fmt.FMT_NUM_F32, 32, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F32, 32, OpType.OPR_VGPR)},
  VOP1Op.V_TRUNC_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_TRUNC_F64: {"src0": (Fmt.FMT_NUM_F64, 64, OpType.OPR_SRC_NOLIT), "vdst": (Fmt.FMT_NUM_F64, 64, OpType.OPR_VGPR)},
  VOP3Op.V_WRITELANE_B32: {"src0": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC_NOLIT), "src1": (Fmt.FMT_NUM_B32, 32, OpType.OPR_SSRC_LANESEL), "vdst": (Fmt.FMT_NUM_B32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_XAD_U32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "src2": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_XNOR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_XNOR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP2Op.V_XOR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR), "vsrc1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
  VOP3Op.V_XOR_B32: {"src0": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_NOLIT), "src1": (Fmt.FMT_NUM_U32, 32, OpType.OPR_SRC_SIMPLE), "vdst": (Fmt.FMT_NUM_U32, 32, OpType.OPR_VGPR)},
}