# autogenerated from AMD ISA XML - do not edit
# ruff: noqa: F401,F403
from extra.assembly.amd.dsl import *
from extra.assembly.amd.autogen.cdna.enum import *
import functools

class DS(Inst):
  encoding = FixedBitField(31, 26, 0b110110)
  op = EnumBitField(24, 17, DSOp, {DSOp.DS_ADD_U32, DSOp.DS_SUB_U32, DSOp.DS_RSUB_U32, DSOp.DS_INC_U32, DSOp.DS_DEC_U32, DSOp.DS_MIN_I32, DSOp.DS_MAX_I32, DSOp.DS_MIN_U32, DSOp.DS_MAX_U32, DSOp.DS_AND_B32, DSOp.DS_OR_B32, DSOp.DS_XOR_B32, DSOp.DS_MSKOR_B32, DSOp.DS_WRITE_B32, DSOp.DS_WRITE2_B32, DSOp.DS_WRITE2ST64_B32, DSOp.DS_CMPST_B32, DSOp.DS_CMPST_F32, DSOp.DS_MIN_F32, DSOp.DS_MAX_F32, DSOp.DS_NOP, DSOp.DS_ADD_F32, DSOp.DS_PK_ADD_F16, DSOp.DS_PK_ADD_BF16, DSOp.DS_WRITE_ADDTID_B32, DSOp.DS_WRITE_B8, DSOp.DS_WRITE_B16, DSOp.DS_ADD_RTN_U32, DSOp.DS_SUB_RTN_U32, DSOp.DS_RSUB_RTN_U32, DSOp.DS_INC_RTN_U32, DSOp.DS_DEC_RTN_U32, DSOp.DS_MIN_RTN_I32, DSOp.DS_MAX_RTN_I32, DSOp.DS_MIN_RTN_U32, DSOp.DS_MAX_RTN_U32, DSOp.DS_AND_RTN_B32, DSOp.DS_OR_RTN_B32, DSOp.DS_XOR_RTN_B32, DSOp.DS_MSKOR_RTN_B32, DSOp.DS_WRXCHG_RTN_B32, DSOp.DS_WRXCHG2_RTN_B32, DSOp.DS_WRXCHG2ST64_RTN_B32, DSOp.DS_CMPST_RTN_B32, DSOp.DS_CMPST_RTN_F32, DSOp.DS_MIN_RTN_F32, DSOp.DS_MAX_RTN_F32, DSOp.DS_WRAP_RTN_B32, DSOp.DS_ADD_RTN_F32, DSOp.DS_READ_B32, DSOp.DS_READ2_B32, DSOp.DS_READ2ST64_B32, DSOp.DS_READ_I8, DSOp.DS_READ_U8, DSOp.DS_READ_I16, DSOp.DS_READ_U16, DSOp.DS_SWIZZLE_B32, DSOp.DS_PERMUTE_B32, DSOp.DS_BPERMUTE_B32, DSOp.DS_ADD_U64, DSOp.DS_SUB_U64, DSOp.DS_RSUB_U64, DSOp.DS_INC_U64, DSOp.DS_DEC_U64, DSOp.DS_MIN_I64, DSOp.DS_MAX_I64, DSOp.DS_MIN_U64, DSOp.DS_MAX_U64, DSOp.DS_AND_B64, DSOp.DS_OR_B64, DSOp.DS_XOR_B64, DSOp.DS_MSKOR_B64, DSOp.DS_WRITE_B64, DSOp.DS_WRITE2_B64, DSOp.DS_WRITE2ST64_B64, DSOp.DS_CMPST_B64, DSOp.DS_CMPST_F64, DSOp.DS_MIN_F64, DSOp.DS_MAX_F64, DSOp.DS_WRITE_B8_D16_HI, DSOp.DS_WRITE_B16_D16_HI, DSOp.DS_READ_U8_D16, DSOp.DS_READ_U8_D16_HI, DSOp.DS_READ_I8_D16, DSOp.DS_READ_I8_D16_HI, DSOp.DS_READ_U16_D16, DSOp.DS_READ_U16_D16_HI, DSOp.DS_ADD_F64, DSOp.DS_ADD_RTN_U64, DSOp.DS_SUB_RTN_U64, DSOp.DS_RSUB_RTN_U64, DSOp.DS_INC_RTN_U64, DSOp.DS_DEC_RTN_U64, DSOp.DS_MIN_RTN_I64, DSOp.DS_MAX_RTN_I64, DSOp.DS_MIN_RTN_U64, DSOp.DS_MAX_RTN_U64, DSOp.DS_AND_RTN_B64, DSOp.DS_OR_RTN_B64, DSOp.DS_XOR_RTN_B64, DSOp.DS_MSKOR_RTN_B64, DSOp.DS_WRXCHG_RTN_B64, DSOp.DS_WRXCHG2_RTN_B64, DSOp.DS_WRXCHG2ST64_RTN_B64, DSOp.DS_CMPST_RTN_B64, DSOp.DS_CMPST_RTN_F64, DSOp.DS_MIN_RTN_F64, DSOp.DS_MAX_RTN_F64, DSOp.DS_READ_B64, DSOp.DS_READ2_B64, DSOp.DS_READ2ST64_B64, DSOp.DS_ADD_RTN_F64, DSOp.DS_CONDXCHG32_RTN_B64, DSOp.DS_GWS_SEMA_RELEASE_ALL, DSOp.DS_GWS_SEMA_V, DSOp.DS_GWS_SEMA_P, DSOp.DS_READ_ADDTID_B32, DSOp.DS_PK_ADD_RTN_F16, DSOp.DS_PK_ADD_RTN_BF16, DSOp.DS_CONSUME, DSOp.DS_APPEND, DSOp.DS_WRITE_B96, DSOp.DS_WRITE_B128, DSOp.DS_READ_B64_TR_B4, DSOp.DS_READ_B96_TR_B6, DSOp.DS_READ_B64_TR_B8, DSOp.DS_READ_B64_TR_B16, DSOp.DS_READ_B96, DSOp.DS_READ_B128})
  vdst = VGPRField(63, 56)
  addr = VGPRField(39, 32)
  data0 = VGPRField(47, 40)
  data1 = VGPRField(55, 48)
  acc = BitField(25, 25)
  offset0 = BitField(7, 0)
  offset1 = BitField(15, 8)
  gds = BitField(16, 16)

class FLAT(Inst):
  encoding = FixedBitField(31, 26, 0b110111)
  op = EnumBitField(24, 18, FLATOp, {FLATOp.FLAT_LOAD_UBYTE, FLATOp.FLAT_LOAD_SBYTE, FLATOp.FLAT_LOAD_USHORT, FLATOp.FLAT_LOAD_SSHORT, FLATOp.FLAT_LOAD_DWORD, FLATOp.FLAT_LOAD_DWORDX2, FLATOp.FLAT_LOAD_DWORDX3, FLATOp.FLAT_LOAD_DWORDX4, FLATOp.FLAT_STORE_BYTE, FLATOp.FLAT_STORE_BYTE_D16_HI, FLATOp.FLAT_STORE_SHORT, FLATOp.FLAT_STORE_SHORT_D16_HI, FLATOp.FLAT_STORE_DWORD, FLATOp.FLAT_STORE_DWORDX2, FLATOp.FLAT_STORE_DWORDX3, FLATOp.FLAT_STORE_DWORDX4, FLATOp.FLAT_LOAD_UBYTE_D16, FLATOp.FLAT_LOAD_UBYTE_D16_HI, FLATOp.FLAT_LOAD_SBYTE_D16, FLATOp.FLAT_LOAD_SBYTE_D16_HI, FLATOp.FLAT_LOAD_SHORT_D16, FLATOp.FLAT_LOAD_SHORT_D16_HI, FLATOp.FLAT_ATOMIC_SWAP, FLATOp.FLAT_ATOMIC_CMPSWAP, FLATOp.FLAT_ATOMIC_ADD, FLATOp.FLAT_ATOMIC_SUB, FLATOp.FLAT_ATOMIC_SMIN, FLATOp.FLAT_ATOMIC_UMIN, FLATOp.FLAT_ATOMIC_SMAX, FLATOp.FLAT_ATOMIC_UMAX, FLATOp.FLAT_ATOMIC_AND, FLATOp.FLAT_ATOMIC_OR, FLATOp.FLAT_ATOMIC_XOR, FLATOp.FLAT_ATOMIC_INC, FLATOp.FLAT_ATOMIC_DEC, FLATOp.FLAT_ATOMIC_ADD_F32, FLATOp.FLAT_ATOMIC_PK_ADD_F16, FLATOp.FLAT_ATOMIC_ADD_F64, FLATOp.FLAT_ATOMIC_MIN_F64, FLATOp.FLAT_ATOMIC_MAX_F64, FLATOp.FLAT_ATOMIC_PK_ADD_BF16, FLATOp.FLAT_ATOMIC_SWAP_X2, FLATOp.FLAT_ATOMIC_CMPSWAP_X2, FLATOp.FLAT_ATOMIC_ADD_X2, FLATOp.FLAT_ATOMIC_SUB_X2, FLATOp.FLAT_ATOMIC_SMIN_X2, FLATOp.FLAT_ATOMIC_UMIN_X2, FLATOp.FLAT_ATOMIC_SMAX_X2, FLATOp.FLAT_ATOMIC_UMAX_X2, FLATOp.FLAT_ATOMIC_AND_X2, FLATOp.FLAT_ATOMIC_OR_X2, FLATOp.FLAT_ATOMIC_XOR_X2, FLATOp.FLAT_ATOMIC_INC_X2, FLATOp.FLAT_ATOMIC_DEC_X2})
  vdst = VGPRField(63, 56)
  addr = VGPRField(39, 32)
  data = VGPRField(47, 40)
  saddr = SGPRField(54, 48, default=NULL)
  offset = BitField(11, 0)
  seg = FixedBitField(15, 14, 0)
  acc = BitField(55, 55)
  sve = BitField(13, 13)
  sc0 = BitField(16, 16)
  nt = BitField(17, 17)
  sc1 = BitField(25, 25)

class GLOBAL(Inst):
  encoding = FixedBitField(31, 26, 0b110111)
  op = EnumBitField(24, 18, GLOBALOp, {GLOBALOp.GLOBAL_LOAD_UBYTE, GLOBALOp.GLOBAL_LOAD_SBYTE, GLOBALOp.GLOBAL_LOAD_USHORT, GLOBALOp.GLOBAL_LOAD_SSHORT, GLOBALOp.GLOBAL_LOAD_DWORD, GLOBALOp.GLOBAL_LOAD_DWORDX2, GLOBALOp.GLOBAL_LOAD_DWORDX3, GLOBALOp.GLOBAL_LOAD_DWORDX4, GLOBALOp.GLOBAL_STORE_BYTE, GLOBALOp.GLOBAL_STORE_BYTE_D16_HI, GLOBALOp.GLOBAL_STORE_SHORT, GLOBALOp.GLOBAL_STORE_SHORT_D16_HI, GLOBALOp.GLOBAL_STORE_DWORD, GLOBALOp.GLOBAL_STORE_DWORDX2, GLOBALOp.GLOBAL_STORE_DWORDX3, GLOBALOp.GLOBAL_STORE_DWORDX4, GLOBALOp.GLOBAL_LOAD_UBYTE_D16, GLOBALOp.GLOBAL_LOAD_UBYTE_D16_HI, GLOBALOp.GLOBAL_LOAD_SBYTE_D16, GLOBALOp.GLOBAL_LOAD_SBYTE_D16_HI, GLOBALOp.GLOBAL_LOAD_SHORT_D16, GLOBALOp.GLOBAL_LOAD_SHORT_D16_HI, GLOBALOp.GLOBAL_LOAD_LDS_UBYTE, GLOBALOp.GLOBAL_LOAD_LDS_SBYTE, GLOBALOp.GLOBAL_LOAD_LDS_USHORT, GLOBALOp.GLOBAL_LOAD_LDS_SSHORT, GLOBALOp.GLOBAL_LOAD_LDS_DWORD, GLOBALOp.GLOBAL_ATOMIC_SWAP, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP, GLOBALOp.GLOBAL_ATOMIC_ADD, GLOBALOp.GLOBAL_ATOMIC_SUB, GLOBALOp.GLOBAL_ATOMIC_SMIN, GLOBALOp.GLOBAL_ATOMIC_UMIN, GLOBALOp.GLOBAL_ATOMIC_SMAX, GLOBALOp.GLOBAL_ATOMIC_UMAX, GLOBALOp.GLOBAL_ATOMIC_AND, GLOBALOp.GLOBAL_ATOMIC_OR, GLOBALOp.GLOBAL_ATOMIC_XOR, GLOBALOp.GLOBAL_ATOMIC_INC, GLOBALOp.GLOBAL_ATOMIC_DEC, GLOBALOp.GLOBAL_ATOMIC_ADD_F32, GLOBALOp.GLOBAL_ATOMIC_PK_ADD_F16, GLOBALOp.GLOBAL_ATOMIC_ADD_F64, GLOBALOp.GLOBAL_ATOMIC_MIN_F64, GLOBALOp.GLOBAL_ATOMIC_MAX_F64, GLOBALOp.GLOBAL_ATOMIC_PK_ADD_BF16, GLOBALOp.GLOBAL_ATOMIC_SWAP_X2, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_X2, GLOBALOp.GLOBAL_ATOMIC_ADD_X2, GLOBALOp.GLOBAL_ATOMIC_SUB_X2, GLOBALOp.GLOBAL_ATOMIC_SMIN_X2, GLOBALOp.GLOBAL_ATOMIC_UMIN_X2, GLOBALOp.GLOBAL_ATOMIC_SMAX_X2, GLOBALOp.GLOBAL_ATOMIC_UMAX_X2, GLOBALOp.GLOBAL_ATOMIC_AND_X2, GLOBALOp.GLOBAL_ATOMIC_OR_X2, GLOBALOp.GLOBAL_ATOMIC_XOR_X2, GLOBALOp.GLOBAL_ATOMIC_INC_X2, GLOBALOp.GLOBAL_ATOMIC_DEC_X2, GLOBALOp.GLOBAL_LOAD_LDS_DWORDX4, GLOBALOp.GLOBAL_LOAD_LDS_DWORDX3})
  vdst = VGPRField(63, 56)
  addr = VGPRField(39, 32)
  data = VGPRField(47, 40)
  saddr = SGPRField(54, 48, default=NULL)
  offset = BitField(12, 0)
  seg = FixedBitField(15, 14, 2)
  acc = BitField(55, 55)
  sve = BitField(13, 13)
  sc0 = BitField(16, 16)
  nt = BitField(17, 17)
  sc1 = BitField(25, 25)

class SCRATCH(Inst):
  encoding = FixedBitField(31, 26, 0b110111)
  op = EnumBitField(24, 18, SCRATCHOp, {SCRATCHOp.SCRATCH_LOAD_UBYTE, SCRATCHOp.SCRATCH_LOAD_SBYTE, SCRATCHOp.SCRATCH_LOAD_USHORT, SCRATCHOp.SCRATCH_LOAD_SSHORT, SCRATCHOp.SCRATCH_LOAD_DWORD, SCRATCHOp.SCRATCH_LOAD_DWORDX2, SCRATCHOp.SCRATCH_LOAD_DWORDX3, SCRATCHOp.SCRATCH_LOAD_DWORDX4, SCRATCHOp.SCRATCH_STORE_BYTE, SCRATCHOp.SCRATCH_STORE_BYTE_D16_HI, SCRATCHOp.SCRATCH_STORE_SHORT, SCRATCHOp.SCRATCH_STORE_SHORT_D16_HI, SCRATCHOp.SCRATCH_STORE_DWORD, SCRATCHOp.SCRATCH_STORE_DWORDX2, SCRATCHOp.SCRATCH_STORE_DWORDX3, SCRATCHOp.SCRATCH_STORE_DWORDX4, SCRATCHOp.SCRATCH_LOAD_UBYTE_D16, SCRATCHOp.SCRATCH_LOAD_UBYTE_D16_HI, SCRATCHOp.SCRATCH_LOAD_SBYTE_D16, SCRATCHOp.SCRATCH_LOAD_SBYTE_D16_HI, SCRATCHOp.SCRATCH_LOAD_SHORT_D16, SCRATCHOp.SCRATCH_LOAD_SHORT_D16_HI, SCRATCHOp.SCRATCH_LOAD_LDS_UBYTE, SCRATCHOp.SCRATCH_LOAD_LDS_SBYTE, SCRATCHOp.SCRATCH_LOAD_LDS_USHORT, SCRATCHOp.SCRATCH_LOAD_LDS_SSHORT, SCRATCHOp.SCRATCH_LOAD_LDS_DWORD})
  vdst = VGPRField(63, 56)
  addr = VGPRField(39, 32)
  data = VGPRField(47, 40)
  saddr = SGPRField(54, 48, default=NULL)
  offset = BitField(12, 0)
  seg = FixedBitField(15, 14, 1)
  acc = BitField(55, 55)
  sve = BitField(13, 13)
  sc0 = BitField(16, 16)
  nt = BitField(17, 17)
  sc1 = BitField(25, 25)

class MTBUF(Inst):
  encoding = FixedBitField(31, 26, 0b111010)
  op = EnumBitField(18, 15, MTBUFOp, {MTBUFOp.TBUFFER_LOAD_FORMAT_X, MTBUFOp.TBUFFER_LOAD_FORMAT_XY, MTBUFOp.TBUFFER_LOAD_FORMAT_XYZ, MTBUFOp.TBUFFER_LOAD_FORMAT_XYZW, MTBUFOp.TBUFFER_STORE_FORMAT_X, MTBUFOp.TBUFFER_STORE_FORMAT_XY, MTBUFOp.TBUFFER_STORE_FORMAT_XYZ, MTBUFOp.TBUFFER_STORE_FORMAT_XYZW, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_X, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XY, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XYZ, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XYZW, MTBUFOp.TBUFFER_STORE_FORMAT_D16_X, MTBUFOp.TBUFFER_STORE_FORMAT_D16_XY, MTBUFOp.TBUFFER_STORE_FORMAT_D16_XYZ, MTBUFOp.TBUFFER_STORE_FORMAT_D16_XYZW})
  vdata = VGPRField(47, 40)
  vaddr = VGPRField(39, 32)
  srsrc = SRsrcField(52, 48)
  soffset = SSrcField(63, 56, default=NULL)
  offset = BitField(11, 0)
  offen = BitField(12, 12)
  idxen = BitField(13, 13)
  acc = BitField(55, 55)
  sc0 = BitField(14, 14)
  dfmt = BitField(22, 19)
  nfmt = BitField(25, 23)
  sc1 = BitField(53, 53)
  nt = BitField(54, 54)

class MUBUF(Inst):
  encoding = FixedBitField(31, 26, 0b111000)
  op = EnumBitField(24, 18, MUBUFOp, {MUBUFOp.BUFFER_LOAD_FORMAT_X, MUBUFOp.BUFFER_LOAD_FORMAT_XY, MUBUFOp.BUFFER_LOAD_FORMAT_XYZ, MUBUFOp.BUFFER_LOAD_FORMAT_XYZW, MUBUFOp.BUFFER_STORE_FORMAT_X, MUBUFOp.BUFFER_STORE_FORMAT_XY, MUBUFOp.BUFFER_STORE_FORMAT_XYZ, MUBUFOp.BUFFER_STORE_FORMAT_XYZW, MUBUFOp.BUFFER_LOAD_FORMAT_D16_X, MUBUFOp.BUFFER_LOAD_FORMAT_D16_XY, MUBUFOp.BUFFER_LOAD_FORMAT_D16_XYZ, MUBUFOp.BUFFER_LOAD_FORMAT_D16_XYZW, MUBUFOp.BUFFER_STORE_FORMAT_D16_X, MUBUFOp.BUFFER_STORE_FORMAT_D16_XY, MUBUFOp.BUFFER_STORE_FORMAT_D16_XYZ, MUBUFOp.BUFFER_STORE_FORMAT_D16_XYZW, MUBUFOp.BUFFER_LOAD_UBYTE, MUBUFOp.BUFFER_LOAD_SBYTE, MUBUFOp.BUFFER_LOAD_USHORT, MUBUFOp.BUFFER_LOAD_SSHORT, MUBUFOp.BUFFER_LOAD_DWORD, MUBUFOp.BUFFER_LOAD_DWORDX2, MUBUFOp.BUFFER_LOAD_DWORDX3, MUBUFOp.BUFFER_LOAD_DWORDX4, MUBUFOp.BUFFER_STORE_BYTE, MUBUFOp.BUFFER_STORE_BYTE_D16_HI, MUBUFOp.BUFFER_STORE_SHORT, MUBUFOp.BUFFER_STORE_SHORT_D16_HI, MUBUFOp.BUFFER_STORE_DWORD, MUBUFOp.BUFFER_STORE_DWORDX2, MUBUFOp.BUFFER_STORE_DWORDX3, MUBUFOp.BUFFER_STORE_DWORDX4, MUBUFOp.BUFFER_LOAD_UBYTE_D16, MUBUFOp.BUFFER_LOAD_UBYTE_D16_HI, MUBUFOp.BUFFER_LOAD_SBYTE_D16, MUBUFOp.BUFFER_LOAD_SBYTE_D16_HI, MUBUFOp.BUFFER_LOAD_SHORT_D16, MUBUFOp.BUFFER_LOAD_SHORT_D16_HI, MUBUFOp.BUFFER_LOAD_FORMAT_D16_HI_X, MUBUFOp.BUFFER_STORE_FORMAT_D16_HI_X, MUBUFOp.BUFFER_WBL2, MUBUFOp.BUFFER_INV, MUBUFOp.BUFFER_ATOMIC_SWAP, MUBUFOp.BUFFER_ATOMIC_CMPSWAP, MUBUFOp.BUFFER_ATOMIC_ADD, MUBUFOp.BUFFER_ATOMIC_SUB, MUBUFOp.BUFFER_ATOMIC_SMIN, MUBUFOp.BUFFER_ATOMIC_UMIN, MUBUFOp.BUFFER_ATOMIC_SMAX, MUBUFOp.BUFFER_ATOMIC_UMAX, MUBUFOp.BUFFER_ATOMIC_AND, MUBUFOp.BUFFER_ATOMIC_OR, MUBUFOp.BUFFER_ATOMIC_XOR, MUBUFOp.BUFFER_ATOMIC_INC, MUBUFOp.BUFFER_ATOMIC_DEC, MUBUFOp.BUFFER_ATOMIC_ADD_F32, MUBUFOp.BUFFER_ATOMIC_PK_ADD_F16, MUBUFOp.BUFFER_ATOMIC_ADD_F64, MUBUFOp.BUFFER_ATOMIC_MIN_F64, MUBUFOp.BUFFER_ATOMIC_MAX_F64, MUBUFOp.BUFFER_ATOMIC_PK_ADD_BF16, MUBUFOp.BUFFER_ATOMIC_SWAP_X2, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_X2, MUBUFOp.BUFFER_ATOMIC_ADD_X2, MUBUFOp.BUFFER_ATOMIC_SUB_X2, MUBUFOp.BUFFER_ATOMIC_SMIN_X2, MUBUFOp.BUFFER_ATOMIC_UMIN_X2, MUBUFOp.BUFFER_ATOMIC_SMAX_X2, MUBUFOp.BUFFER_ATOMIC_UMAX_X2, MUBUFOp.BUFFER_ATOMIC_AND_X2, MUBUFOp.BUFFER_ATOMIC_OR_X2, MUBUFOp.BUFFER_ATOMIC_XOR_X2, MUBUFOp.BUFFER_ATOMIC_INC_X2, MUBUFOp.BUFFER_ATOMIC_DEC_X2})
  vdata = VGPRField(47, 40)
  vaddr = VGPRField(39, 32)
  srsrc = SRsrcField(52, 48)
  soffset = SSrcField(63, 56, default=NULL)
  offset = BitField(11, 0)
  offen = BitField(12, 12)
  idxen = BitField(13, 13)
  acc = BitField(55, 55)
  sc0 = BitField(14, 14)
  sc1 = BitField(15, 15)
  lds = BitField(16, 16)
  nt = BitField(17, 17)

class SMEM(Inst):
  encoding = FixedBitField(31, 26, 0b110000)
  op = EnumBitField(25, 18, SMEMOp, {SMEMOp.S_LOAD_DWORD, SMEMOp.S_LOAD_DWORDX2, SMEMOp.S_LOAD_DWORDX4, SMEMOp.S_LOAD_DWORDX8, SMEMOp.S_LOAD_DWORDX16, SMEMOp.S_SCRATCH_LOAD_DWORD, SMEMOp.S_SCRATCH_LOAD_DWORDX2, SMEMOp.S_SCRATCH_LOAD_DWORDX4, SMEMOp.S_BUFFER_LOAD_DWORD, SMEMOp.S_BUFFER_LOAD_DWORDX2, SMEMOp.S_BUFFER_LOAD_DWORDX4, SMEMOp.S_BUFFER_LOAD_DWORDX8, SMEMOp.S_BUFFER_LOAD_DWORDX16, SMEMOp.S_STORE_DWORD, SMEMOp.S_STORE_DWORDX2, SMEMOp.S_STORE_DWORDX4, SMEMOp.S_SCRATCH_STORE_DWORD, SMEMOp.S_SCRATCH_STORE_DWORDX2, SMEMOp.S_SCRATCH_STORE_DWORDX4, SMEMOp.S_BUFFER_STORE_DWORD, SMEMOp.S_BUFFER_STORE_DWORDX2, SMEMOp.S_BUFFER_STORE_DWORDX4, SMEMOp.S_DCACHE_INV, SMEMOp.S_DCACHE_WB, SMEMOp.S_DCACHE_INV_VOL, SMEMOp.S_DCACHE_WB_VOL, SMEMOp.S_MEMTIME, SMEMOp.S_MEMREALTIME, SMEMOp.S_ATC_PROBE, SMEMOp.S_ATC_PROBE_BUFFER, SMEMOp.S_DCACHE_DISCARD, SMEMOp.S_DCACHE_DISCARD_X2, SMEMOp.S_BUFFER_ATOMIC_SWAP, SMEMOp.S_BUFFER_ATOMIC_CMPSWAP, SMEMOp.S_BUFFER_ATOMIC_ADD, SMEMOp.S_BUFFER_ATOMIC_SUB, SMEMOp.S_BUFFER_ATOMIC_SMIN, SMEMOp.S_BUFFER_ATOMIC_UMIN, SMEMOp.S_BUFFER_ATOMIC_SMAX, SMEMOp.S_BUFFER_ATOMIC_UMAX, SMEMOp.S_BUFFER_ATOMIC_AND, SMEMOp.S_BUFFER_ATOMIC_OR, SMEMOp.S_BUFFER_ATOMIC_XOR, SMEMOp.S_BUFFER_ATOMIC_INC, SMEMOp.S_BUFFER_ATOMIC_DEC, SMEMOp.S_BUFFER_ATOMIC_SWAP_X2, SMEMOp.S_BUFFER_ATOMIC_CMPSWAP_X2, SMEMOp.S_BUFFER_ATOMIC_ADD_X2, SMEMOp.S_BUFFER_ATOMIC_SUB_X2, SMEMOp.S_BUFFER_ATOMIC_SMIN_X2, SMEMOp.S_BUFFER_ATOMIC_UMIN_X2, SMEMOp.S_BUFFER_ATOMIC_SMAX_X2, SMEMOp.S_BUFFER_ATOMIC_UMAX_X2, SMEMOp.S_BUFFER_ATOMIC_AND_X2, SMEMOp.S_BUFFER_ATOMIC_OR_X2, SMEMOp.S_BUFFER_ATOMIC_XOR_X2, SMEMOp.S_BUFFER_ATOMIC_INC_X2, SMEMOp.S_BUFFER_ATOMIC_DEC_X2, SMEMOp.S_ATOMIC_SWAP, SMEMOp.S_ATOMIC_CMPSWAP, SMEMOp.S_ATOMIC_ADD, SMEMOp.S_ATOMIC_SUB, SMEMOp.S_ATOMIC_SMIN, SMEMOp.S_ATOMIC_UMIN, SMEMOp.S_ATOMIC_SMAX, SMEMOp.S_ATOMIC_UMAX, SMEMOp.S_ATOMIC_AND, SMEMOp.S_ATOMIC_OR, SMEMOp.S_ATOMIC_XOR, SMEMOp.S_ATOMIC_INC, SMEMOp.S_ATOMIC_DEC, SMEMOp.S_ATOMIC_SWAP_X2, SMEMOp.S_ATOMIC_CMPSWAP_X2, SMEMOp.S_ATOMIC_ADD_X2, SMEMOp.S_ATOMIC_SUB_X2, SMEMOp.S_ATOMIC_SMIN_X2, SMEMOp.S_ATOMIC_UMIN_X2, SMEMOp.S_ATOMIC_SMAX_X2, SMEMOp.S_ATOMIC_UMAX_X2, SMEMOp.S_ATOMIC_AND_X2, SMEMOp.S_ATOMIC_OR_X2, SMEMOp.S_ATOMIC_XOR_X2, SMEMOp.S_ATOMIC_INC_X2, SMEMOp.S_ATOMIC_DEC_X2})
  sdata = SGPRField(12, 6)
  sbase = SBaseField(5, 0)
  soffset = SGPRField(63, 57, default=NULL)
  offset = BitField(52, 32)
  glc = BitField(16, 16)
  soffset_en = BitField(14, 14)
  nv = BitField(15, 15)
  imm = BitField(17, 17)

class SOP1(Inst):
  encoding = FixedBitField(31, 23, 0b101111101)
  op = EnumBitField(15, 8, SOP1Op, {SOP1Op.S_MOV_B32, SOP1Op.S_MOV_B64, SOP1Op.S_CMOV_B32, SOP1Op.S_CMOV_B64, SOP1Op.S_NOT_B32, SOP1Op.S_NOT_B64, SOP1Op.S_WQM_B32, SOP1Op.S_WQM_B64, SOP1Op.S_BREV_B32, SOP1Op.S_BREV_B64, SOP1Op.S_BCNT0_I32_B32, SOP1Op.S_BCNT0_I32_B64, SOP1Op.S_BCNT1_I32_B32, SOP1Op.S_BCNT1_I32_B64, SOP1Op.S_FF0_I32_B32, SOP1Op.S_FF0_I32_B64, SOP1Op.S_FF1_I32_B32, SOP1Op.S_FF1_I32_B64, SOP1Op.S_FLBIT_I32_B32, SOP1Op.S_FLBIT_I32_B64, SOP1Op.S_FLBIT_I32, SOP1Op.S_FLBIT_I32_I64, SOP1Op.S_SEXT_I32_I8, SOP1Op.S_SEXT_I32_I16, SOP1Op.S_BITSET0_B32, SOP1Op.S_BITSET0_B64, SOP1Op.S_BITSET1_B32, SOP1Op.S_BITSET1_B64, SOP1Op.S_GETPC_B64, SOP1Op.S_SETPC_B64, SOP1Op.S_SWAPPC_B64, SOP1Op.S_RFE_B64, SOP1Op.S_AND_SAVEEXEC_B64, SOP1Op.S_OR_SAVEEXEC_B64, SOP1Op.S_XOR_SAVEEXEC_B64, SOP1Op.S_ANDN2_SAVEEXEC_B64, SOP1Op.S_ORN2_SAVEEXEC_B64, SOP1Op.S_NAND_SAVEEXEC_B64, SOP1Op.S_NOR_SAVEEXEC_B64, SOP1Op.S_XNOR_SAVEEXEC_B64, SOP1Op.S_QUADMASK_B32, SOP1Op.S_QUADMASK_B64, SOP1Op.S_MOVRELS_B32, SOP1Op.S_MOVRELS_B64, SOP1Op.S_MOVRELD_B32, SOP1Op.S_MOVRELD_B64, SOP1Op.S_CBRANCH_JOIN, SOP1Op.S_ABS_I32, SOP1Op.S_SET_GPR_IDX_IDX, SOP1Op.S_ANDN1_SAVEEXEC_B64, SOP1Op.S_ORN1_SAVEEXEC_B64, SOP1Op.S_ANDN1_WREXEC_B64, SOP1Op.S_ANDN2_WREXEC_B64, SOP1Op.S_BITREPLICATE_B64_B32})
  sdst = SGPRField(22, 16)
  ssrc0 = SSrcField(7, 0)

class SOP2(Inst):
  encoding = FixedBitField(31, 30, 0b10)
  op = EnumBitField(29, 23, SOP2Op, {SOP2Op.S_ADD_U32, SOP2Op.S_SUB_U32, SOP2Op.S_ADD_I32, SOP2Op.S_SUB_I32, SOP2Op.S_ADDC_U32, SOP2Op.S_SUBB_U32, SOP2Op.S_MIN_I32, SOP2Op.S_MIN_U32, SOP2Op.S_MAX_I32, SOP2Op.S_MAX_U32, SOP2Op.S_CSELECT_B32, SOP2Op.S_CSELECT_B64, SOP2Op.S_AND_B32, SOP2Op.S_AND_B64, SOP2Op.S_OR_B32, SOP2Op.S_OR_B64, SOP2Op.S_XOR_B32, SOP2Op.S_XOR_B64, SOP2Op.S_ANDN2_B32, SOP2Op.S_ANDN2_B64, SOP2Op.S_ORN2_B32, SOP2Op.S_ORN2_B64, SOP2Op.S_NAND_B32, SOP2Op.S_NAND_B64, SOP2Op.S_NOR_B32, SOP2Op.S_NOR_B64, SOP2Op.S_XNOR_B32, SOP2Op.S_XNOR_B64, SOP2Op.S_LSHL_B32, SOP2Op.S_LSHL_B64, SOP2Op.S_LSHR_B32, SOP2Op.S_LSHR_B64, SOP2Op.S_ASHR_I32, SOP2Op.S_ASHR_I64, SOP2Op.S_BFM_B32, SOP2Op.S_BFM_B64, SOP2Op.S_MUL_I32, SOP2Op.S_BFE_U32, SOP2Op.S_BFE_I32, SOP2Op.S_BFE_U64, SOP2Op.S_BFE_I64, SOP2Op.S_CBRANCH_G_FORK, SOP2Op.S_ABSDIFF_I32, SOP2Op.S_RFE_RESTORE_B64, SOP2Op.S_MUL_HI_U32, SOP2Op.S_MUL_HI_I32, SOP2Op.S_LSHL1_ADD_U32, SOP2Op.S_LSHL2_ADD_U32, SOP2Op.S_LSHL3_ADD_U32, SOP2Op.S_LSHL4_ADD_U32, SOP2Op.S_PACK_LL_B32_B16, SOP2Op.S_PACK_LH_B32_B16, SOP2Op.S_PACK_HH_B32_B16})
  sdst = SGPRField(22, 16)
  ssrc0 = SSrcField(7, 0)
  ssrc1 = SSrcField(15, 8)

class SOPC(Inst):
  encoding = FixedBitField(31, 23, 0b101111110)
  op = EnumBitField(22, 16, SOPCOp, {SOPCOp.S_CMP_EQ_I32, SOPCOp.S_CMP_LG_I32, SOPCOp.S_CMP_GT_I32, SOPCOp.S_CMP_GE_I32, SOPCOp.S_CMP_LT_I32, SOPCOp.S_CMP_LE_I32, SOPCOp.S_CMP_EQ_U32, SOPCOp.S_CMP_LG_U32, SOPCOp.S_CMP_GT_U32, SOPCOp.S_CMP_GE_U32, SOPCOp.S_CMP_LT_U32, SOPCOp.S_CMP_LE_U32, SOPCOp.S_BITCMP0_B32, SOPCOp.S_BITCMP1_B32, SOPCOp.S_BITCMP0_B64, SOPCOp.S_BITCMP1_B64, SOPCOp.S_SETVSKIP, SOPCOp.S_SET_GPR_IDX_ON, SOPCOp.S_CMP_EQ_U64, SOPCOp.S_CMP_LG_U64})
  ssrc0 = SSrcField(7, 0)
  ssrc1 = SSrcField(15, 8)

class SOPK(Inst):
  encoding = FixedBitField(31, 28, 0b1011)
  op = EnumBitField(27, 23, SOPKOp, {SOPKOp.S_MOVK_I32, SOPKOp.S_CMOVK_I32, SOPKOp.S_CMPK_EQ_I32, SOPKOp.S_CMPK_LG_I32, SOPKOp.S_CMPK_GT_I32, SOPKOp.S_CMPK_GE_I32, SOPKOp.S_CMPK_LT_I32, SOPKOp.S_CMPK_LE_I32, SOPKOp.S_CMPK_EQ_U32, SOPKOp.S_CMPK_LG_U32, SOPKOp.S_CMPK_GT_U32, SOPKOp.S_CMPK_GE_U32, SOPKOp.S_CMPK_LT_U32, SOPKOp.S_CMPK_LE_U32, SOPKOp.S_ADDK_I32, SOPKOp.S_MULK_I32, SOPKOp.S_CBRANCH_I_FORK, SOPKOp.S_GETREG_B32, SOPKOp.S_SETREG_B32, SOPKOp.S_CALL_B64})
  sdst = SGPRField(22, 16)
  simm16 = BitField(15, 0)

class SOPP(Inst):
  encoding = FixedBitField(31, 23, 0b101111111)
  op = EnumBitField(22, 16, SOPPOp, {SOPPOp.S_NOP, SOPPOp.S_ENDPGM, SOPPOp.S_BRANCH, SOPPOp.S_WAKEUP, SOPPOp.S_CBRANCH_SCC0, SOPPOp.S_CBRANCH_SCC1, SOPPOp.S_CBRANCH_VCCZ, SOPPOp.S_CBRANCH_VCCNZ, SOPPOp.S_CBRANCH_EXECZ, SOPPOp.S_CBRANCH_EXECNZ, SOPPOp.S_BARRIER, SOPPOp.S_SETKILL, SOPPOp.S_WAITCNT, SOPPOp.S_SETHALT, SOPPOp.S_SLEEP, SOPPOp.S_SETPRIO, SOPPOp.S_SENDMSG, SOPPOp.S_SENDMSGHALT, SOPPOp.S_TRAP, SOPPOp.S_ICACHE_INV, SOPPOp.S_INCPERFLEVEL, SOPPOp.S_DECPERFLEVEL, SOPPOp.S_TTRACEDATA, SOPPOp.S_CBRANCH_CDBGSYS, SOPPOp.S_CBRANCH_CDBGUSER, SOPPOp.S_CBRANCH_CDBGSYS_OR_USER, SOPPOp.S_CBRANCH_CDBGSYS_AND_USER, SOPPOp.S_ENDPGM_SAVED, SOPPOp.S_SET_GPR_IDX_OFF, SOPPOp.S_SET_GPR_IDX_MODE, SOPPOp.S_ENDPGM_ORDERED_PS_DONE, SOPPOp.S_SET_VALU_COEXEC_MODE})
  simm16 = BitField(15, 0)

class VOP1(Inst):
  encoding = FixedBitField(31, 25, 0b0111111)
  op = EnumBitField(16, 9, VOP1Op, {VOP1Op.V_NOP, VOP1Op.V_MOV_B32, VOP1Op.V_READFIRSTLANE_B32, VOP1Op.V_CVT_I32_F64, VOP1Op.V_CVT_F64_I32, VOP1Op.V_CVT_F32_I32, VOP1Op.V_CVT_F32_U32, VOP1Op.V_CVT_U32_F32, VOP1Op.V_CVT_I32_F32, VOP1Op.V_CVT_F16_F32, VOP1Op.V_CVT_F32_F16, VOP1Op.V_CVT_RPI_I32_F32, VOP1Op.V_CVT_FLR_I32_F32, VOP1Op.V_CVT_OFF_F32_I4, VOP1Op.V_CVT_F32_F64, VOP1Op.V_CVT_F64_F32, VOP1Op.V_CVT_F32_UBYTE0, VOP1Op.V_CVT_F32_UBYTE1, VOP1Op.V_CVT_F32_UBYTE2, VOP1Op.V_CVT_F32_UBYTE3, VOP1Op.V_CVT_U32_F64, VOP1Op.V_CVT_F64_U32, VOP1Op.V_TRUNC_F64, VOP1Op.V_CEIL_F64, VOP1Op.V_RNDNE_F64, VOP1Op.V_FLOOR_F64, VOP1Op.V_FRACT_F32, VOP1Op.V_TRUNC_F32, VOP1Op.V_CEIL_F32, VOP1Op.V_RNDNE_F32, VOP1Op.V_FLOOR_F32, VOP1Op.V_EXP_F32, VOP1Op.V_LOG_F32, VOP1Op.V_RCP_F32, VOP1Op.V_RCP_IFLAG_F32, VOP1Op.V_RSQ_F32, VOP1Op.V_RCP_F64, VOP1Op.V_RSQ_F64, VOP1Op.V_SQRT_F32, VOP1Op.V_SQRT_F64, VOP1Op.V_SIN_F32, VOP1Op.V_COS_F32, VOP1Op.V_NOT_B32, VOP1Op.V_BFREV_B32, VOP1Op.V_FFBH_U32, VOP1Op.V_FFBL_B32, VOP1Op.V_FFBH_I32, VOP1Op.V_FREXP_EXP_I32_F64, VOP1Op.V_FREXP_MANT_F64, VOP1Op.V_FRACT_F64, VOP1Op.V_FREXP_EXP_I32_F32, VOP1Op.V_FREXP_MANT_F32, VOP1Op.V_CLREXCP, VOP1Op.V_SCREEN_PARTITION_4SE_B32, VOP1Op.V_MOV_B64, VOP1Op.V_CVT_F16_U16, VOP1Op.V_CVT_F16_I16, VOP1Op.V_CVT_U16_F16, VOP1Op.V_CVT_I16_F16, VOP1Op.V_RCP_F16, VOP1Op.V_SQRT_F16, VOP1Op.V_RSQ_F16, VOP1Op.V_LOG_F16, VOP1Op.V_EXP_F16, VOP1Op.V_FREXP_MANT_F16, VOP1Op.V_FREXP_EXP_I16_F16, VOP1Op.V_FLOOR_F16, VOP1Op.V_CEIL_F16, VOP1Op.V_TRUNC_F16, VOP1Op.V_RNDNE_F16, VOP1Op.V_FRACT_F16, VOP1Op.V_SIN_F16, VOP1Op.V_COS_F16, VOP1Op.V_EXP_LEGACY_F32, VOP1Op.V_LOG_LEGACY_F32, VOP1Op.V_CVT_NORM_I16_F16, VOP1Op.V_CVT_NORM_U16_F16, VOP1Op.V_SAT_PK_U8_I16, VOP1Op.V_SWAP_B32, VOP1Op.V_ACCVGPR_MOV_B32, VOP1Op.V_CVT_F32_FP8, VOP1Op.V_CVT_F32_BF8, VOP1Op.V_CVT_PK_F32_FP8, VOP1Op.V_CVT_PK_F32_BF8, VOP1Op.V_PRNG_B32, VOP1Op.V_PERMLANE16_SWAP_B32, VOP1Op.V_PERMLANE32_SWAP_B32, VOP1Op.V_CVT_F32_BF16})
  vdst = VGPRField(24, 17)
  src0 = SrcField(8, 0)

class VOP2(Inst):
  encoding = FixedBitField(31, 31, 0b0)
  op = EnumBitField(30, 25, VOP2Op, {VOP2Op.V_CNDMASK_B32, VOP2Op.V_ADD_F32, VOP2Op.V_SUB_F32, VOP2Op.V_SUBREV_F32, VOP2Op.V_FMAC_F64, VOP2Op.V_MUL_F32, VOP2Op.V_MUL_I32_I24, VOP2Op.V_MUL_HI_I32_I24, VOP2Op.V_MUL_U32_U24, VOP2Op.V_MUL_HI_U32_U24, VOP2Op.V_MIN_F32, VOP2Op.V_MAX_F32, VOP2Op.V_MIN_I32, VOP2Op.V_MAX_I32, VOP2Op.V_MIN_U32, VOP2Op.V_MAX_U32, VOP2Op.V_LSHRREV_B32, VOP2Op.V_ASHRREV_I32, VOP2Op.V_LSHLREV_B32, VOP2Op.V_AND_B32, VOP2Op.V_OR_B32, VOP2Op.V_XOR_B32, VOP2Op.V_DOT2C_F32_BF16, VOP2Op.V_ADD_CO_U32, VOP2Op.V_SUB_CO_U32, VOP2Op.V_SUBREV_CO_U32, VOP2Op.V_ADDC_CO_U32, VOP2Op.V_SUBB_CO_U32, VOP2Op.V_SUBBREV_CO_U32, VOP2Op.V_ADD_F16, VOP2Op.V_SUB_F16, VOP2Op.V_SUBREV_F16, VOP2Op.V_MUL_F16, VOP2Op.V_MAC_F16, VOP2Op.V_ADD_U16, VOP2Op.V_SUB_U16, VOP2Op.V_SUBREV_U16, VOP2Op.V_MUL_LO_U16, VOP2Op.V_LSHLREV_B16, VOP2Op.V_LSHRREV_B16, VOP2Op.V_ASHRREV_I16, VOP2Op.V_MAX_F16, VOP2Op.V_MIN_F16, VOP2Op.V_MAX_U16, VOP2Op.V_MAX_I16, VOP2Op.V_MIN_U16, VOP2Op.V_MIN_I16, VOP2Op.V_LDEXP_F16, VOP2Op.V_ADD_U32, VOP2Op.V_SUB_U32, VOP2Op.V_SUBREV_U32, VOP2Op.V_DOT2C_F32_F16, VOP2Op.V_DOT2C_I32_I16, VOP2Op.V_DOT4C_I32_I8, VOP2Op.V_DOT8C_I32_I4, VOP2Op.V_FMAC_F32, VOP2Op.V_PK_FMAC_F16, VOP2Op.V_XNOR_B32})
  vdst = VGPRField(24, 17)
  src0 = SrcField(8, 0)
  vsrc1 = VGPRField(16, 9)

class VOP3(Inst):
  encoding = FixedBitField(31, 26, 0b110100)
  op = EnumBitField(25, 16, VOP3Op, {VOP3Op.V_CMPX_CLASS_F32, VOP3Op.V_CMPX_CLASS_F64, VOP3Op.V_CMPX_CLASS_F16, VOP3Op.V_CMPX_F_F16, VOP3Op.V_CMPX_LT_F16, VOP3Op.V_CMPX_EQ_F16, VOP3Op.V_CMPX_LE_F16, VOP3Op.V_CMPX_GT_F16, VOP3Op.V_CMPX_LG_F16, VOP3Op.V_CMPX_GE_F16, VOP3Op.V_CMPX_O_F16, VOP3Op.V_CMPX_U_F16, VOP3Op.V_CMPX_NGE_F16, VOP3Op.V_CMPX_NLG_F16, VOP3Op.V_CMPX_NGT_F16, VOP3Op.V_CMPX_NLE_F16, VOP3Op.V_CMPX_NEQ_F16, VOP3Op.V_CMPX_NLT_F16, VOP3Op.V_CMPX_TRU_F16, VOP3Op.V_CMPX_F_F32, VOP3Op.V_CMPX_LT_F32, VOP3Op.V_CMPX_EQ_F32, VOP3Op.V_CMPX_LE_F32, VOP3Op.V_CMPX_GT_F32, VOP3Op.V_CMPX_LG_F32, VOP3Op.V_CMPX_GE_F32, VOP3Op.V_CMPX_O_F32, VOP3Op.V_CMPX_U_F32, VOP3Op.V_CMPX_NGE_F32, VOP3Op.V_CMPX_NLG_F32, VOP3Op.V_CMPX_NGT_F32, VOP3Op.V_CMPX_NLE_F32, VOP3Op.V_CMPX_NEQ_F32, VOP3Op.V_CMPX_NLT_F32, VOP3Op.V_CMPX_TRU_F32, VOP3Op.V_CMPX_F_F64, VOP3Op.V_CMPX_LT_F64, VOP3Op.V_CMPX_EQ_F64, VOP3Op.V_CMPX_LE_F64, VOP3Op.V_CMPX_GT_F64, VOP3Op.V_CMPX_LG_F64, VOP3Op.V_CMPX_GE_F64, VOP3Op.V_CMPX_O_F64, VOP3Op.V_CMPX_U_F64, VOP3Op.V_CMPX_NGE_F64, VOP3Op.V_CMPX_NLG_F64, VOP3Op.V_CMPX_NGT_F64, VOP3Op.V_CMPX_NLE_F64, VOP3Op.V_CMPX_NEQ_F64, VOP3Op.V_CMPX_NLT_F64, VOP3Op.V_CMPX_TRU_F64, VOP3Op.V_CMPX_F_I16, VOP3Op.V_CMPX_LT_I16, VOP3Op.V_CMPX_EQ_I16, VOP3Op.V_CMPX_LE_I16, VOP3Op.V_CMPX_GT_I16, VOP3Op.V_CMPX_NE_I16, VOP3Op.V_CMPX_GE_I16, VOP3Op.V_CMPX_T_I16, VOP3Op.V_CMPX_F_U16, VOP3Op.V_CMPX_LT_U16, VOP3Op.V_CMPX_EQ_U16, VOP3Op.V_CMPX_LE_U16, VOP3Op.V_CMPX_GT_U16, VOP3Op.V_CMPX_NE_U16, VOP3Op.V_CMPX_GE_U16, VOP3Op.V_CMPX_T_U16, VOP3Op.V_CMPX_F_I32, VOP3Op.V_CMPX_LT_I32, VOP3Op.V_CMPX_EQ_I32, VOP3Op.V_CMPX_LE_I32, VOP3Op.V_CMPX_GT_I32, VOP3Op.V_CMPX_NE_I32, VOP3Op.V_CMPX_GE_I32, VOP3Op.V_CMPX_T_I32, VOP3Op.V_CMPX_F_U32, VOP3Op.V_CMPX_LT_U32, VOP3Op.V_CMPX_EQ_U32, VOP3Op.V_CMPX_LE_U32, VOP3Op.V_CMPX_GT_U32, VOP3Op.V_CMPX_NE_U32, VOP3Op.V_CMPX_GE_U32, VOP3Op.V_CMPX_T_U32, VOP3Op.V_CMPX_F_I64, VOP3Op.V_CMPX_LT_I64, VOP3Op.V_CMPX_EQ_I64, VOP3Op.V_CMPX_LE_I64, VOP3Op.V_CMPX_GT_I64, VOP3Op.V_CMPX_NE_I64, VOP3Op.V_CMPX_GE_I64, VOP3Op.V_CMPX_T_I64, VOP3Op.V_CMPX_F_U64, VOP3Op.V_CMPX_LT_U64, VOP3Op.V_CMPX_EQ_U64, VOP3Op.V_CMPX_LE_U64, VOP3Op.V_CMPX_GT_U64, VOP3Op.V_CMPX_NE_U64, VOP3Op.V_CMPX_GE_U64, VOP3Op.V_CMPX_T_U64, VOP3Op.V_CNDMASK_B32, VOP3Op.V_ADD_F32, VOP3Op.V_SUB_F32, VOP3Op.V_SUBREV_F32, VOP3Op.V_FMAC_F64, VOP3Op.V_MUL_F32, VOP3Op.V_MUL_I32_I24, VOP3Op.V_MUL_HI_I32_I24, VOP3Op.V_MUL_U32_U24, VOP3Op.V_MUL_HI_U32_U24, VOP3Op.V_MIN_F32, VOP3Op.V_MAX_F32, VOP3Op.V_MIN_I32, VOP3Op.V_MAX_I32, VOP3Op.V_MIN_U32, VOP3Op.V_MAX_U32, VOP3Op.V_LSHRREV_B32, VOP3Op.V_ASHRREV_I32, VOP3Op.V_LSHLREV_B32, VOP3Op.V_AND_B32, VOP3Op.V_OR_B32, VOP3Op.V_XOR_B32, VOP3Op.V_DOT2C_F32_BF16, VOP3Op.V_ADD_F16, VOP3Op.V_SUB_F16, VOP3Op.V_SUBREV_F16, VOP3Op.V_MUL_F16, VOP3Op.V_MAC_F16, VOP3Op.V_ADD_U16, VOP3Op.V_SUB_U16, VOP3Op.V_SUBREV_U16, VOP3Op.V_MUL_LO_U16, VOP3Op.V_LSHLREV_B16, VOP3Op.V_LSHRREV_B16, VOP3Op.V_ASHRREV_I16, VOP3Op.V_MAX_F16, VOP3Op.V_MIN_F16, VOP3Op.V_MAX_U16, VOP3Op.V_MAX_I16, VOP3Op.V_MIN_U16, VOP3Op.V_MIN_I16, VOP3Op.V_LDEXP_F16, VOP3Op.V_ADD_U32, VOP3Op.V_SUB_U32, VOP3Op.V_SUBREV_U32, VOP3Op.V_DOT2C_F32_F16, VOP3Op.V_DOT2C_I32_I16, VOP3Op.V_DOT4C_I32_I8, VOP3Op.V_DOT8C_I32_I4, VOP3Op.V_FMAC_F32, VOP3Op.V_PK_FMAC_F16, VOP3Op.V_XNOR_B32, VOP3Op.V_NOP, VOP3Op.V_MOV_B32, VOP3Op.V_READFIRSTLANE_B32, VOP3Op.V_CVT_I32_F64, VOP3Op.V_CVT_F64_I32, VOP3Op.V_CVT_F32_I32, VOP3Op.V_CVT_F32_U32, VOP3Op.V_CVT_U32_F32, VOP3Op.V_CVT_I32_F32, VOP3Op.V_CVT_F16_F32, VOP3Op.V_CVT_F32_F16, VOP3Op.V_CVT_RPI_I32_F32, VOP3Op.V_CVT_FLR_I32_F32, VOP3Op.V_CVT_OFF_F32_I4, VOP3Op.V_CVT_F32_F64, VOP3Op.V_CVT_F64_F32, VOP3Op.V_CVT_F32_UBYTE0, VOP3Op.V_CVT_F32_UBYTE1, VOP3Op.V_CVT_F32_UBYTE2, VOP3Op.V_CVT_F32_UBYTE3, VOP3Op.V_CVT_U32_F64, VOP3Op.V_CVT_F64_U32, VOP3Op.V_TRUNC_F64, VOP3Op.V_CEIL_F64, VOP3Op.V_RNDNE_F64, VOP3Op.V_FLOOR_F64, VOP3Op.V_FRACT_F32, VOP3Op.V_TRUNC_F32, VOP3Op.V_CEIL_F32, VOP3Op.V_RNDNE_F32, VOP3Op.V_FLOOR_F32, VOP3Op.V_EXP_F32, VOP3Op.V_LOG_F32, VOP3Op.V_RCP_F32, VOP3Op.V_RCP_IFLAG_F32, VOP3Op.V_RSQ_F32, VOP3Op.V_RCP_F64, VOP3Op.V_RSQ_F64, VOP3Op.V_SQRT_F32, VOP3Op.V_SQRT_F64, VOP3Op.V_SIN_F32, VOP3Op.V_COS_F32, VOP3Op.V_NOT_B32, VOP3Op.V_BFREV_B32, VOP3Op.V_FFBH_U32, VOP3Op.V_FFBL_B32, VOP3Op.V_FFBH_I32, VOP3Op.V_FREXP_EXP_I32_F64, VOP3Op.V_FREXP_MANT_F64, VOP3Op.V_FRACT_F64, VOP3Op.V_FREXP_EXP_I32_F32, VOP3Op.V_FREXP_MANT_F32, VOP3Op.V_CLREXCP, VOP3Op.V_SCREEN_PARTITION_4SE_B32, VOP3Op.V_MOV_B64, VOP3Op.V_CVT_F16_U16, VOP3Op.V_CVT_F16_I16, VOP3Op.V_CVT_U16_F16, VOP3Op.V_CVT_I16_F16, VOP3Op.V_RCP_F16, VOP3Op.V_SQRT_F16, VOP3Op.V_RSQ_F16, VOP3Op.V_LOG_F16, VOP3Op.V_EXP_F16, VOP3Op.V_FREXP_MANT_F16, VOP3Op.V_FREXP_EXP_I16_F16, VOP3Op.V_FLOOR_F16, VOP3Op.V_CEIL_F16, VOP3Op.V_TRUNC_F16, VOP3Op.V_RNDNE_F16, VOP3Op.V_FRACT_F16, VOP3Op.V_SIN_F16, VOP3Op.V_COS_F16, VOP3Op.V_EXP_LEGACY_F32, VOP3Op.V_LOG_LEGACY_F32, VOP3Op.V_CVT_NORM_I16_F16, VOP3Op.V_CVT_NORM_U16_F16, VOP3Op.V_SAT_PK_U8_I16, VOP3Op.V_SWAP_B32, VOP3Op.V_ACCVGPR_MOV_B32, VOP3Op.V_CVT_F32_FP8, VOP3Op.V_CVT_F32_BF8, VOP3Op.V_CVT_PK_F32_FP8, VOP3Op.V_CVT_PK_F32_BF8, VOP3Op.V_PRNG_B32, VOP3Op.V_PERMLANE16_SWAP_B32, VOP3Op.V_PERMLANE32_SWAP_B32, VOP3Op.V_CVT_F32_BF16, VOP3Op.V_MAD_I32_I24, VOP3Op.V_MAD_U32_U24, VOP3Op.V_CUBEID_F32, VOP3Op.V_CUBESC_F32, VOP3Op.V_CUBETC_F32, VOP3Op.V_CUBEMA_F32, VOP3Op.V_BFE_U32, VOP3Op.V_BFE_I32, VOP3Op.V_BFI_B32, VOP3Op.V_FMA_F32, VOP3Op.V_FMA_F64, VOP3Op.V_LERP_U8, VOP3Op.V_ALIGNBIT_B32, VOP3Op.V_ALIGNBYTE_B32, VOP3Op.V_MIN3_F32, VOP3Op.V_MIN3_I32, VOP3Op.V_MIN3_U32, VOP3Op.V_MAX3_F32, VOP3Op.V_MAX3_I32, VOP3Op.V_MAX3_U32, VOP3Op.V_MED3_F32, VOP3Op.V_MED3_I32, VOP3Op.V_MED3_U32, VOP3Op.V_SAD_U8, VOP3Op.V_SAD_HI_U8, VOP3Op.V_SAD_U16, VOP3Op.V_SAD_U32, VOP3Op.V_CVT_PK_U8_F32, VOP3Op.V_DIV_FIXUP_F32, VOP3Op.V_DIV_FIXUP_F64, VOP3Op.V_DIV_FMAS_F32, VOP3Op.V_DIV_FMAS_F64, VOP3Op.V_MSAD_U8, VOP3Op.V_QSAD_PK_U16_U8, VOP3Op.V_MQSAD_PK_U16_U8, VOP3Op.V_MQSAD_U32_U8, VOP3Op.V_MAD_LEGACY_F16, VOP3Op.V_MAD_LEGACY_U16, VOP3Op.V_MAD_LEGACY_I16, VOP3Op.V_PERM_B32, VOP3Op.V_FMA_LEGACY_F16, VOP3Op.V_DIV_FIXUP_LEGACY_F16, VOP3Op.V_CVT_PKACCUM_U8_F32, VOP3Op.V_MAD_U32_U16, VOP3Op.V_MAD_I32_I16, VOP3Op.V_XAD_U32, VOP3Op.V_MIN3_F16, VOP3Op.V_MIN3_I16, VOP3Op.V_MIN3_U16, VOP3Op.V_MAX3_F16, VOP3Op.V_MAX3_I16, VOP3Op.V_MAX3_U16, VOP3Op.V_MED3_F16, VOP3Op.V_MED3_I16, VOP3Op.V_MED3_U16, VOP3Op.V_LSHL_ADD_U32, VOP3Op.V_ADD_LSHL_U32, VOP3Op.V_ADD3_U32, VOP3Op.V_LSHL_OR_B32, VOP3Op.V_AND_OR_B32, VOP3Op.V_OR3_B32, VOP3Op.V_MAD_F16, VOP3Op.V_MAD_U16, VOP3Op.V_MAD_I16, VOP3Op.V_FMA_F16, VOP3Op.V_DIV_FIXUP_F16, VOP3Op.V_LSHL_ADD_U64, VOP3Op.V_BITOP3_B16, VOP3Op.V_BITOP3_B32, VOP3Op.V_CVT_SCALEF32_PK_FP8_F32, VOP3Op.V_CVT_SCALEF32_PK_BF8_F32, VOP3Op.V_CVT_SCALEF32_SR_FP8_F32, VOP3Op.V_CVT_SCALEF32_SR_BF8_F32, VOP3Op.V_CVT_SCALEF32_PK_F32_FP8, VOP3Op.V_CVT_SCALEF32_PK_F32_BF8, VOP3Op.V_CVT_SCALEF32_F32_FP8, VOP3Op.V_CVT_SCALEF32_F32_BF8, VOP3Op.V_CVT_SCALEF32_PK_FP4_F32, VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_F32, VOP3Op.V_CVT_SCALEF32_PK_F32_FP4, VOP3Op.V_CVT_SCALEF32_PK_FP8_F16, VOP3Op.V_CVT_SCALEF32_PK_BF8_F16, VOP3Op.V_CVT_SCALEF32_SR_FP8_F16, VOP3Op.V_CVT_SCALEF32_SR_BF8_F16, VOP3Op.V_CVT_SCALEF32_PK_FP8_BF16, VOP3Op.V_CVT_SCALEF32_PK_BF8_BF16, VOP3Op.V_CVT_SCALEF32_SR_FP8_BF16, VOP3Op.V_CVT_SCALEF32_SR_BF8_BF16, VOP3Op.V_CVT_SCALEF32_PK_F16_FP8, VOP3Op.V_CVT_SCALEF32_PK_F16_BF8, VOP3Op.V_CVT_SCALEF32_F16_FP8, VOP3Op.V_CVT_SCALEF32_F16_BF8, VOP3Op.V_CVT_SCALEF32_PK_FP4_F16, VOP3Op.V_CVT_SCALEF32_PK_FP4_BF16, VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_F16, VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_BF16, VOP3Op.V_CVT_SCALEF32_PK_F16_FP4, VOP3Op.V_CVT_SCALEF32_PK_BF16_FP4, VOP3Op.V_CVT_SCALEF32_2XPK16_FP6_F32, VOP3Op.V_CVT_SCALEF32_2XPK16_BF6_F32, VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_F32, VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_F32, VOP3Op.V_CVT_SCALEF32_PK32_F32_FP6, VOP3Op.V_CVT_SCALEF32_PK32_F32_BF6, VOP3Op.V_CVT_SCALEF32_PK32_FP6_F16, VOP3Op.V_CVT_SCALEF32_PK32_FP6_BF16, VOP3Op.V_CVT_SCALEF32_PK32_BF6_F16, VOP3Op.V_CVT_SCALEF32_PK32_BF6_BF16, VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_F16, VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_BF16, VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_F16, VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_BF16, VOP3Op.V_CVT_SCALEF32_PK32_F16_FP6, VOP3Op.V_CVT_SCALEF32_PK32_BF16_FP6, VOP3Op.V_CVT_SCALEF32_PK32_F16_BF6, VOP3Op.V_CVT_SCALEF32_PK32_BF16_BF6, VOP3Op.V_ASHR_PK_I8_I32, VOP3Op.V_ASHR_PK_U8_I32, VOP3Op.V_CVT_PK_F16_F32, VOP3Op.V_CVT_PK_BF16_F32, VOP3Op.V_CVT_SCALEF32_PK_BF16_FP8, VOP3Op.V_CVT_SCALEF32_PK_BF16_BF8, VOP3Op.V_ADD_F64, VOP3Op.V_MUL_F64, VOP3Op.V_MIN_F64, VOP3Op.V_MAX_F64, VOP3Op.V_LDEXP_F64, VOP3Op.V_MUL_LO_U32, VOP3Op.V_MUL_HI_U32, VOP3Op.V_MUL_HI_I32, VOP3Op.V_LDEXP_F32, VOP3Op.V_READLANE_B32, VOP3Op.V_WRITELANE_B32, VOP3Op.V_BCNT_U32_B32, VOP3Op.V_MBCNT_LO_U32_B32, VOP3Op.V_MBCNT_HI_U32_B32, VOP3Op.V_LSHLREV_B64, VOP3Op.V_LSHRREV_B64, VOP3Op.V_ASHRREV_I64, VOP3Op.V_TRIG_PREOP_F64, VOP3Op.V_BFM_B32, VOP3Op.V_CVT_PKNORM_I16_F32, VOP3Op.V_CVT_PKNORM_U16_F32, VOP3Op.V_CVT_PKRTZ_F16_F32, VOP3Op.V_CVT_PK_U16_U32, VOP3Op.V_CVT_PK_I16_I32, VOP3Op.V_CVT_PKNORM_I16_F16, VOP3Op.V_CVT_PKNORM_U16_F16, VOP3Op.V_ADD_I32, VOP3Op.V_SUB_I32, VOP3Op.V_ADD_I16, VOP3Op.V_SUB_I16, VOP3Op.V_PACK_B32_F16, VOP3Op.V_MUL_LEGACY_F32, VOP3Op.V_CVT_PK_FP8_F32, VOP3Op.V_CVT_PK_BF8_F32, VOP3Op.V_CVT_SR_FP8_F32, VOP3Op.V_CVT_SR_BF8_F32, VOP3Op.V_CVT_SR_F16_F32, VOP3Op.V_CVT_SR_BF16_F32, VOP3Op.V_MINIMUM3_F32, VOP3Op.V_MAXIMUM3_F32})
  vdst = VGPRField(7, 0)
  src0 = SrcField(40, 32)
  src1 = SrcField(49, 41)
  src2 = SrcField(58, 50)
  omod = BitField(60, 59)
  neg = BitField(63, 61)
  abs = BitField(10, 8)
  clmp = BitField(15, 15)
  opsel = BitField(14, 11)

class VOP3P(Inst):
  encoding = FixedBitField(31, 23, 0b110100111)
  op = EnumBitField(22, 16, VOP3POp, {VOP3POp.V_PK_MAD_I16, VOP3POp.V_PK_MUL_LO_U16, VOP3POp.V_PK_ADD_I16, VOP3POp.V_PK_SUB_I16, VOP3POp.V_PK_LSHLREV_B16, VOP3POp.V_PK_LSHRREV_B16, VOP3POp.V_PK_ASHRREV_I16, VOP3POp.V_PK_MAX_I16, VOP3POp.V_PK_MIN_I16, VOP3POp.V_PK_MAD_U16, VOP3POp.V_PK_ADD_U16, VOP3POp.V_PK_SUB_U16, VOP3POp.V_PK_MAX_U16, VOP3POp.V_PK_MIN_U16, VOP3POp.V_PK_FMA_F16, VOP3POp.V_PK_ADD_F16, VOP3POp.V_PK_MUL_F16, VOP3POp.V_PK_MIN_F16, VOP3POp.V_PK_MAX_F16, VOP3POp.V_DOT2_F32_BF16, VOP3POp.V_PK_MINIMUM3_F16, VOP3POp.V_PK_MAXIMUM3_F16, VOP3POp.V_MAD_MIX_F32, VOP3POp.V_MAD_MIXLO_F16, VOP3POp.V_MAD_MIXHI_F16, VOP3POp.V_DOT2_F32_F16, VOP3POp.V_DOT2_I32_I16, VOP3POp.V_DOT2_U32_U16, VOP3POp.V_DOT4_I32_I8, VOP3POp.V_DOT4_U32_U8, VOP3POp.V_DOT8_I32_I4, VOP3POp.V_DOT8_U32_U4, VOP3POp.V_MFMA_LD_SCALE_B32, VOP3POp.V_PK_FMA_F32, VOP3POp.V_PK_MUL_F32, VOP3POp.V_PK_ADD_F32, VOP3POp.V_PK_MOV_B32, VOP3POp.V_MFMA_F32_16X16X8_XF32, VOP3POp.V_MFMA_F32_32X32X4_XF32, VOP3POp.V_ACCVGPR_READ, VOP3POp.V_ACCVGPR_WRITE})
  vdst = VGPRField(7, 0)
  src0 = SrcField(40, 32)
  src1 = SrcField(49, 41)
  src2 = SrcField(58, 50)
  neg = BitField(63, 61)
  neg_hi = BitField(10, 8)
  clmp = BitField(15, 15)
  opsel = BitField(13, 11)
  opsel_hi = BitField(60, 59, default=3)
  opsel_hi2 = BitField(14, 14, default=1)

class VOP3PX2(Inst):
  encoding = FixedBitField(95, 87, 0b110100111)
  op = EnumBitField(86, 80, VOP3PX2Op, {VOP3PX2Op.V_MFMA_SCALE_F32_16X16X128_F8F6F4, VOP3PX2Op.V_MFMA_SCALE_F32_32X32X64_F8F6F4})
  vdst = VGPRField(71, 64)
  src0 = SrcField(104, 96)
  src1 = SrcField(113, 105)
  src2 = SrcField(122, 114)
  neg = BitField(63, 61)
  neg_hi = BitField(10, 8)
  opsel = BitField(13, 11)
  opsel_hi = BitField(60, 59)
  cbsz = BitField(74, 72)
  abid = BitField(78, 75)
  acc_cd = BitField(79, 79)
  acc = BitField(124, 123)
  blgp = BitField(127, 125)
  x2encoding = BitField(31, 16)
  scale_src0 = BitField(40, 32)
  scale_src1 = BitField(49, 41)

class VOP3SD(Inst):
  encoding = FixedBitField(31, 26, 0b110100)
  op = EnumBitField(25, 16, VOP3SDOp, {VOP3SDOp.V_ADD_CO_U32, VOP3SDOp.V_SUB_CO_U32, VOP3SDOp.V_SUBREV_CO_U32, VOP3SDOp.V_ADDC_CO_U32, VOP3SDOp.V_SUBB_CO_U32, VOP3SDOp.V_SUBBREV_CO_U32, VOP3SDOp.V_DIV_SCALE_F32, VOP3SDOp.V_DIV_SCALE_F64, VOP3SDOp.V_MAD_U64_U32, VOP3SDOp.V_MAD_I64_I32})
  vdst = VGPRField(7, 0)
  sdst = SGPRField(14, 8)
  src0 = SrcField(40, 32)
  src1 = SrcField(49, 41)
  src2 = SrcField(58, 50)
  omod = BitField(60, 59)
  neg = BitField(63, 61)
  clmp = BitField(15, 15)

class VOPC(Inst):
  encoding = FixedBitField(31, 25, 0b0111110)
  op = EnumBitField(24, 17, VOPCOp, {VOPCOp.V_CMP_CLASS_F32, VOPCOp.V_CMPX_CLASS_F32, VOPCOp.V_CMP_CLASS_F64, VOPCOp.V_CMPX_CLASS_F64, VOPCOp.V_CMP_CLASS_F16, VOPCOp.V_CMPX_CLASS_F16, VOPCOp.V_CMP_F_F16, VOPCOp.V_CMP_LT_F16, VOPCOp.V_CMP_EQ_F16, VOPCOp.V_CMP_LE_F16, VOPCOp.V_CMP_GT_F16, VOPCOp.V_CMP_LG_F16, VOPCOp.V_CMP_GE_F16, VOPCOp.V_CMP_O_F16, VOPCOp.V_CMP_U_F16, VOPCOp.V_CMP_NGE_F16, VOPCOp.V_CMP_NLG_F16, VOPCOp.V_CMP_NGT_F16, VOPCOp.V_CMP_NLE_F16, VOPCOp.V_CMP_NEQ_F16, VOPCOp.V_CMP_NLT_F16, VOPCOp.V_CMP_TRU_F16, VOPCOp.V_CMPX_F_F16, VOPCOp.V_CMPX_LT_F16, VOPCOp.V_CMPX_EQ_F16, VOPCOp.V_CMPX_LE_F16, VOPCOp.V_CMPX_GT_F16, VOPCOp.V_CMPX_LG_F16, VOPCOp.V_CMPX_GE_F16, VOPCOp.V_CMPX_O_F16, VOPCOp.V_CMPX_U_F16, VOPCOp.V_CMPX_NGE_F16, VOPCOp.V_CMPX_NLG_F16, VOPCOp.V_CMPX_NGT_F16, VOPCOp.V_CMPX_NLE_F16, VOPCOp.V_CMPX_NEQ_F16, VOPCOp.V_CMPX_NLT_F16, VOPCOp.V_CMPX_TRU_F16, VOPCOp.V_CMP_F_F32, VOPCOp.V_CMP_LT_F32, VOPCOp.V_CMP_EQ_F32, VOPCOp.V_CMP_LE_F32, VOPCOp.V_CMP_GT_F32, VOPCOp.V_CMP_LG_F32, VOPCOp.V_CMP_GE_F32, VOPCOp.V_CMP_O_F32, VOPCOp.V_CMP_U_F32, VOPCOp.V_CMP_NGE_F32, VOPCOp.V_CMP_NLG_F32, VOPCOp.V_CMP_NGT_F32, VOPCOp.V_CMP_NLE_F32, VOPCOp.V_CMP_NEQ_F32, VOPCOp.V_CMP_NLT_F32, VOPCOp.V_CMP_TRU_F32, VOPCOp.V_CMPX_F_F32, VOPCOp.V_CMPX_LT_F32, VOPCOp.V_CMPX_EQ_F32, VOPCOp.V_CMPX_LE_F32, VOPCOp.V_CMPX_GT_F32, VOPCOp.V_CMPX_LG_F32, VOPCOp.V_CMPX_GE_F32, VOPCOp.V_CMPX_O_F32, VOPCOp.V_CMPX_U_F32, VOPCOp.V_CMPX_NGE_F32, VOPCOp.V_CMPX_NLG_F32, VOPCOp.V_CMPX_NGT_F32, VOPCOp.V_CMPX_NLE_F32, VOPCOp.V_CMPX_NEQ_F32, VOPCOp.V_CMPX_NLT_F32, VOPCOp.V_CMPX_TRU_F32, VOPCOp.V_CMP_F_F64, VOPCOp.V_CMP_LT_F64, VOPCOp.V_CMP_EQ_F64, VOPCOp.V_CMP_LE_F64, VOPCOp.V_CMP_GT_F64, VOPCOp.V_CMP_LG_F64, VOPCOp.V_CMP_GE_F64, VOPCOp.V_CMP_O_F64, VOPCOp.V_CMP_U_F64, VOPCOp.V_CMP_NGE_F64, VOPCOp.V_CMP_NLG_F64, VOPCOp.V_CMP_NGT_F64, VOPCOp.V_CMP_NLE_F64, VOPCOp.V_CMP_NEQ_F64, VOPCOp.V_CMP_NLT_F64, VOPCOp.V_CMP_TRU_F64, VOPCOp.V_CMPX_F_F64, VOPCOp.V_CMPX_LT_F64, VOPCOp.V_CMPX_EQ_F64, VOPCOp.V_CMPX_LE_F64, VOPCOp.V_CMPX_GT_F64, VOPCOp.V_CMPX_LG_F64, VOPCOp.V_CMPX_GE_F64, VOPCOp.V_CMPX_O_F64, VOPCOp.V_CMPX_U_F64, VOPCOp.V_CMPX_NGE_F64, VOPCOp.V_CMPX_NLG_F64, VOPCOp.V_CMPX_NGT_F64, VOPCOp.V_CMPX_NLE_F64, VOPCOp.V_CMPX_NEQ_F64, VOPCOp.V_CMPX_NLT_F64, VOPCOp.V_CMPX_TRU_F64, VOPCOp.V_CMP_F_I16, VOPCOp.V_CMP_LT_I16, VOPCOp.V_CMP_EQ_I16, VOPCOp.V_CMP_LE_I16, VOPCOp.V_CMP_GT_I16, VOPCOp.V_CMP_NE_I16, VOPCOp.V_CMP_GE_I16, VOPCOp.V_CMP_T_I16, VOPCOp.V_CMP_F_U16, VOPCOp.V_CMP_LT_U16, VOPCOp.V_CMP_EQ_U16, VOPCOp.V_CMP_LE_U16, VOPCOp.V_CMP_GT_U16, VOPCOp.V_CMP_NE_U16, VOPCOp.V_CMP_GE_U16, VOPCOp.V_CMP_T_U16, VOPCOp.V_CMPX_F_I16, VOPCOp.V_CMPX_LT_I16, VOPCOp.V_CMPX_EQ_I16, VOPCOp.V_CMPX_LE_I16, VOPCOp.V_CMPX_GT_I16, VOPCOp.V_CMPX_NE_I16, VOPCOp.V_CMPX_GE_I16, VOPCOp.V_CMPX_T_I16, VOPCOp.V_CMPX_F_U16, VOPCOp.V_CMPX_LT_U16, VOPCOp.V_CMPX_EQ_U16, VOPCOp.V_CMPX_LE_U16, VOPCOp.V_CMPX_GT_U16, VOPCOp.V_CMPX_NE_U16, VOPCOp.V_CMPX_GE_U16, VOPCOp.V_CMPX_T_U16, VOPCOp.V_CMP_F_I32, VOPCOp.V_CMP_LT_I32, VOPCOp.V_CMP_EQ_I32, VOPCOp.V_CMP_LE_I32, VOPCOp.V_CMP_GT_I32, VOPCOp.V_CMP_NE_I32, VOPCOp.V_CMP_GE_I32, VOPCOp.V_CMP_T_I32, VOPCOp.V_CMP_F_U32, VOPCOp.V_CMP_LT_U32, VOPCOp.V_CMP_EQ_U32, VOPCOp.V_CMP_LE_U32, VOPCOp.V_CMP_GT_U32, VOPCOp.V_CMP_NE_U32, VOPCOp.V_CMP_GE_U32, VOPCOp.V_CMP_T_U32, VOPCOp.V_CMPX_F_I32, VOPCOp.V_CMPX_LT_I32, VOPCOp.V_CMPX_EQ_I32, VOPCOp.V_CMPX_LE_I32, VOPCOp.V_CMPX_GT_I32, VOPCOp.V_CMPX_NE_I32, VOPCOp.V_CMPX_GE_I32, VOPCOp.V_CMPX_T_I32, VOPCOp.V_CMPX_F_U32, VOPCOp.V_CMPX_LT_U32, VOPCOp.V_CMPX_EQ_U32, VOPCOp.V_CMPX_LE_U32, VOPCOp.V_CMPX_GT_U32, VOPCOp.V_CMPX_NE_U32, VOPCOp.V_CMPX_GE_U32, VOPCOp.V_CMPX_T_U32, VOPCOp.V_CMP_F_I64, VOPCOp.V_CMP_LT_I64, VOPCOp.V_CMP_EQ_I64, VOPCOp.V_CMP_LE_I64, VOPCOp.V_CMP_GT_I64, VOPCOp.V_CMP_NE_I64, VOPCOp.V_CMP_GE_I64, VOPCOp.V_CMP_T_I64, VOPCOp.V_CMP_F_U64, VOPCOp.V_CMP_LT_U64, VOPCOp.V_CMP_EQ_U64, VOPCOp.V_CMP_LE_U64, VOPCOp.V_CMP_GT_U64, VOPCOp.V_CMP_NE_U64, VOPCOp.V_CMP_GE_U64, VOPCOp.V_CMP_T_U64, VOPCOp.V_CMPX_F_I64, VOPCOp.V_CMPX_LT_I64, VOPCOp.V_CMPX_EQ_I64, VOPCOp.V_CMPX_LE_I64, VOPCOp.V_CMPX_GT_I64, VOPCOp.V_CMPX_NE_I64, VOPCOp.V_CMPX_GE_I64, VOPCOp.V_CMPX_T_I64, VOPCOp.V_CMPX_F_U64, VOPCOp.V_CMPX_LT_U64, VOPCOp.V_CMPX_EQ_U64, VOPCOp.V_CMPX_LE_U64, VOPCOp.V_CMPX_GT_U64, VOPCOp.V_CMPX_NE_U64, VOPCOp.V_CMPX_GE_U64, VOPCOp.V_CMPX_T_U64})
  src0 = SrcField(8, 0)
  vsrc1 = VGPRField(16, 9)

class SOP1_LIT(SOP1):
  op = EnumBitField(15, 8, SOP1Op, {SOP1Op.S_MOV_B32, SOP1Op.S_MOV_B64, SOP1Op.S_CMOV_B32, SOP1Op.S_CMOV_B64, SOP1Op.S_NOT_B32, SOP1Op.S_NOT_B64, SOP1Op.S_WQM_B32, SOP1Op.S_WQM_B64, SOP1Op.S_BREV_B32, SOP1Op.S_BREV_B64, SOP1Op.S_BCNT0_I32_B32, SOP1Op.S_BCNT0_I32_B64, SOP1Op.S_BCNT1_I32_B32, SOP1Op.S_BCNT1_I32_B64, SOP1Op.S_FF0_I32_B32, SOP1Op.S_FF0_I32_B64, SOP1Op.S_FF1_I32_B32, SOP1Op.S_FF1_I32_B64, SOP1Op.S_FLBIT_I32_B32, SOP1Op.S_FLBIT_I32_B64, SOP1Op.S_FLBIT_I32, SOP1Op.S_FLBIT_I32_I64, SOP1Op.S_SEXT_I32_I8, SOP1Op.S_SEXT_I32_I16, SOP1Op.S_BITSET0_B32, SOP1Op.S_BITSET0_B64, SOP1Op.S_BITSET1_B32, SOP1Op.S_BITSET1_B64, SOP1Op.S_GETPC_B64, SOP1Op.S_SETPC_B64, SOP1Op.S_SWAPPC_B64, SOP1Op.S_RFE_B64, SOP1Op.S_AND_SAVEEXEC_B64, SOP1Op.S_OR_SAVEEXEC_B64, SOP1Op.S_XOR_SAVEEXEC_B64, SOP1Op.S_ANDN2_SAVEEXEC_B64, SOP1Op.S_ORN2_SAVEEXEC_B64, SOP1Op.S_NAND_SAVEEXEC_B64, SOP1Op.S_NOR_SAVEEXEC_B64, SOP1Op.S_XNOR_SAVEEXEC_B64, SOP1Op.S_QUADMASK_B32, SOP1Op.S_QUADMASK_B64, SOP1Op.S_MOVRELS_B32, SOP1Op.S_MOVRELS_B64, SOP1Op.S_MOVRELD_B32, SOP1Op.S_MOVRELD_B64, SOP1Op.S_CBRANCH_JOIN, SOP1Op.S_ABS_I32, SOP1Op.S_SET_GPR_IDX_IDX, SOP1Op.S_ANDN1_SAVEEXEC_B64, SOP1Op.S_ORN1_SAVEEXEC_B64, SOP1Op.S_ANDN1_WREXEC_B64, SOP1Op.S_ANDN2_WREXEC_B64, SOP1Op.S_BITREPLICATE_B64_B32})
  literal = BitField(63, 32)

class SOP2_LIT(SOP2):
  op = EnumBitField(29, 23, SOP2Op, {SOP2Op.S_ADD_U32, SOP2Op.S_SUB_U32, SOP2Op.S_ADD_I32, SOP2Op.S_SUB_I32, SOP2Op.S_ADDC_U32, SOP2Op.S_SUBB_U32, SOP2Op.S_MIN_I32, SOP2Op.S_MIN_U32, SOP2Op.S_MAX_I32, SOP2Op.S_MAX_U32, SOP2Op.S_CSELECT_B32, SOP2Op.S_CSELECT_B64, SOP2Op.S_AND_B32, SOP2Op.S_AND_B64, SOP2Op.S_OR_B32, SOP2Op.S_OR_B64, SOP2Op.S_XOR_B32, SOP2Op.S_XOR_B64, SOP2Op.S_ANDN2_B32, SOP2Op.S_ANDN2_B64, SOP2Op.S_ORN2_B32, SOP2Op.S_ORN2_B64, SOP2Op.S_NAND_B32, SOP2Op.S_NAND_B64, SOP2Op.S_NOR_B32, SOP2Op.S_NOR_B64, SOP2Op.S_XNOR_B32, SOP2Op.S_XNOR_B64, SOP2Op.S_LSHL_B32, SOP2Op.S_LSHL_B64, SOP2Op.S_LSHR_B32, SOP2Op.S_LSHR_B64, SOP2Op.S_ASHR_I32, SOP2Op.S_ASHR_I64, SOP2Op.S_BFM_B32, SOP2Op.S_BFM_B64, SOP2Op.S_MUL_I32, SOP2Op.S_BFE_U32, SOP2Op.S_BFE_I32, SOP2Op.S_BFE_U64, SOP2Op.S_BFE_I64, SOP2Op.S_CBRANCH_G_FORK, SOP2Op.S_ABSDIFF_I32, SOP2Op.S_RFE_RESTORE_B64, SOP2Op.S_MUL_HI_U32, SOP2Op.S_MUL_HI_I32, SOP2Op.S_LSHL1_ADD_U32, SOP2Op.S_LSHL2_ADD_U32, SOP2Op.S_LSHL3_ADD_U32, SOP2Op.S_LSHL4_ADD_U32, SOP2Op.S_PACK_LL_B32_B16, SOP2Op.S_PACK_LH_B32_B16, SOP2Op.S_PACK_HH_B32_B16})
  literal = BitField(63, 32)

class SOPC_LIT(SOPC):
  op = EnumBitField(22, 16, SOPCOp, {SOPCOp.S_CMP_EQ_I32, SOPCOp.S_CMP_LG_I32, SOPCOp.S_CMP_GT_I32, SOPCOp.S_CMP_GE_I32, SOPCOp.S_CMP_LT_I32, SOPCOp.S_CMP_LE_I32, SOPCOp.S_CMP_EQ_U32, SOPCOp.S_CMP_LG_U32, SOPCOp.S_CMP_GT_U32, SOPCOp.S_CMP_GE_U32, SOPCOp.S_CMP_LT_U32, SOPCOp.S_CMP_LE_U32, SOPCOp.S_BITCMP0_B32, SOPCOp.S_BITCMP1_B32, SOPCOp.S_BITCMP0_B64, SOPCOp.S_BITCMP1_B64, SOPCOp.S_SETVSKIP, SOPCOp.S_SET_GPR_IDX_ON, SOPCOp.S_CMP_EQ_U64, SOPCOp.S_CMP_LG_U64})
  literal = BitField(63, 32)

class SOPK_LIT(SOPK):
  op = EnumBitField(27, 23, SOPKOp, {SOPKOp.S_MOVK_I32, SOPKOp.S_CMOVK_I32, SOPKOp.S_CMPK_EQ_I32, SOPKOp.S_CMPK_LG_I32, SOPKOp.S_CMPK_GT_I32, SOPKOp.S_CMPK_GE_I32, SOPKOp.S_CMPK_LT_I32, SOPKOp.S_CMPK_LE_I32, SOPKOp.S_CMPK_EQ_U32, SOPKOp.S_CMPK_LG_U32, SOPKOp.S_CMPK_GT_U32, SOPKOp.S_CMPK_GE_U32, SOPKOp.S_CMPK_LT_U32, SOPKOp.S_CMPK_LE_U32, SOPKOp.S_ADDK_I32, SOPKOp.S_MULK_I32, SOPKOp.S_CBRANCH_I_FORK, SOPKOp.S_GETREG_B32, SOPKOp.S_SETREG_B32, SOPKOp.S_SETREG_IMM32_B32, SOPKOp.S_CALL_B64})
  literal = BitField(63, 32)

class VOP1_DPP16(VOP1):
  vsrc0 = VGPRField(39, 32)
  dpp = BitField(48, 40)
  bc = BitField(51, 51)
  row_mask = BitField(63, 60)
  bank_mask = BitField(59, 56)
  src0_neg = BitField(52, 52)
  src0_abs = BitField(53, 53)
  src1_neg = BitField(54, 54)
  src1_abs = BitField(55, 55)

class VOP1_LIT(VOP1):
  op = EnumBitField(16, 9, VOP1Op, {VOP1Op.V_NOP, VOP1Op.V_MOV_B32, VOP1Op.V_READFIRSTLANE_B32, VOP1Op.V_CVT_I32_F64, VOP1Op.V_CVT_F64_I32, VOP1Op.V_CVT_F32_I32, VOP1Op.V_CVT_F32_U32, VOP1Op.V_CVT_U32_F32, VOP1Op.V_CVT_I32_F32, VOP1Op.V_CVT_F16_F32, VOP1Op.V_CVT_F32_F16, VOP1Op.V_CVT_RPI_I32_F32, VOP1Op.V_CVT_FLR_I32_F32, VOP1Op.V_CVT_OFF_F32_I4, VOP1Op.V_CVT_F32_F64, VOP1Op.V_CVT_F64_F32, VOP1Op.V_CVT_F32_UBYTE0, VOP1Op.V_CVT_F32_UBYTE1, VOP1Op.V_CVT_F32_UBYTE2, VOP1Op.V_CVT_F32_UBYTE3, VOP1Op.V_CVT_U32_F64, VOP1Op.V_CVT_F64_U32, VOP1Op.V_TRUNC_F64, VOP1Op.V_CEIL_F64, VOP1Op.V_RNDNE_F64, VOP1Op.V_FLOOR_F64, VOP1Op.V_FRACT_F32, VOP1Op.V_TRUNC_F32, VOP1Op.V_CEIL_F32, VOP1Op.V_RNDNE_F32, VOP1Op.V_FLOOR_F32, VOP1Op.V_EXP_F32, VOP1Op.V_LOG_F32, VOP1Op.V_RCP_F32, VOP1Op.V_RCP_IFLAG_F32, VOP1Op.V_RSQ_F32, VOP1Op.V_RCP_F64, VOP1Op.V_RSQ_F64, VOP1Op.V_SQRT_F32, VOP1Op.V_SQRT_F64, VOP1Op.V_SIN_F32, VOP1Op.V_COS_F32, VOP1Op.V_NOT_B32, VOP1Op.V_BFREV_B32, VOP1Op.V_FFBH_U32, VOP1Op.V_FFBL_B32, VOP1Op.V_FFBH_I32, VOP1Op.V_FREXP_EXP_I32_F64, VOP1Op.V_FREXP_MANT_F64, VOP1Op.V_FRACT_F64, VOP1Op.V_FREXP_EXP_I32_F32, VOP1Op.V_FREXP_MANT_F32, VOP1Op.V_CLREXCP, VOP1Op.V_SCREEN_PARTITION_4SE_B32, VOP1Op.V_MOV_B64, VOP1Op.V_CVT_F16_U16, VOP1Op.V_CVT_F16_I16, VOP1Op.V_CVT_U16_F16, VOP1Op.V_CVT_I16_F16, VOP1Op.V_RCP_F16, VOP1Op.V_SQRT_F16, VOP1Op.V_RSQ_F16, VOP1Op.V_LOG_F16, VOP1Op.V_EXP_F16, VOP1Op.V_FREXP_MANT_F16, VOP1Op.V_FREXP_EXP_I16_F16, VOP1Op.V_FLOOR_F16, VOP1Op.V_CEIL_F16, VOP1Op.V_TRUNC_F16, VOP1Op.V_RNDNE_F16, VOP1Op.V_FRACT_F16, VOP1Op.V_SIN_F16, VOP1Op.V_COS_F16, VOP1Op.V_EXP_LEGACY_F32, VOP1Op.V_LOG_LEGACY_F32, VOP1Op.V_CVT_NORM_I16_F16, VOP1Op.V_CVT_NORM_U16_F16, VOP1Op.V_SAT_PK_U8_I16, VOP1Op.V_SWAP_B32, VOP1Op.V_ACCVGPR_MOV_B32, VOP1Op.V_CVT_F32_FP8, VOP1Op.V_CVT_F32_BF8, VOP1Op.V_CVT_PK_F32_FP8, VOP1Op.V_CVT_PK_F32_BF8, VOP1Op.V_PRNG_B32, VOP1Op.V_PERMLANE16_SWAP_B32, VOP1Op.V_PERMLANE32_SWAP_B32, VOP1Op.V_CVT_F32_BF16})
  literal = BitField(63, 32)

class VOP1_SDWA(VOP1):
  vsrc0 = VGPRField(39, 32)
  omod = BitField(47, 46)
  clmp = BitField(45, 45)
  src0_neg = BitField(52, 52)
  src0_abs = BitField(53, 53)
  src1_neg = BitField(60, 60)
  src1_abs = BitField(61, 61)
  dst_sel = BitField(42, 40)
  dst_unused = BitField(44, 43)
  src0_sel = BitField(50, 48)
  src1_sel = BitField(58, 56)
  src0_sext = BitField(51, 51)
  s0 = BitField(55, 55)
  src1_sext = BitField(59, 59)
  s1 = BitField(63, 63)

class VOP2_DPP16(VOP2):
  vsrc0 = VGPRField(39, 32)
  dpp = BitField(48, 40)
  bc = BitField(51, 51)
  row_mask = BitField(63, 60)
  bank_mask = BitField(59, 56)
  src0_neg = BitField(52, 52)
  src0_abs = BitField(53, 53)
  src1_neg = BitField(54, 54)
  src1_abs = BitField(55, 55)

class VOP2_LIT(VOP2):
  op = EnumBitField(30, 25, VOP2Op, {VOP2Op.V_CNDMASK_B32, VOP2Op.V_ADD_F32, VOP2Op.V_SUB_F32, VOP2Op.V_SUBREV_F32, VOP2Op.V_FMAC_F64, VOP2Op.V_MUL_F32, VOP2Op.V_MUL_I32_I24, VOP2Op.V_MUL_HI_I32_I24, VOP2Op.V_MUL_U32_U24, VOP2Op.V_MUL_HI_U32_U24, VOP2Op.V_MIN_F32, VOP2Op.V_MAX_F32, VOP2Op.V_MIN_I32, VOP2Op.V_MAX_I32, VOP2Op.V_MIN_U32, VOP2Op.V_MAX_U32, VOP2Op.V_LSHRREV_B32, VOP2Op.V_ASHRREV_I32, VOP2Op.V_LSHLREV_B32, VOP2Op.V_AND_B32, VOP2Op.V_OR_B32, VOP2Op.V_XOR_B32, VOP2Op.V_DOT2C_F32_BF16, VOP2Op.V_FMAMK_F32, VOP2Op.V_FMAAK_F32, VOP2Op.V_ADD_CO_U32, VOP2Op.V_SUB_CO_U32, VOP2Op.V_SUBREV_CO_U32, VOP2Op.V_ADDC_CO_U32, VOP2Op.V_SUBB_CO_U32, VOP2Op.V_SUBBREV_CO_U32, VOP2Op.V_ADD_F16, VOP2Op.V_SUB_F16, VOP2Op.V_SUBREV_F16, VOP2Op.V_MUL_F16, VOP2Op.V_MAC_F16, VOP2Op.V_MADMK_F16, VOP2Op.V_MADAK_F16, VOP2Op.V_ADD_U16, VOP2Op.V_SUB_U16, VOP2Op.V_SUBREV_U16, VOP2Op.V_MUL_LO_U16, VOP2Op.V_LSHLREV_B16, VOP2Op.V_LSHRREV_B16, VOP2Op.V_ASHRREV_I16, VOP2Op.V_MAX_F16, VOP2Op.V_MIN_F16, VOP2Op.V_MAX_U16, VOP2Op.V_MAX_I16, VOP2Op.V_MIN_U16, VOP2Op.V_MIN_I16, VOP2Op.V_LDEXP_F16, VOP2Op.V_ADD_U32, VOP2Op.V_SUB_U32, VOP2Op.V_SUBREV_U32, VOP2Op.V_DOT2C_F32_F16, VOP2Op.V_DOT2C_I32_I16, VOP2Op.V_DOT4C_I32_I8, VOP2Op.V_DOT8C_I32_I4, VOP2Op.V_FMAC_F32, VOP2Op.V_PK_FMAC_F16, VOP2Op.V_XNOR_B32})
  literal = BitField(63, 32)

class VOP2_SDWA(VOP2):
  vsrc0 = VGPRField(39, 32)
  omod = BitField(47, 46)
  clmp = BitField(45, 45)
  src0_neg = BitField(52, 52)
  src0_abs = BitField(53, 53)
  src1_neg = BitField(60, 60)
  src1_abs = BitField(61, 61)
  dst_sel = BitField(42, 40)
  dst_unused = BitField(44, 43)
  src0_sel = BitField(50, 48)
  src1_sel = BitField(58, 56)
  src0_sext = BitField(51, 51)
  s0 = BitField(55, 55)
  src1_sext = BitField(59, 59)
  s1 = BitField(63, 63)

class VOP2_SDWA_SDST(VOP2):
  sdst = SGPRField(46, 40)
  vsrc0 = VGPRField(39, 32)
  src0_neg = BitField(52, 52)
  src0_abs = BitField(53, 53)
  src1_neg = BitField(60, 60)
  src1_abs = BitField(61, 61)
  src0_sel = BitField(50, 48)
  src1_sel = BitField(58, 56)
  sd = BitField(47, 47)
  src0_sext = BitField(51, 51)
  s0 = BitField(55, 55)
  src1_sext = BitField(59, 59)
  s1 = BitField(63, 63)

class VOP3P_MFMA(VOP3P):
  op = EnumBitField(22, 16, VOP3POp, {VOP3POp.V_MFMA_F32_16X16X128_F8F6F4, VOP3POp.V_MFMA_F32_32X32X64_F8F6F4, VOP3POp.V_MFMA_F32_16X16X32_BF16, VOP3POp.V_MFMA_I32_16X16X64_I8, VOP3POp.V_MFMA_F32_32X32X16_BF16, VOP3POp.V_MFMA_I32_32X32X32_I8, VOP3POp.V_SMFMAC_F32_16X16X64_BF16, VOP3POp.V_SMFMAC_I32_16X16X128_I8, VOP3POp.V_SMFMAC_F32_16X16X128_BF8_BF8, VOP3POp.V_SMFMAC_F32_16X16X128_BF8_FP8, VOP3POp.V_SMFMAC_F32_16X16X128_FP8_BF8, VOP3POp.V_MFMA_F32_32X32X1_2B_F32, VOP3POp.V_MFMA_F32_16X16X1_4B_F32, VOP3POp.V_MFMA_F32_4X4X1_16B_F32, VOP3POp.V_SMFMAC_F32_16X16X128_FP8_FP8, VOP3POp.V_MFMA_F32_32X32X2_F32, VOP3POp.V_MFMA_F32_16X16X4_F32, VOP3POp.V_SMFMAC_F32_32X32X32_BF16, VOP3POp.V_SMFMAC_I32_32X32X64_I8, VOP3POp.V_MFMA_F32_32X32X4_2B_F16, VOP3POp.V_MFMA_F32_16X16X4_4B_F16, VOP3POp.V_MFMA_F32_4X4X4_16B_F16, VOP3POp.V_SMFMAC_F32_32X32X64_BF8_BF8, VOP3POp.V_MFMA_F32_32X32X8_F16, VOP3POp.V_MFMA_F32_16X16X16_F16, VOP3POp.V_SMFMAC_F32_32X32X64_BF8_FP8, VOP3POp.V_SMFMAC_F32_32X32X64_FP8_BF8, VOP3POp.V_MFMA_I32_32X32X4_2B_I8, VOP3POp.V_MFMA_I32_16X16X4_4B_I8, VOP3POp.V_MFMA_I32_4X4X4_16B_I8, VOP3POp.V_SMFMAC_F32_32X32X64_FP8_FP8, VOP3POp.V_MFMA_F32_16X16X32_F16, VOP3POp.V_MFMA_F32_32X32X16_F16, VOP3POp.V_MFMA_I32_32X32X16_I8, VOP3POp.V_MFMA_I32_16X16X32_I8, VOP3POp.V_SMFMAC_F32_16X16X64_F16, VOP3POp.V_SMFMAC_F32_32X32X32_F16, VOP3POp.V_MFMA_F32_32X32X4_2B_BF16, VOP3POp.V_MFMA_F32_16X16X4_4B_BF16, VOP3POp.V_MFMA_F32_4X4X4_16B_BF16, VOP3POp.V_MFMA_F32_32X32X8_BF16, VOP3POp.V_MFMA_F32_16X16X16_BF16, VOP3POp.V_SMFMAC_F32_16X16X32_F16, VOP3POp.V_SMFMAC_F32_32X32X16_F16, VOP3POp.V_SMFMAC_F32_16X16X32_BF16, VOP3POp.V_SMFMAC_F32_32X32X16_BF16, VOP3POp.V_SMFMAC_I32_16X16X64_I8, VOP3POp.V_SMFMAC_I32_32X32X32_I8, VOP3POp.V_MFMA_F64_16X16X4_F64, VOP3POp.V_MFMA_F64_4X4X4_4B_F64, VOP3POp.V_MFMA_F32_16X16X32_BF8_BF8, VOP3POp.V_MFMA_F32_16X16X32_BF8_FP8, VOP3POp.V_MFMA_F32_16X16X32_FP8_BF8, VOP3POp.V_MFMA_F32_16X16X32_FP8_FP8, VOP3POp.V_MFMA_F32_32X32X16_BF8_BF8, VOP3POp.V_MFMA_F32_32X32X16_BF8_FP8, VOP3POp.V_MFMA_F32_32X32X16_FP8_BF8, VOP3POp.V_MFMA_F32_32X32X16_FP8_FP8, VOP3POp.V_SMFMAC_F32_16X16X64_BF8_BF8, VOP3POp.V_SMFMAC_F32_16X16X64_BF8_FP8, VOP3POp.V_SMFMAC_F32_16X16X64_FP8_BF8, VOP3POp.V_SMFMAC_F32_16X16X64_FP8_FP8, VOP3POp.V_SMFMAC_F32_32X32X32_BF8_BF8, VOP3POp.V_SMFMAC_F32_32X32X32_BF8_FP8, VOP3POp.V_SMFMAC_F32_32X32X32_FP8_BF8, VOP3POp.V_SMFMAC_F32_32X32X32_FP8_FP8})
  cbsz = BitField(10, 8)
  abid = BitField(14, 11)
  acc_cd = BitField(15, 15)
  acc = BitField(60, 59)
  blgp = BitField(63, 61)

class VOPC_LIT(VOPC):
  op = EnumBitField(24, 17, VOPCOp, {VOPCOp.V_CMP_CLASS_F32, VOPCOp.V_CMPX_CLASS_F32, VOPCOp.V_CMP_CLASS_F64, VOPCOp.V_CMPX_CLASS_F64, VOPCOp.V_CMP_CLASS_F16, VOPCOp.V_CMPX_CLASS_F16, VOPCOp.V_CMP_F_F16, VOPCOp.V_CMP_LT_F16, VOPCOp.V_CMP_EQ_F16, VOPCOp.V_CMP_LE_F16, VOPCOp.V_CMP_GT_F16, VOPCOp.V_CMP_LG_F16, VOPCOp.V_CMP_GE_F16, VOPCOp.V_CMP_O_F16, VOPCOp.V_CMP_U_F16, VOPCOp.V_CMP_NGE_F16, VOPCOp.V_CMP_NLG_F16, VOPCOp.V_CMP_NGT_F16, VOPCOp.V_CMP_NLE_F16, VOPCOp.V_CMP_NEQ_F16, VOPCOp.V_CMP_NLT_F16, VOPCOp.V_CMP_TRU_F16, VOPCOp.V_CMPX_F_F16, VOPCOp.V_CMPX_LT_F16, VOPCOp.V_CMPX_EQ_F16, VOPCOp.V_CMPX_LE_F16, VOPCOp.V_CMPX_GT_F16, VOPCOp.V_CMPX_LG_F16, VOPCOp.V_CMPX_GE_F16, VOPCOp.V_CMPX_O_F16, VOPCOp.V_CMPX_U_F16, VOPCOp.V_CMPX_NGE_F16, VOPCOp.V_CMPX_NLG_F16, VOPCOp.V_CMPX_NGT_F16, VOPCOp.V_CMPX_NLE_F16, VOPCOp.V_CMPX_NEQ_F16, VOPCOp.V_CMPX_NLT_F16, VOPCOp.V_CMPX_TRU_F16, VOPCOp.V_CMP_F_F32, VOPCOp.V_CMP_LT_F32, VOPCOp.V_CMP_EQ_F32, VOPCOp.V_CMP_LE_F32, VOPCOp.V_CMP_GT_F32, VOPCOp.V_CMP_LG_F32, VOPCOp.V_CMP_GE_F32, VOPCOp.V_CMP_O_F32, VOPCOp.V_CMP_U_F32, VOPCOp.V_CMP_NGE_F32, VOPCOp.V_CMP_NLG_F32, VOPCOp.V_CMP_NGT_F32, VOPCOp.V_CMP_NLE_F32, VOPCOp.V_CMP_NEQ_F32, VOPCOp.V_CMP_NLT_F32, VOPCOp.V_CMP_TRU_F32, VOPCOp.V_CMPX_F_F32, VOPCOp.V_CMPX_LT_F32, VOPCOp.V_CMPX_EQ_F32, VOPCOp.V_CMPX_LE_F32, VOPCOp.V_CMPX_GT_F32, VOPCOp.V_CMPX_LG_F32, VOPCOp.V_CMPX_GE_F32, VOPCOp.V_CMPX_O_F32, VOPCOp.V_CMPX_U_F32, VOPCOp.V_CMPX_NGE_F32, VOPCOp.V_CMPX_NLG_F32, VOPCOp.V_CMPX_NGT_F32, VOPCOp.V_CMPX_NLE_F32, VOPCOp.V_CMPX_NEQ_F32, VOPCOp.V_CMPX_NLT_F32, VOPCOp.V_CMPX_TRU_F32, VOPCOp.V_CMP_F_F64, VOPCOp.V_CMP_LT_F64, VOPCOp.V_CMP_EQ_F64, VOPCOp.V_CMP_LE_F64, VOPCOp.V_CMP_GT_F64, VOPCOp.V_CMP_LG_F64, VOPCOp.V_CMP_GE_F64, VOPCOp.V_CMP_O_F64, VOPCOp.V_CMP_U_F64, VOPCOp.V_CMP_NGE_F64, VOPCOp.V_CMP_NLG_F64, VOPCOp.V_CMP_NGT_F64, VOPCOp.V_CMP_NLE_F64, VOPCOp.V_CMP_NEQ_F64, VOPCOp.V_CMP_NLT_F64, VOPCOp.V_CMP_TRU_F64, VOPCOp.V_CMPX_F_F64, VOPCOp.V_CMPX_LT_F64, VOPCOp.V_CMPX_EQ_F64, VOPCOp.V_CMPX_LE_F64, VOPCOp.V_CMPX_GT_F64, VOPCOp.V_CMPX_LG_F64, VOPCOp.V_CMPX_GE_F64, VOPCOp.V_CMPX_O_F64, VOPCOp.V_CMPX_U_F64, VOPCOp.V_CMPX_NGE_F64, VOPCOp.V_CMPX_NLG_F64, VOPCOp.V_CMPX_NGT_F64, VOPCOp.V_CMPX_NLE_F64, VOPCOp.V_CMPX_NEQ_F64, VOPCOp.V_CMPX_NLT_F64, VOPCOp.V_CMPX_TRU_F64, VOPCOp.V_CMP_F_I16, VOPCOp.V_CMP_LT_I16, VOPCOp.V_CMP_EQ_I16, VOPCOp.V_CMP_LE_I16, VOPCOp.V_CMP_GT_I16, VOPCOp.V_CMP_NE_I16, VOPCOp.V_CMP_GE_I16, VOPCOp.V_CMP_T_I16, VOPCOp.V_CMP_F_U16, VOPCOp.V_CMP_LT_U16, VOPCOp.V_CMP_EQ_U16, VOPCOp.V_CMP_LE_U16, VOPCOp.V_CMP_GT_U16, VOPCOp.V_CMP_NE_U16, VOPCOp.V_CMP_GE_U16, VOPCOp.V_CMP_T_U16, VOPCOp.V_CMPX_F_I16, VOPCOp.V_CMPX_LT_I16, VOPCOp.V_CMPX_EQ_I16, VOPCOp.V_CMPX_LE_I16, VOPCOp.V_CMPX_GT_I16, VOPCOp.V_CMPX_NE_I16, VOPCOp.V_CMPX_GE_I16, VOPCOp.V_CMPX_T_I16, VOPCOp.V_CMPX_F_U16, VOPCOp.V_CMPX_LT_U16, VOPCOp.V_CMPX_EQ_U16, VOPCOp.V_CMPX_LE_U16, VOPCOp.V_CMPX_GT_U16, VOPCOp.V_CMPX_NE_U16, VOPCOp.V_CMPX_GE_U16, VOPCOp.V_CMPX_T_U16, VOPCOp.V_CMP_F_I32, VOPCOp.V_CMP_LT_I32, VOPCOp.V_CMP_EQ_I32, VOPCOp.V_CMP_LE_I32, VOPCOp.V_CMP_GT_I32, VOPCOp.V_CMP_NE_I32, VOPCOp.V_CMP_GE_I32, VOPCOp.V_CMP_T_I32, VOPCOp.V_CMP_F_U32, VOPCOp.V_CMP_LT_U32, VOPCOp.V_CMP_EQ_U32, VOPCOp.V_CMP_LE_U32, VOPCOp.V_CMP_GT_U32, VOPCOp.V_CMP_NE_U32, VOPCOp.V_CMP_GE_U32, VOPCOp.V_CMP_T_U32, VOPCOp.V_CMPX_F_I32, VOPCOp.V_CMPX_LT_I32, VOPCOp.V_CMPX_EQ_I32, VOPCOp.V_CMPX_LE_I32, VOPCOp.V_CMPX_GT_I32, VOPCOp.V_CMPX_NE_I32, VOPCOp.V_CMPX_GE_I32, VOPCOp.V_CMPX_T_I32, VOPCOp.V_CMPX_F_U32, VOPCOp.V_CMPX_LT_U32, VOPCOp.V_CMPX_EQ_U32, VOPCOp.V_CMPX_LE_U32, VOPCOp.V_CMPX_GT_U32, VOPCOp.V_CMPX_NE_U32, VOPCOp.V_CMPX_GE_U32, VOPCOp.V_CMPX_T_U32, VOPCOp.V_CMP_F_I64, VOPCOp.V_CMP_LT_I64, VOPCOp.V_CMP_EQ_I64, VOPCOp.V_CMP_LE_I64, VOPCOp.V_CMP_GT_I64, VOPCOp.V_CMP_NE_I64, VOPCOp.V_CMP_GE_I64, VOPCOp.V_CMP_T_I64, VOPCOp.V_CMP_F_U64, VOPCOp.V_CMP_LT_U64, VOPCOp.V_CMP_EQ_U64, VOPCOp.V_CMP_LE_U64, VOPCOp.V_CMP_GT_U64, VOPCOp.V_CMP_NE_U64, VOPCOp.V_CMP_GE_U64, VOPCOp.V_CMP_T_U64, VOPCOp.V_CMPX_F_I64, VOPCOp.V_CMPX_LT_I64, VOPCOp.V_CMPX_EQ_I64, VOPCOp.V_CMPX_LE_I64, VOPCOp.V_CMPX_GT_I64, VOPCOp.V_CMPX_NE_I64, VOPCOp.V_CMPX_GE_I64, VOPCOp.V_CMPX_T_I64, VOPCOp.V_CMPX_F_U64, VOPCOp.V_CMPX_LT_U64, VOPCOp.V_CMPX_EQ_U64, VOPCOp.V_CMPX_LE_U64, VOPCOp.V_CMPX_GT_U64, VOPCOp.V_CMPX_NE_U64, VOPCOp.V_CMPX_GE_U64, VOPCOp.V_CMPX_T_U64})
  literal = BitField(63, 32)

class VOPC_SDWA_SDST(VOPC):
  sdst = SGPRField(46, 40)
  vsrc0 = VGPRField(39, 32)
  src0_neg = BitField(52, 52)
  src0_abs = BitField(53, 53)
  src1_neg = BitField(60, 60)
  src1_abs = BitField(61, 61)
  src0_sel = BitField(50, 48)
  src1_sel = BitField(58, 56)
  sd = BitField(47, 47)
  src0_sext = BitField(51, 51)
  s0 = BitField(55, 55)
  src1_sext = BitField(59, 59)
  s1 = BitField(63, 63)

class VOP3_SDST(VOP3):
  op = EnumBitField(25, 16, VOP3Op, {VOP3Op.V_CMP_CLASS_F32, VOP3Op.V_CMPX_CLASS_F32, VOP3Op.V_CMP_CLASS_F64, VOP3Op.V_CMPX_CLASS_F64, VOP3Op.V_CMP_CLASS_F16, VOP3Op.V_CMPX_CLASS_F16, VOP3Op.V_CMP_F_F16, VOP3Op.V_CMP_LT_F16, VOP3Op.V_CMP_EQ_F16, VOP3Op.V_CMP_LE_F16, VOP3Op.V_CMP_GT_F16, VOP3Op.V_CMP_LG_F16, VOP3Op.V_CMP_GE_F16, VOP3Op.V_CMP_O_F16, VOP3Op.V_CMP_U_F16, VOP3Op.V_CMP_NGE_F16, VOP3Op.V_CMP_NLG_F16, VOP3Op.V_CMP_NGT_F16, VOP3Op.V_CMP_NLE_F16, VOP3Op.V_CMP_NEQ_F16, VOP3Op.V_CMP_NLT_F16, VOP3Op.V_CMP_TRU_F16, VOP3Op.V_CMPX_F_F16, VOP3Op.V_CMPX_LT_F16, VOP3Op.V_CMPX_EQ_F16, VOP3Op.V_CMPX_LE_F16, VOP3Op.V_CMPX_GT_F16, VOP3Op.V_CMPX_LG_F16, VOP3Op.V_CMPX_GE_F16, VOP3Op.V_CMPX_O_F16, VOP3Op.V_CMPX_U_F16, VOP3Op.V_CMPX_NGE_F16, VOP3Op.V_CMPX_NLG_F16, VOP3Op.V_CMPX_NGT_F16, VOP3Op.V_CMPX_NLE_F16, VOP3Op.V_CMPX_NEQ_F16, VOP3Op.V_CMPX_NLT_F16, VOP3Op.V_CMPX_TRU_F16, VOP3Op.V_CMP_F_F32, VOP3Op.V_CMP_LT_F32, VOP3Op.V_CMP_EQ_F32, VOP3Op.V_CMP_LE_F32, VOP3Op.V_CMP_GT_F32, VOP3Op.V_CMP_LG_F32, VOP3Op.V_CMP_GE_F32, VOP3Op.V_CMP_O_F32, VOP3Op.V_CMP_U_F32, VOP3Op.V_CMP_NGE_F32, VOP3Op.V_CMP_NLG_F32, VOP3Op.V_CMP_NGT_F32, VOP3Op.V_CMP_NLE_F32, VOP3Op.V_CMP_NEQ_F32, VOP3Op.V_CMP_NLT_F32, VOP3Op.V_CMP_TRU_F32, VOP3Op.V_CMPX_F_F32, VOP3Op.V_CMPX_LT_F32, VOP3Op.V_CMPX_EQ_F32, VOP3Op.V_CMPX_LE_F32, VOP3Op.V_CMPX_GT_F32, VOP3Op.V_CMPX_LG_F32, VOP3Op.V_CMPX_GE_F32, VOP3Op.V_CMPX_O_F32, VOP3Op.V_CMPX_U_F32, VOP3Op.V_CMPX_NGE_F32, VOP3Op.V_CMPX_NLG_F32, VOP3Op.V_CMPX_NGT_F32, VOP3Op.V_CMPX_NLE_F32, VOP3Op.V_CMPX_NEQ_F32, VOP3Op.V_CMPX_NLT_F32, VOP3Op.V_CMPX_TRU_F32, VOP3Op.V_CMP_F_F64, VOP3Op.V_CMP_LT_F64, VOP3Op.V_CMP_EQ_F64, VOP3Op.V_CMP_LE_F64, VOP3Op.V_CMP_GT_F64, VOP3Op.V_CMP_LG_F64, VOP3Op.V_CMP_GE_F64, VOP3Op.V_CMP_O_F64, VOP3Op.V_CMP_U_F64, VOP3Op.V_CMP_NGE_F64, VOP3Op.V_CMP_NLG_F64, VOP3Op.V_CMP_NGT_F64, VOP3Op.V_CMP_NLE_F64, VOP3Op.V_CMP_NEQ_F64, VOP3Op.V_CMP_NLT_F64, VOP3Op.V_CMP_TRU_F64, VOP3Op.V_CMPX_F_F64, VOP3Op.V_CMPX_LT_F64, VOP3Op.V_CMPX_EQ_F64, VOP3Op.V_CMPX_LE_F64, VOP3Op.V_CMPX_GT_F64, VOP3Op.V_CMPX_LG_F64, VOP3Op.V_CMPX_GE_F64, VOP3Op.V_CMPX_O_F64, VOP3Op.V_CMPX_U_F64, VOP3Op.V_CMPX_NGE_F64, VOP3Op.V_CMPX_NLG_F64, VOP3Op.V_CMPX_NGT_F64, VOP3Op.V_CMPX_NLE_F64, VOP3Op.V_CMPX_NEQ_F64, VOP3Op.V_CMPX_NLT_F64, VOP3Op.V_CMPX_TRU_F64, VOP3Op.V_CMP_F_I16, VOP3Op.V_CMP_LT_I16, VOP3Op.V_CMP_EQ_I16, VOP3Op.V_CMP_LE_I16, VOP3Op.V_CMP_GT_I16, VOP3Op.V_CMP_NE_I16, VOP3Op.V_CMP_GE_I16, VOP3Op.V_CMP_T_I16, VOP3Op.V_CMP_F_U16, VOP3Op.V_CMP_LT_U16, VOP3Op.V_CMP_EQ_U16, VOP3Op.V_CMP_LE_U16, VOP3Op.V_CMP_GT_U16, VOP3Op.V_CMP_NE_U16, VOP3Op.V_CMP_GE_U16, VOP3Op.V_CMP_T_U16, VOP3Op.V_CMPX_F_I16, VOP3Op.V_CMPX_LT_I16, VOP3Op.V_CMPX_EQ_I16, VOP3Op.V_CMPX_LE_I16, VOP3Op.V_CMPX_GT_I16, VOP3Op.V_CMPX_NE_I16, VOP3Op.V_CMPX_GE_I16, VOP3Op.V_CMPX_T_I16, VOP3Op.V_CMPX_F_U16, VOP3Op.V_CMPX_LT_U16, VOP3Op.V_CMPX_EQ_U16, VOP3Op.V_CMPX_LE_U16, VOP3Op.V_CMPX_GT_U16, VOP3Op.V_CMPX_NE_U16, VOP3Op.V_CMPX_GE_U16, VOP3Op.V_CMPX_T_U16, VOP3Op.V_CMP_F_I32, VOP3Op.V_CMP_LT_I32, VOP3Op.V_CMP_EQ_I32, VOP3Op.V_CMP_LE_I32, VOP3Op.V_CMP_GT_I32, VOP3Op.V_CMP_NE_I32, VOP3Op.V_CMP_GE_I32, VOP3Op.V_CMP_T_I32, VOP3Op.V_CMP_F_U32, VOP3Op.V_CMP_LT_U32, VOP3Op.V_CMP_EQ_U32, VOP3Op.V_CMP_LE_U32, VOP3Op.V_CMP_GT_U32, VOP3Op.V_CMP_NE_U32, VOP3Op.V_CMP_GE_U32, VOP3Op.V_CMP_T_U32, VOP3Op.V_CMPX_F_I32, VOP3Op.V_CMPX_LT_I32, VOP3Op.V_CMPX_EQ_I32, VOP3Op.V_CMPX_LE_I32, VOP3Op.V_CMPX_GT_I32, VOP3Op.V_CMPX_NE_I32, VOP3Op.V_CMPX_GE_I32, VOP3Op.V_CMPX_T_I32, VOP3Op.V_CMPX_F_U32, VOP3Op.V_CMPX_LT_U32, VOP3Op.V_CMPX_EQ_U32, VOP3Op.V_CMPX_LE_U32, VOP3Op.V_CMPX_GT_U32, VOP3Op.V_CMPX_NE_U32, VOP3Op.V_CMPX_GE_U32, VOP3Op.V_CMPX_T_U32, VOP3Op.V_CMP_F_I64, VOP3Op.V_CMP_LT_I64, VOP3Op.V_CMP_EQ_I64, VOP3Op.V_CMP_LE_I64, VOP3Op.V_CMP_GT_I64, VOP3Op.V_CMP_NE_I64, VOP3Op.V_CMP_GE_I64, VOP3Op.V_CMP_T_I64, VOP3Op.V_CMP_F_U64, VOP3Op.V_CMP_LT_U64, VOP3Op.V_CMP_EQ_U64, VOP3Op.V_CMP_LE_U64, VOP3Op.V_CMP_GT_U64, VOP3Op.V_CMP_NE_U64, VOP3Op.V_CMP_GE_U64, VOP3Op.V_CMP_T_U64, VOP3Op.V_CMPX_F_I64, VOP3Op.V_CMPX_LT_I64, VOP3Op.V_CMPX_EQ_I64, VOP3Op.V_CMPX_LE_I64, VOP3Op.V_CMPX_GT_I64, VOP3Op.V_CMPX_NE_I64, VOP3Op.V_CMPX_GE_I64, VOP3Op.V_CMPX_T_I64, VOP3Op.V_CMPX_F_U64, VOP3Op.V_CMPX_LT_U64, VOP3Op.V_CMPX_EQ_U64, VOP3Op.V_CMPX_LE_U64, VOP3Op.V_CMPX_GT_U64, VOP3Op.V_CMPX_NE_U64, VOP3Op.V_CMPX_GE_U64, VOP3Op.V_CMPX_T_U64})
  vdst = SSrcField(7, 0)

# instruction helpers
ds_add_u32 = functools.partial(DS, DSOp.DS_ADD_U32)
ds_sub_u32 = functools.partial(DS, DSOp.DS_SUB_U32)
ds_rsub_u32 = functools.partial(DS, DSOp.DS_RSUB_U32)
ds_inc_u32 = functools.partial(DS, DSOp.DS_INC_U32)
ds_dec_u32 = functools.partial(DS, DSOp.DS_DEC_U32)
ds_min_i32 = functools.partial(DS, DSOp.DS_MIN_I32)
ds_max_i32 = functools.partial(DS, DSOp.DS_MAX_I32)
ds_min_u32 = functools.partial(DS, DSOp.DS_MIN_U32)
ds_max_u32 = functools.partial(DS, DSOp.DS_MAX_U32)
ds_and_b32 = functools.partial(DS, DSOp.DS_AND_B32)
ds_or_b32 = functools.partial(DS, DSOp.DS_OR_B32)
ds_xor_b32 = functools.partial(DS, DSOp.DS_XOR_B32)
ds_mskor_b32 = functools.partial(DS, DSOp.DS_MSKOR_B32)
ds_write_b32 = functools.partial(DS, DSOp.DS_WRITE_B32)
ds_write2_b32 = functools.partial(DS, DSOp.DS_WRITE2_B32)
ds_write2st64_b32 = functools.partial(DS, DSOp.DS_WRITE2ST64_B32)
ds_cmpst_b32 = functools.partial(DS, DSOp.DS_CMPST_B32)
ds_cmpst_f32 = functools.partial(DS, DSOp.DS_CMPST_F32)
ds_min_f32 = functools.partial(DS, DSOp.DS_MIN_F32)
ds_max_f32 = functools.partial(DS, DSOp.DS_MAX_F32)
ds_nop = functools.partial(DS, DSOp.DS_NOP)
ds_add_f32 = functools.partial(DS, DSOp.DS_ADD_F32)
ds_pk_add_f16 = functools.partial(DS, DSOp.DS_PK_ADD_F16)
ds_pk_add_bf16 = functools.partial(DS, DSOp.DS_PK_ADD_BF16)
ds_write_addtid_b32 = functools.partial(DS, DSOp.DS_WRITE_ADDTID_B32)
ds_write_b8 = functools.partial(DS, DSOp.DS_WRITE_B8)
ds_write_b16 = functools.partial(DS, DSOp.DS_WRITE_B16)
ds_add_rtn_u32 = functools.partial(DS, DSOp.DS_ADD_RTN_U32)
ds_sub_rtn_u32 = functools.partial(DS, DSOp.DS_SUB_RTN_U32)
ds_rsub_rtn_u32 = functools.partial(DS, DSOp.DS_RSUB_RTN_U32)
ds_inc_rtn_u32 = functools.partial(DS, DSOp.DS_INC_RTN_U32)
ds_dec_rtn_u32 = functools.partial(DS, DSOp.DS_DEC_RTN_U32)
ds_min_rtn_i32 = functools.partial(DS, DSOp.DS_MIN_RTN_I32)
ds_max_rtn_i32 = functools.partial(DS, DSOp.DS_MAX_RTN_I32)
ds_min_rtn_u32 = functools.partial(DS, DSOp.DS_MIN_RTN_U32)
ds_max_rtn_u32 = functools.partial(DS, DSOp.DS_MAX_RTN_U32)
ds_and_rtn_b32 = functools.partial(DS, DSOp.DS_AND_RTN_B32)
ds_or_rtn_b32 = functools.partial(DS, DSOp.DS_OR_RTN_B32)
ds_xor_rtn_b32 = functools.partial(DS, DSOp.DS_XOR_RTN_B32)
ds_mskor_rtn_b32 = functools.partial(DS, DSOp.DS_MSKOR_RTN_B32)
ds_wrxchg_rtn_b32 = functools.partial(DS, DSOp.DS_WRXCHG_RTN_B32)
ds_wrxchg2_rtn_b32 = functools.partial(DS, DSOp.DS_WRXCHG2_RTN_B32)
ds_wrxchg2st64_rtn_b32 = functools.partial(DS, DSOp.DS_WRXCHG2ST64_RTN_B32)
ds_cmpst_rtn_b32 = functools.partial(DS, DSOp.DS_CMPST_RTN_B32)
ds_cmpst_rtn_f32 = functools.partial(DS, DSOp.DS_CMPST_RTN_F32)
ds_min_rtn_f32 = functools.partial(DS, DSOp.DS_MIN_RTN_F32)
ds_max_rtn_f32 = functools.partial(DS, DSOp.DS_MAX_RTN_F32)
ds_wrap_rtn_b32 = functools.partial(DS, DSOp.DS_WRAP_RTN_B32)
ds_add_rtn_f32 = functools.partial(DS, DSOp.DS_ADD_RTN_F32)
ds_read_b32 = functools.partial(DS, DSOp.DS_READ_B32)
ds_read2_b32 = functools.partial(DS, DSOp.DS_READ2_B32)
ds_read2st64_b32 = functools.partial(DS, DSOp.DS_READ2ST64_B32)
ds_read_i8 = functools.partial(DS, DSOp.DS_READ_I8)
ds_read_u8 = functools.partial(DS, DSOp.DS_READ_U8)
ds_read_i16 = functools.partial(DS, DSOp.DS_READ_I16)
ds_read_u16 = functools.partial(DS, DSOp.DS_READ_U16)
ds_swizzle_b32 = functools.partial(DS, DSOp.DS_SWIZZLE_B32)
ds_permute_b32 = functools.partial(DS, DSOp.DS_PERMUTE_B32)
ds_bpermute_b32 = functools.partial(DS, DSOp.DS_BPERMUTE_B32)
ds_add_u64 = functools.partial(DS, DSOp.DS_ADD_U64)
ds_sub_u64 = functools.partial(DS, DSOp.DS_SUB_U64)
ds_rsub_u64 = functools.partial(DS, DSOp.DS_RSUB_U64)
ds_inc_u64 = functools.partial(DS, DSOp.DS_INC_U64)
ds_dec_u64 = functools.partial(DS, DSOp.DS_DEC_U64)
ds_min_i64 = functools.partial(DS, DSOp.DS_MIN_I64)
ds_max_i64 = functools.partial(DS, DSOp.DS_MAX_I64)
ds_min_u64 = functools.partial(DS, DSOp.DS_MIN_U64)
ds_max_u64 = functools.partial(DS, DSOp.DS_MAX_U64)
ds_and_b64 = functools.partial(DS, DSOp.DS_AND_B64)
ds_or_b64 = functools.partial(DS, DSOp.DS_OR_B64)
ds_xor_b64 = functools.partial(DS, DSOp.DS_XOR_B64)
ds_mskor_b64 = functools.partial(DS, DSOp.DS_MSKOR_B64)
ds_write_b64 = functools.partial(DS, DSOp.DS_WRITE_B64)
ds_write2_b64 = functools.partial(DS, DSOp.DS_WRITE2_B64)
ds_write2st64_b64 = functools.partial(DS, DSOp.DS_WRITE2ST64_B64)
ds_cmpst_b64 = functools.partial(DS, DSOp.DS_CMPST_B64)
ds_cmpst_f64 = functools.partial(DS, DSOp.DS_CMPST_F64)
ds_min_f64 = functools.partial(DS, DSOp.DS_MIN_F64)
ds_max_f64 = functools.partial(DS, DSOp.DS_MAX_F64)
ds_write_b8_d16_hi = functools.partial(DS, DSOp.DS_WRITE_B8_D16_HI)
ds_write_b16_d16_hi = functools.partial(DS, DSOp.DS_WRITE_B16_D16_HI)
ds_read_u8_d16 = functools.partial(DS, DSOp.DS_READ_U8_D16)
ds_read_u8_d16_hi = functools.partial(DS, DSOp.DS_READ_U8_D16_HI)
ds_read_i8_d16 = functools.partial(DS, DSOp.DS_READ_I8_D16)
ds_read_i8_d16_hi = functools.partial(DS, DSOp.DS_READ_I8_D16_HI)
ds_read_u16_d16 = functools.partial(DS, DSOp.DS_READ_U16_D16)
ds_read_u16_d16_hi = functools.partial(DS, DSOp.DS_READ_U16_D16_HI)
ds_add_f64 = functools.partial(DS, DSOp.DS_ADD_F64)
ds_add_rtn_u64 = functools.partial(DS, DSOp.DS_ADD_RTN_U64)
ds_sub_rtn_u64 = functools.partial(DS, DSOp.DS_SUB_RTN_U64)
ds_rsub_rtn_u64 = functools.partial(DS, DSOp.DS_RSUB_RTN_U64)
ds_inc_rtn_u64 = functools.partial(DS, DSOp.DS_INC_RTN_U64)
ds_dec_rtn_u64 = functools.partial(DS, DSOp.DS_DEC_RTN_U64)
ds_min_rtn_i64 = functools.partial(DS, DSOp.DS_MIN_RTN_I64)
ds_max_rtn_i64 = functools.partial(DS, DSOp.DS_MAX_RTN_I64)
ds_min_rtn_u64 = functools.partial(DS, DSOp.DS_MIN_RTN_U64)
ds_max_rtn_u64 = functools.partial(DS, DSOp.DS_MAX_RTN_U64)
ds_and_rtn_b64 = functools.partial(DS, DSOp.DS_AND_RTN_B64)
ds_or_rtn_b64 = functools.partial(DS, DSOp.DS_OR_RTN_B64)
ds_xor_rtn_b64 = functools.partial(DS, DSOp.DS_XOR_RTN_B64)
ds_mskor_rtn_b64 = functools.partial(DS, DSOp.DS_MSKOR_RTN_B64)
ds_wrxchg_rtn_b64 = functools.partial(DS, DSOp.DS_WRXCHG_RTN_B64)
ds_wrxchg2_rtn_b64 = functools.partial(DS, DSOp.DS_WRXCHG2_RTN_B64)
ds_wrxchg2st64_rtn_b64 = functools.partial(DS, DSOp.DS_WRXCHG2ST64_RTN_B64)
ds_cmpst_rtn_b64 = functools.partial(DS, DSOp.DS_CMPST_RTN_B64)
ds_cmpst_rtn_f64 = functools.partial(DS, DSOp.DS_CMPST_RTN_F64)
ds_min_rtn_f64 = functools.partial(DS, DSOp.DS_MIN_RTN_F64)
ds_max_rtn_f64 = functools.partial(DS, DSOp.DS_MAX_RTN_F64)
ds_read_b64 = functools.partial(DS, DSOp.DS_READ_B64)
ds_read2_b64 = functools.partial(DS, DSOp.DS_READ2_B64)
ds_read2st64_b64 = functools.partial(DS, DSOp.DS_READ2ST64_B64)
ds_add_rtn_f64 = functools.partial(DS, DSOp.DS_ADD_RTN_F64)
ds_condxchg32_rtn_b64 = functools.partial(DS, DSOp.DS_CONDXCHG32_RTN_B64)
ds_gws_sema_release_all = functools.partial(DS, DSOp.DS_GWS_SEMA_RELEASE_ALL)
ds_gws_sema_v = functools.partial(DS, DSOp.DS_GWS_SEMA_V)
ds_gws_sema_p = functools.partial(DS, DSOp.DS_GWS_SEMA_P)
ds_read_addtid_b32 = functools.partial(DS, DSOp.DS_READ_ADDTID_B32)
ds_pk_add_rtn_f16 = functools.partial(DS, DSOp.DS_PK_ADD_RTN_F16)
ds_pk_add_rtn_bf16 = functools.partial(DS, DSOp.DS_PK_ADD_RTN_BF16)
ds_consume = functools.partial(DS, DSOp.DS_CONSUME)
ds_append = functools.partial(DS, DSOp.DS_APPEND)
ds_write_b96 = functools.partial(DS, DSOp.DS_WRITE_B96)
ds_write_b128 = functools.partial(DS, DSOp.DS_WRITE_B128)
ds_read_b64_tr_b4 = functools.partial(DS, DSOp.DS_READ_B64_TR_B4)
ds_read_b96_tr_b6 = functools.partial(DS, DSOp.DS_READ_B96_TR_B6)
ds_read_b64_tr_b8 = functools.partial(DS, DSOp.DS_READ_B64_TR_B8)
ds_read_b64_tr_b16 = functools.partial(DS, DSOp.DS_READ_B64_TR_B16)
ds_read_b96 = functools.partial(DS, DSOp.DS_READ_B96)
ds_read_b128 = functools.partial(DS, DSOp.DS_READ_B128)
flat_load_ubyte = functools.partial(FLAT, FLATOp.FLAT_LOAD_UBYTE)
flat_load_sbyte = functools.partial(FLAT, FLATOp.FLAT_LOAD_SBYTE)
flat_load_ushort = functools.partial(FLAT, FLATOp.FLAT_LOAD_USHORT)
flat_load_sshort = functools.partial(FLAT, FLATOp.FLAT_LOAD_SSHORT)
flat_load_dword = functools.partial(FLAT, FLATOp.FLAT_LOAD_DWORD)
flat_load_dwordx2 = functools.partial(FLAT, FLATOp.FLAT_LOAD_DWORDX2)
flat_load_dwordx3 = functools.partial(FLAT, FLATOp.FLAT_LOAD_DWORDX3)
flat_load_dwordx4 = functools.partial(FLAT, FLATOp.FLAT_LOAD_DWORDX4)
flat_store_byte = functools.partial(FLAT, FLATOp.FLAT_STORE_BYTE)
flat_store_byte_d16_hi = functools.partial(FLAT, FLATOp.FLAT_STORE_BYTE_D16_HI)
flat_store_short = functools.partial(FLAT, FLATOp.FLAT_STORE_SHORT)
flat_store_short_d16_hi = functools.partial(FLAT, FLATOp.FLAT_STORE_SHORT_D16_HI)
flat_store_dword = functools.partial(FLAT, FLATOp.FLAT_STORE_DWORD)
flat_store_dwordx2 = functools.partial(FLAT, FLATOp.FLAT_STORE_DWORDX2)
flat_store_dwordx3 = functools.partial(FLAT, FLATOp.FLAT_STORE_DWORDX3)
flat_store_dwordx4 = functools.partial(FLAT, FLATOp.FLAT_STORE_DWORDX4)
flat_load_ubyte_d16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_UBYTE_D16)
flat_load_ubyte_d16_hi = functools.partial(FLAT, FLATOp.FLAT_LOAD_UBYTE_D16_HI)
flat_load_sbyte_d16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_SBYTE_D16)
flat_load_sbyte_d16_hi = functools.partial(FLAT, FLATOp.FLAT_LOAD_SBYTE_D16_HI)
flat_load_short_d16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_SHORT_D16)
flat_load_short_d16_hi = functools.partial(FLAT, FLATOp.FLAT_LOAD_SHORT_D16_HI)
flat_atomic_swap = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SWAP)
flat_atomic_cmpswap = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_CMPSWAP)
flat_atomic_add = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD)
flat_atomic_sub = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SUB)
flat_atomic_smin = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SMIN)
flat_atomic_umin = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_UMIN)
flat_atomic_smax = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SMAX)
flat_atomic_umax = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_UMAX)
flat_atomic_and = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_AND)
flat_atomic_or = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_OR)
flat_atomic_xor = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_XOR)
flat_atomic_inc = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_INC)
flat_atomic_dec = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_DEC)
flat_atomic_add_f32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD_F32)
flat_atomic_pk_add_f16 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_PK_ADD_F16)
flat_atomic_add_f64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD_F64)
flat_atomic_min_f64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MIN_F64)
flat_atomic_max_f64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MAX_F64)
flat_atomic_pk_add_bf16 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_PK_ADD_BF16)
flat_atomic_swap_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SWAP_X2)
flat_atomic_cmpswap_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_CMPSWAP_X2)
flat_atomic_add_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD_X2)
flat_atomic_sub_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SUB_X2)
flat_atomic_smin_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SMIN_X2)
flat_atomic_umin_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_UMIN_X2)
flat_atomic_smax_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SMAX_X2)
flat_atomic_umax_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_UMAX_X2)
flat_atomic_and_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_AND_X2)
flat_atomic_or_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_OR_X2)
flat_atomic_xor_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_XOR_X2)
flat_atomic_inc_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_INC_X2)
flat_atomic_dec_x2 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_DEC_X2)
global_load_ubyte = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_UBYTE)
global_load_sbyte = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_SBYTE)
global_load_ushort = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_USHORT)
global_load_sshort = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_SSHORT)
global_load_dword = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_DWORD)
global_load_dwordx2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_DWORDX2)
global_load_dwordx3 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_DWORDX3)
global_load_dwordx4 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_DWORDX4)
global_store_byte = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_BYTE)
global_store_byte_d16_hi = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_BYTE_D16_HI)
global_store_short = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_SHORT)
global_store_short_d16_hi = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_SHORT_D16_HI)
global_store_dword = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_DWORD)
global_store_dwordx2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_DWORDX2)
global_store_dwordx3 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_DWORDX3)
global_store_dwordx4 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_DWORDX4)
global_load_ubyte_d16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_UBYTE_D16)
global_load_ubyte_d16_hi = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_UBYTE_D16_HI)
global_load_sbyte_d16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_SBYTE_D16)
global_load_sbyte_d16_hi = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_SBYTE_D16_HI)
global_load_short_d16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_SHORT_D16)
global_load_short_d16_hi = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_SHORT_D16_HI)
global_load_lds_ubyte = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_UBYTE)
global_load_lds_sbyte = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_SBYTE)
global_load_lds_ushort = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_USHORT)
global_load_lds_sshort = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_SSHORT)
global_load_lds_dword = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_DWORD)
global_atomic_swap = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SWAP)
global_atomic_cmpswap = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP)
global_atomic_add = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD)
global_atomic_sub = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SUB)
global_atomic_smin = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SMIN)
global_atomic_umin = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_UMIN)
global_atomic_smax = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SMAX)
global_atomic_umax = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_UMAX)
global_atomic_and = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_AND)
global_atomic_or = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_OR)
global_atomic_xor = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_XOR)
global_atomic_inc = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_INC)
global_atomic_dec = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_DEC)
global_atomic_add_f32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD_F32)
global_atomic_pk_add_f16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_PK_ADD_F16)
global_atomic_add_f64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD_F64)
global_atomic_min_f64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MIN_F64)
global_atomic_max_f64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MAX_F64)
global_atomic_pk_add_bf16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_PK_ADD_BF16)
global_atomic_swap_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SWAP_X2)
global_atomic_cmpswap_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_X2)
global_atomic_add_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD_X2)
global_atomic_sub_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SUB_X2)
global_atomic_smin_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SMIN_X2)
global_atomic_umin_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_UMIN_X2)
global_atomic_smax_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SMAX_X2)
global_atomic_umax_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_UMAX_X2)
global_atomic_and_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_AND_X2)
global_atomic_or_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_OR_X2)
global_atomic_xor_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_XOR_X2)
global_atomic_inc_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_INC_X2)
global_atomic_dec_x2 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_DEC_X2)
global_load_lds_dwordx4 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_DWORDX4)
global_load_lds_dwordx3 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_DWORDX3)
tbuffer_load_format_x = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_X)
tbuffer_load_format_xy = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_XY)
tbuffer_load_format_xyz = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_XYZ)
tbuffer_load_format_xyzw = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_XYZW)
tbuffer_store_format_x = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_X)
tbuffer_store_format_xy = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_XY)
tbuffer_store_format_xyz = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_XYZ)
tbuffer_store_format_xyzw = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_XYZW)
tbuffer_load_format_d16_x = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_X)
tbuffer_load_format_d16_xy = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XY)
tbuffer_load_format_d16_xyz = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XYZ)
tbuffer_load_format_d16_xyzw = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_FORMAT_D16_XYZW)
tbuffer_store_format_d16_x = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_D16_X)
tbuffer_store_format_d16_xy = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_D16_XY)
tbuffer_store_format_d16_xyz = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_D16_XYZ)
tbuffer_store_format_d16_xyzw = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_FORMAT_D16_XYZW)
buffer_load_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_X)
buffer_load_format_xy = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_XY)
buffer_load_format_xyz = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_XYZ)
buffer_load_format_xyzw = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_XYZW)
buffer_store_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_X)
buffer_store_format_xy = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_XY)
buffer_store_format_xyz = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_XYZ)
buffer_store_format_xyzw = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_XYZW)
buffer_load_format_d16_x = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_D16_X)
buffer_load_format_d16_xy = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_D16_XY)
buffer_load_format_d16_xyz = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_D16_XYZ)
buffer_load_format_d16_xyzw = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_D16_XYZW)
buffer_store_format_d16_x = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_D16_X)
buffer_store_format_d16_xy = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_D16_XY)
buffer_store_format_d16_xyz = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_D16_XYZ)
buffer_store_format_d16_xyzw = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_D16_XYZW)
buffer_load_ubyte = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_UBYTE)
buffer_load_sbyte = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_SBYTE)
buffer_load_ushort = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_USHORT)
buffer_load_sshort = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_SSHORT)
buffer_load_dword = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_DWORD)
buffer_load_dwordx2 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_DWORDX2)
buffer_load_dwordx3 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_DWORDX3)
buffer_load_dwordx4 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_DWORDX4)
buffer_store_byte = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_BYTE)
buffer_store_byte_d16_hi = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_BYTE_D16_HI)
buffer_store_short = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_SHORT)
buffer_store_short_d16_hi = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_SHORT_D16_HI)
buffer_store_dword = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_DWORD)
buffer_store_dwordx2 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_DWORDX2)
buffer_store_dwordx3 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_DWORDX3)
buffer_store_dwordx4 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_DWORDX4)
buffer_load_ubyte_d16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_UBYTE_D16)
buffer_load_ubyte_d16_hi = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_UBYTE_D16_HI)
buffer_load_sbyte_d16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_SBYTE_D16)
buffer_load_sbyte_d16_hi = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_SBYTE_D16_HI)
buffer_load_short_d16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_SHORT_D16)
buffer_load_short_d16_hi = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_SHORT_D16_HI)
buffer_load_format_d16_hi_x = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_FORMAT_D16_HI_X)
buffer_store_format_d16_hi_x = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_FORMAT_D16_HI_X)
buffer_wbl2 = functools.partial(MUBUF, MUBUFOp.BUFFER_WBL2)
buffer_inv = functools.partial(MUBUF, MUBUFOp.BUFFER_INV)
buffer_atomic_swap = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SWAP)
buffer_atomic_cmpswap = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_CMPSWAP)
buffer_atomic_add = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD)
buffer_atomic_sub = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SUB)
buffer_atomic_smin = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SMIN)
buffer_atomic_umin = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_UMIN)
buffer_atomic_smax = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SMAX)
buffer_atomic_umax = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_UMAX)
buffer_atomic_and = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_AND)
buffer_atomic_or = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_OR)
buffer_atomic_xor = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_XOR)
buffer_atomic_inc = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_INC)
buffer_atomic_dec = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_DEC)
buffer_atomic_add_f32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD_F32)
buffer_atomic_pk_add_f16 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_PK_ADD_F16)
buffer_atomic_add_f64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD_F64)
buffer_atomic_min_f64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MIN_F64)
buffer_atomic_max_f64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MAX_F64)
buffer_atomic_pk_add_bf16 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_PK_ADD_BF16)
buffer_atomic_swap_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SWAP_X2)
buffer_atomic_cmpswap_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_X2)
buffer_atomic_add_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD_X2)
buffer_atomic_sub_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SUB_X2)
buffer_atomic_smin_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SMIN_X2)
buffer_atomic_umin_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_UMIN_X2)
buffer_atomic_smax_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SMAX_X2)
buffer_atomic_umax_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_UMAX_X2)
buffer_atomic_and_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_AND_X2)
buffer_atomic_or_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_OR_X2)
buffer_atomic_xor_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_XOR_X2)
buffer_atomic_inc_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_INC_X2)
buffer_atomic_dec_x2 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_DEC_X2)
scratch_load_ubyte = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_UBYTE)
scratch_load_sbyte = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_SBYTE)
scratch_load_ushort = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_USHORT)
scratch_load_sshort = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_SSHORT)
scratch_load_dword = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_DWORD)
scratch_load_dwordx2 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_DWORDX2)
scratch_load_dwordx3 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_DWORDX3)
scratch_load_dwordx4 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_DWORDX4)
scratch_store_byte = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_BYTE)
scratch_store_byte_d16_hi = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_BYTE_D16_HI)
scratch_store_short = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_SHORT)
scratch_store_short_d16_hi = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_SHORT_D16_HI)
scratch_store_dword = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_DWORD)
scratch_store_dwordx2 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_DWORDX2)
scratch_store_dwordx3 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_DWORDX3)
scratch_store_dwordx4 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_DWORDX4)
scratch_load_ubyte_d16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_UBYTE_D16)
scratch_load_ubyte_d16_hi = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_UBYTE_D16_HI)
scratch_load_sbyte_d16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_SBYTE_D16)
scratch_load_sbyte_d16_hi = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_SBYTE_D16_HI)
scratch_load_short_d16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_SHORT_D16)
scratch_load_short_d16_hi = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_SHORT_D16_HI)
scratch_load_lds_ubyte = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_UBYTE)
scratch_load_lds_sbyte = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_SBYTE)
scratch_load_lds_ushort = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_USHORT)
scratch_load_lds_sshort = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_SSHORT)
scratch_load_lds_dword = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_DWORD)
s_load_dword = functools.partial(SMEM, SMEMOp.S_LOAD_DWORD)
s_load_dwordx2 = functools.partial(SMEM, SMEMOp.S_LOAD_DWORDX2)
s_load_dwordx4 = functools.partial(SMEM, SMEMOp.S_LOAD_DWORDX4)
s_load_dwordx8 = functools.partial(SMEM, SMEMOp.S_LOAD_DWORDX8)
s_load_dwordx16 = functools.partial(SMEM, SMEMOp.S_LOAD_DWORDX16)
s_scratch_load_dword = functools.partial(SMEM, SMEMOp.S_SCRATCH_LOAD_DWORD)
s_scratch_load_dwordx2 = functools.partial(SMEM, SMEMOp.S_SCRATCH_LOAD_DWORDX2)
s_scratch_load_dwordx4 = functools.partial(SMEM, SMEMOp.S_SCRATCH_LOAD_DWORDX4)
s_buffer_load_dword = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_DWORD)
s_buffer_load_dwordx2 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_DWORDX2)
s_buffer_load_dwordx4 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_DWORDX4)
s_buffer_load_dwordx8 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_DWORDX8)
s_buffer_load_dwordx16 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_DWORDX16)
s_store_dword = functools.partial(SMEM, SMEMOp.S_STORE_DWORD)
s_store_dwordx2 = functools.partial(SMEM, SMEMOp.S_STORE_DWORDX2)
s_store_dwordx4 = functools.partial(SMEM, SMEMOp.S_STORE_DWORDX4)
s_scratch_store_dword = functools.partial(SMEM, SMEMOp.S_SCRATCH_STORE_DWORD)
s_scratch_store_dwordx2 = functools.partial(SMEM, SMEMOp.S_SCRATCH_STORE_DWORDX2)
s_scratch_store_dwordx4 = functools.partial(SMEM, SMEMOp.S_SCRATCH_STORE_DWORDX4)
s_buffer_store_dword = functools.partial(SMEM, SMEMOp.S_BUFFER_STORE_DWORD)
s_buffer_store_dwordx2 = functools.partial(SMEM, SMEMOp.S_BUFFER_STORE_DWORDX2)
s_buffer_store_dwordx4 = functools.partial(SMEM, SMEMOp.S_BUFFER_STORE_DWORDX4)
s_dcache_inv = functools.partial(SMEM, SMEMOp.S_DCACHE_INV)
s_dcache_wb = functools.partial(SMEM, SMEMOp.S_DCACHE_WB)
s_dcache_inv_vol = functools.partial(SMEM, SMEMOp.S_DCACHE_INV_VOL)
s_dcache_wb_vol = functools.partial(SMEM, SMEMOp.S_DCACHE_WB_VOL)
s_memtime = functools.partial(SMEM, SMEMOp.S_MEMTIME)
s_memrealtime = functools.partial(SMEM, SMEMOp.S_MEMREALTIME)
s_atc_probe = functools.partial(SMEM, SMEMOp.S_ATC_PROBE)
s_atc_probe_buffer = functools.partial(SMEM, SMEMOp.S_ATC_PROBE_BUFFER)
s_dcache_discard = functools.partial(SMEM, SMEMOp.S_DCACHE_DISCARD)
s_dcache_discard_x2 = functools.partial(SMEM, SMEMOp.S_DCACHE_DISCARD_X2)
s_buffer_atomic_swap = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SWAP)
s_buffer_atomic_cmpswap = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_CMPSWAP)
s_buffer_atomic_add = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_ADD)
s_buffer_atomic_sub = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SUB)
s_buffer_atomic_smin = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SMIN)
s_buffer_atomic_umin = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_UMIN)
s_buffer_atomic_smax = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SMAX)
s_buffer_atomic_umax = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_UMAX)
s_buffer_atomic_and = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_AND)
s_buffer_atomic_or = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_OR)
s_buffer_atomic_xor = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_XOR)
s_buffer_atomic_inc = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_INC)
s_buffer_atomic_dec = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_DEC)
s_buffer_atomic_swap_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SWAP_X2)
s_buffer_atomic_cmpswap_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_CMPSWAP_X2)
s_buffer_atomic_add_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_ADD_X2)
s_buffer_atomic_sub_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SUB_X2)
s_buffer_atomic_smin_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SMIN_X2)
s_buffer_atomic_umin_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_UMIN_X2)
s_buffer_atomic_smax_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_SMAX_X2)
s_buffer_atomic_umax_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_UMAX_X2)
s_buffer_atomic_and_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_AND_X2)
s_buffer_atomic_or_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_OR_X2)
s_buffer_atomic_xor_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_XOR_X2)
s_buffer_atomic_inc_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_INC_X2)
s_buffer_atomic_dec_x2 = functools.partial(SMEM, SMEMOp.S_BUFFER_ATOMIC_DEC_X2)
s_atomic_swap = functools.partial(SMEM, SMEMOp.S_ATOMIC_SWAP)
s_atomic_cmpswap = functools.partial(SMEM, SMEMOp.S_ATOMIC_CMPSWAP)
s_atomic_add = functools.partial(SMEM, SMEMOp.S_ATOMIC_ADD)
s_atomic_sub = functools.partial(SMEM, SMEMOp.S_ATOMIC_SUB)
s_atomic_smin = functools.partial(SMEM, SMEMOp.S_ATOMIC_SMIN)
s_atomic_umin = functools.partial(SMEM, SMEMOp.S_ATOMIC_UMIN)
s_atomic_smax = functools.partial(SMEM, SMEMOp.S_ATOMIC_SMAX)
s_atomic_umax = functools.partial(SMEM, SMEMOp.S_ATOMIC_UMAX)
s_atomic_and = functools.partial(SMEM, SMEMOp.S_ATOMIC_AND)
s_atomic_or = functools.partial(SMEM, SMEMOp.S_ATOMIC_OR)
s_atomic_xor = functools.partial(SMEM, SMEMOp.S_ATOMIC_XOR)
s_atomic_inc = functools.partial(SMEM, SMEMOp.S_ATOMIC_INC)
s_atomic_dec = functools.partial(SMEM, SMEMOp.S_ATOMIC_DEC)
s_atomic_swap_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_SWAP_X2)
s_atomic_cmpswap_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_CMPSWAP_X2)
s_atomic_add_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_ADD_X2)
s_atomic_sub_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_SUB_X2)
s_atomic_smin_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_SMIN_X2)
s_atomic_umin_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_UMIN_X2)
s_atomic_smax_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_SMAX_X2)
s_atomic_umax_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_UMAX_X2)
s_atomic_and_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_AND_X2)
s_atomic_or_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_OR_X2)
s_atomic_xor_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_XOR_X2)
s_atomic_inc_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_INC_X2)
s_atomic_dec_x2 = functools.partial(SMEM, SMEMOp.S_ATOMIC_DEC_X2)
s_mov_b32 = functools.partial(SOP1, SOP1Op.S_MOV_B32)
s_mov_b64 = functools.partial(SOP1, SOP1Op.S_MOV_B64)
s_cmov_b32 = functools.partial(SOP1, SOP1Op.S_CMOV_B32)
s_cmov_b64 = functools.partial(SOP1, SOP1Op.S_CMOV_B64)
s_not_b32 = functools.partial(SOP1, SOP1Op.S_NOT_B32)
s_not_b64 = functools.partial(SOP1, SOP1Op.S_NOT_B64)
s_wqm_b32 = functools.partial(SOP1, SOP1Op.S_WQM_B32)
s_wqm_b64 = functools.partial(SOP1, SOP1Op.S_WQM_B64)
s_brev_b32 = functools.partial(SOP1, SOP1Op.S_BREV_B32)
s_brev_b64 = functools.partial(SOP1, SOP1Op.S_BREV_B64)
s_bcnt0_i32_b32 = functools.partial(SOP1, SOP1Op.S_BCNT0_I32_B32)
s_bcnt0_i32_b64 = functools.partial(SOP1, SOP1Op.S_BCNT0_I32_B64)
s_bcnt1_i32_b32 = functools.partial(SOP1, SOP1Op.S_BCNT1_I32_B32)
s_bcnt1_i32_b64 = functools.partial(SOP1, SOP1Op.S_BCNT1_I32_B64)
s_ff0_i32_b32 = functools.partial(SOP1, SOP1Op.S_FF0_I32_B32)
s_ff0_i32_b64 = functools.partial(SOP1, SOP1Op.S_FF0_I32_B64)
s_ff1_i32_b32 = functools.partial(SOP1, SOP1Op.S_FF1_I32_B32)
s_ff1_i32_b64 = functools.partial(SOP1, SOP1Op.S_FF1_I32_B64)
s_flbit_i32_b32 = functools.partial(SOP1, SOP1Op.S_FLBIT_I32_B32)
s_flbit_i32_b64 = functools.partial(SOP1, SOP1Op.S_FLBIT_I32_B64)
s_flbit_i32 = functools.partial(SOP1, SOP1Op.S_FLBIT_I32)
s_flbit_i32_i64 = functools.partial(SOP1, SOP1Op.S_FLBIT_I32_I64)
s_sext_i32_i8 = functools.partial(SOP1, SOP1Op.S_SEXT_I32_I8)
s_sext_i32_i16 = functools.partial(SOP1, SOP1Op.S_SEXT_I32_I16)
s_bitset0_b32 = functools.partial(SOP1, SOP1Op.S_BITSET0_B32)
s_bitset0_b64 = functools.partial(SOP1, SOP1Op.S_BITSET0_B64)
s_bitset1_b32 = functools.partial(SOP1, SOP1Op.S_BITSET1_B32)
s_bitset1_b64 = functools.partial(SOP1, SOP1Op.S_BITSET1_B64)
s_getpc_b64 = functools.partial(SOP1, SOP1Op.S_GETPC_B64)
s_setpc_b64 = functools.partial(SOP1, SOP1Op.S_SETPC_B64)
s_swappc_b64 = functools.partial(SOP1, SOP1Op.S_SWAPPC_B64)
s_rfe_b64 = functools.partial(SOP1, SOP1Op.S_RFE_B64)
s_and_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_AND_SAVEEXEC_B64)
s_or_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_OR_SAVEEXEC_B64)
s_xor_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_XOR_SAVEEXEC_B64)
s_andn2_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_ANDN2_SAVEEXEC_B64)
s_orn2_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_ORN2_SAVEEXEC_B64)
s_nand_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_NAND_SAVEEXEC_B64)
s_nor_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_NOR_SAVEEXEC_B64)
s_xnor_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_XNOR_SAVEEXEC_B64)
s_quadmask_b32 = functools.partial(SOP1, SOP1Op.S_QUADMASK_B32)
s_quadmask_b64 = functools.partial(SOP1, SOP1Op.S_QUADMASK_B64)
s_movrels_b32 = functools.partial(SOP1, SOP1Op.S_MOVRELS_B32)
s_movrels_b64 = functools.partial(SOP1, SOP1Op.S_MOVRELS_B64)
s_movreld_b32 = functools.partial(SOP1, SOP1Op.S_MOVRELD_B32)
s_movreld_b64 = functools.partial(SOP1, SOP1Op.S_MOVRELD_B64)
s_cbranch_join = functools.partial(SOP1, SOP1Op.S_CBRANCH_JOIN)
s_abs_i32 = functools.partial(SOP1, SOP1Op.S_ABS_I32)
s_set_gpr_idx_idx = functools.partial(SOP1, SOP1Op.S_SET_GPR_IDX_IDX)
s_andn1_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_ANDN1_SAVEEXEC_B64)
s_orn1_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_ORN1_SAVEEXEC_B64)
s_andn1_wrexec_b64 = functools.partial(SOP1, SOP1Op.S_ANDN1_WREXEC_B64)
s_andn2_wrexec_b64 = functools.partial(SOP1, SOP1Op.S_ANDN2_WREXEC_B64)
s_bitreplicate_b64_b32 = functools.partial(SOP1, SOP1Op.S_BITREPLICATE_B64_B32)
s_add_u32 = functools.partial(SOP2, SOP2Op.S_ADD_U32)
s_sub_u32 = functools.partial(SOP2, SOP2Op.S_SUB_U32)
s_add_i32 = functools.partial(SOP2, SOP2Op.S_ADD_I32)
s_sub_i32 = functools.partial(SOP2, SOP2Op.S_SUB_I32)
s_addc_u32 = functools.partial(SOP2, SOP2Op.S_ADDC_U32)
s_subb_u32 = functools.partial(SOP2, SOP2Op.S_SUBB_U32)
s_min_i32 = functools.partial(SOP2, SOP2Op.S_MIN_I32)
s_min_u32 = functools.partial(SOP2, SOP2Op.S_MIN_U32)
s_max_i32 = functools.partial(SOP2, SOP2Op.S_MAX_I32)
s_max_u32 = functools.partial(SOP2, SOP2Op.S_MAX_U32)
s_cselect_b32 = functools.partial(SOP2, SOP2Op.S_CSELECT_B32)
s_cselect_b64 = functools.partial(SOP2, SOP2Op.S_CSELECT_B64)
s_and_b32 = functools.partial(SOP2, SOP2Op.S_AND_B32)
s_and_b64 = functools.partial(SOP2, SOP2Op.S_AND_B64)
s_or_b32 = functools.partial(SOP2, SOP2Op.S_OR_B32)
s_or_b64 = functools.partial(SOP2, SOP2Op.S_OR_B64)
s_xor_b32 = functools.partial(SOP2, SOP2Op.S_XOR_B32)
s_xor_b64 = functools.partial(SOP2, SOP2Op.S_XOR_B64)
s_andn2_b32 = functools.partial(SOP2, SOP2Op.S_ANDN2_B32)
s_andn2_b64 = functools.partial(SOP2, SOP2Op.S_ANDN2_B64)
s_orn2_b32 = functools.partial(SOP2, SOP2Op.S_ORN2_B32)
s_orn2_b64 = functools.partial(SOP2, SOP2Op.S_ORN2_B64)
s_nand_b32 = functools.partial(SOP2, SOP2Op.S_NAND_B32)
s_nand_b64 = functools.partial(SOP2, SOP2Op.S_NAND_B64)
s_nor_b32 = functools.partial(SOP2, SOP2Op.S_NOR_B32)
s_nor_b64 = functools.partial(SOP2, SOP2Op.S_NOR_B64)
s_xnor_b32 = functools.partial(SOP2, SOP2Op.S_XNOR_B32)
s_xnor_b64 = functools.partial(SOP2, SOP2Op.S_XNOR_B64)
s_lshl_b32 = functools.partial(SOP2, SOP2Op.S_LSHL_B32)
s_lshl_b64 = functools.partial(SOP2, SOP2Op.S_LSHL_B64)
s_lshr_b32 = functools.partial(SOP2, SOP2Op.S_LSHR_B32)
s_lshr_b64 = functools.partial(SOP2, SOP2Op.S_LSHR_B64)
s_ashr_i32 = functools.partial(SOP2, SOP2Op.S_ASHR_I32)
s_ashr_i64 = functools.partial(SOP2, SOP2Op.S_ASHR_I64)
s_bfm_b32 = functools.partial(SOP2, SOP2Op.S_BFM_B32)
s_bfm_b64 = functools.partial(SOP2, SOP2Op.S_BFM_B64)
s_mul_i32 = functools.partial(SOP2, SOP2Op.S_MUL_I32)
s_bfe_u32 = functools.partial(SOP2, SOP2Op.S_BFE_U32)
s_bfe_i32 = functools.partial(SOP2, SOP2Op.S_BFE_I32)
s_bfe_u64 = functools.partial(SOP2, SOP2Op.S_BFE_U64)
s_bfe_i64 = functools.partial(SOP2, SOP2Op.S_BFE_I64)
s_cbranch_g_fork = functools.partial(SOP2, SOP2Op.S_CBRANCH_G_FORK)
s_absdiff_i32 = functools.partial(SOP2, SOP2Op.S_ABSDIFF_I32)
s_rfe_restore_b64 = functools.partial(SOP2, SOP2Op.S_RFE_RESTORE_B64)
s_mul_hi_u32 = functools.partial(SOP2, SOP2Op.S_MUL_HI_U32)
s_mul_hi_i32 = functools.partial(SOP2, SOP2Op.S_MUL_HI_I32)
s_lshl1_add_u32 = functools.partial(SOP2, SOP2Op.S_LSHL1_ADD_U32)
s_lshl2_add_u32 = functools.partial(SOP2, SOP2Op.S_LSHL2_ADD_U32)
s_lshl3_add_u32 = functools.partial(SOP2, SOP2Op.S_LSHL3_ADD_U32)
s_lshl4_add_u32 = functools.partial(SOP2, SOP2Op.S_LSHL4_ADD_U32)
s_pack_ll_b32_b16 = functools.partial(SOP2, SOP2Op.S_PACK_LL_B32_B16)
s_pack_lh_b32_b16 = functools.partial(SOP2, SOP2Op.S_PACK_LH_B32_B16)
s_pack_hh_b32_b16 = functools.partial(SOP2, SOP2Op.S_PACK_HH_B32_B16)
s_cmp_eq_i32 = functools.partial(SOPC, SOPCOp.S_CMP_EQ_I32)
s_cmp_lg_i32 = functools.partial(SOPC, SOPCOp.S_CMP_LG_I32)
s_cmp_gt_i32 = functools.partial(SOPC, SOPCOp.S_CMP_GT_I32)
s_cmp_ge_i32 = functools.partial(SOPC, SOPCOp.S_CMP_GE_I32)
s_cmp_lt_i32 = functools.partial(SOPC, SOPCOp.S_CMP_LT_I32)
s_cmp_le_i32 = functools.partial(SOPC, SOPCOp.S_CMP_LE_I32)
s_cmp_eq_u32 = functools.partial(SOPC, SOPCOp.S_CMP_EQ_U32)
s_cmp_lg_u32 = functools.partial(SOPC, SOPCOp.S_CMP_LG_U32)
s_cmp_gt_u32 = functools.partial(SOPC, SOPCOp.S_CMP_GT_U32)
s_cmp_ge_u32 = functools.partial(SOPC, SOPCOp.S_CMP_GE_U32)
s_cmp_lt_u32 = functools.partial(SOPC, SOPCOp.S_CMP_LT_U32)
s_cmp_le_u32 = functools.partial(SOPC, SOPCOp.S_CMP_LE_U32)
s_bitcmp0_b32 = functools.partial(SOPC, SOPCOp.S_BITCMP0_B32)
s_bitcmp1_b32 = functools.partial(SOPC, SOPCOp.S_BITCMP1_B32)
s_bitcmp0_b64 = functools.partial(SOPC, SOPCOp.S_BITCMP0_B64)
s_bitcmp1_b64 = functools.partial(SOPC, SOPCOp.S_BITCMP1_B64)
s_setvskip = functools.partial(SOPC, SOPCOp.S_SETVSKIP)
s_set_gpr_idx_on = functools.partial(SOPC, SOPCOp.S_SET_GPR_IDX_ON)
s_cmp_eq_u64 = functools.partial(SOPC, SOPCOp.S_CMP_EQ_U64)
s_cmp_lg_u64 = functools.partial(SOPC, SOPCOp.S_CMP_LG_U64)
s_movk_i32 = functools.partial(SOPK, SOPKOp.S_MOVK_I32)
s_cmovk_i32 = functools.partial(SOPK, SOPKOp.S_CMOVK_I32)
s_cmpk_eq_i32 = functools.partial(SOPK, SOPKOp.S_CMPK_EQ_I32)
s_cmpk_lg_i32 = functools.partial(SOPK, SOPKOp.S_CMPK_LG_I32)
s_cmpk_gt_i32 = functools.partial(SOPK, SOPKOp.S_CMPK_GT_I32)
s_cmpk_ge_i32 = functools.partial(SOPK, SOPKOp.S_CMPK_GE_I32)
s_cmpk_lt_i32 = functools.partial(SOPK, SOPKOp.S_CMPK_LT_I32)
s_cmpk_le_i32 = functools.partial(SOPK, SOPKOp.S_CMPK_LE_I32)
s_cmpk_eq_u32 = functools.partial(SOPK, SOPKOp.S_CMPK_EQ_U32)
s_cmpk_lg_u32 = functools.partial(SOPK, SOPKOp.S_CMPK_LG_U32)
s_cmpk_gt_u32 = functools.partial(SOPK, SOPKOp.S_CMPK_GT_U32)
s_cmpk_ge_u32 = functools.partial(SOPK, SOPKOp.S_CMPK_GE_U32)
s_cmpk_lt_u32 = functools.partial(SOPK, SOPKOp.S_CMPK_LT_U32)
s_cmpk_le_u32 = functools.partial(SOPK, SOPKOp.S_CMPK_LE_U32)
s_addk_i32 = functools.partial(SOPK, SOPKOp.S_ADDK_I32)
s_mulk_i32 = functools.partial(SOPK, SOPKOp.S_MULK_I32)
s_cbranch_i_fork = functools.partial(SOPK, SOPKOp.S_CBRANCH_I_FORK)
s_getreg_b32 = functools.partial(SOPK, SOPKOp.S_GETREG_B32)
s_setreg_b32 = functools.partial(SOPK, SOPKOp.S_SETREG_B32)
s_setreg_imm32_b32 = functools.partial(SOPK_LIT, SOPKOp.S_SETREG_IMM32_B32)
s_call_b64 = functools.partial(SOPK, SOPKOp.S_CALL_B64)
s_nop = functools.partial(SOPP, SOPPOp.S_NOP)
s_endpgm = functools.partial(SOPP, SOPPOp.S_ENDPGM)
s_branch = functools.partial(SOPP, SOPPOp.S_BRANCH)
s_wakeup = functools.partial(SOPP, SOPPOp.S_WAKEUP)
s_cbranch_scc0 = functools.partial(SOPP, SOPPOp.S_CBRANCH_SCC0)
s_cbranch_scc1 = functools.partial(SOPP, SOPPOp.S_CBRANCH_SCC1)
s_cbranch_vccz = functools.partial(SOPP, SOPPOp.S_CBRANCH_VCCZ)
s_cbranch_vccnz = functools.partial(SOPP, SOPPOp.S_CBRANCH_VCCNZ)
s_cbranch_execz = functools.partial(SOPP, SOPPOp.S_CBRANCH_EXECZ)
s_cbranch_execnz = functools.partial(SOPP, SOPPOp.S_CBRANCH_EXECNZ)
s_barrier = functools.partial(SOPP, SOPPOp.S_BARRIER)
s_setkill = functools.partial(SOPP, SOPPOp.S_SETKILL)
s_waitcnt = functools.partial(SOPP, SOPPOp.S_WAITCNT)
s_sethalt = functools.partial(SOPP, SOPPOp.S_SETHALT)
s_sleep = functools.partial(SOPP, SOPPOp.S_SLEEP)
s_setprio = functools.partial(SOPP, SOPPOp.S_SETPRIO)
s_sendmsg = functools.partial(SOPP, SOPPOp.S_SENDMSG)
s_sendmsghalt = functools.partial(SOPP, SOPPOp.S_SENDMSGHALT)
s_trap = functools.partial(SOPP, SOPPOp.S_TRAP)
s_icache_inv = functools.partial(SOPP, SOPPOp.S_ICACHE_INV)
s_incperflevel = functools.partial(SOPP, SOPPOp.S_INCPERFLEVEL)
s_decperflevel = functools.partial(SOPP, SOPPOp.S_DECPERFLEVEL)
s_ttracedata = functools.partial(SOPP, SOPPOp.S_TTRACEDATA)
s_cbranch_cdbgsys = functools.partial(SOPP, SOPPOp.S_CBRANCH_CDBGSYS)
s_cbranch_cdbguser = functools.partial(SOPP, SOPPOp.S_CBRANCH_CDBGUSER)
s_cbranch_cdbgsys_or_user = functools.partial(SOPP, SOPPOp.S_CBRANCH_CDBGSYS_OR_USER)
s_cbranch_cdbgsys_and_user = functools.partial(SOPP, SOPPOp.S_CBRANCH_CDBGSYS_AND_USER)
s_endpgm_saved = functools.partial(SOPP, SOPPOp.S_ENDPGM_SAVED)
s_set_gpr_idx_off = functools.partial(SOPP, SOPPOp.S_SET_GPR_IDX_OFF)
s_set_gpr_idx_mode = functools.partial(SOPP, SOPPOp.S_SET_GPR_IDX_MODE)
s_endpgm_ordered_ps_done = functools.partial(SOPP, SOPPOp.S_ENDPGM_ORDERED_PS_DONE)
s_set_valu_coexec_mode = functools.partial(SOPP, SOPPOp.S_SET_VALU_COEXEC_MODE)
v_nop_e32 = functools.partial(VOP1, VOP1Op.V_NOP_E32)
v_mov_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOV_B32_E32)
v_readfirstlane_b32_e32 = functools.partial(VOP1, VOP1Op.V_READFIRSTLANE_B32_E32)
v_cvt_i32_f64_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I32_F64_E32)
v_cvt_f64_i32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F64_I32_E32)
v_cvt_f32_i32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_I32_E32)
v_cvt_f32_u32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_U32_E32)
v_cvt_u32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U32_F32_E32)
v_cvt_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I32_F32_E32)
v_cvt_f16_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F16_F32_E32)
v_cvt_f32_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_F16_E32)
v_cvt_rpi_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_RPI_I32_F32_E32)
v_cvt_flr_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_FLR_I32_F32_E32)
v_cvt_off_f32_i4_e32 = functools.partial(VOP1, VOP1Op.V_CVT_OFF_F32_I4_E32)
v_cvt_f32_f64_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_F64_E32)
v_cvt_f64_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F64_F32_E32)
v_cvt_f32_ubyte0_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE0_E32)
v_cvt_f32_ubyte1_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE1_E32)
v_cvt_f32_ubyte2_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE2_E32)
v_cvt_f32_ubyte3_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE3_E32)
v_cvt_u32_f64_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U32_F64_E32)
v_cvt_f64_u32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F64_U32_E32)
v_trunc_f64_e32 = functools.partial(VOP1, VOP1Op.V_TRUNC_F64_E32)
v_ceil_f64_e32 = functools.partial(VOP1, VOP1Op.V_CEIL_F64_E32)
v_rndne_f64_e32 = functools.partial(VOP1, VOP1Op.V_RNDNE_F64_E32)
v_floor_f64_e32 = functools.partial(VOP1, VOP1Op.V_FLOOR_F64_E32)
v_fract_f32_e32 = functools.partial(VOP1, VOP1Op.V_FRACT_F32_E32)
v_trunc_f32_e32 = functools.partial(VOP1, VOP1Op.V_TRUNC_F32_E32)
v_ceil_f32_e32 = functools.partial(VOP1, VOP1Op.V_CEIL_F32_E32)
v_rndne_f32_e32 = functools.partial(VOP1, VOP1Op.V_RNDNE_F32_E32)
v_floor_f32_e32 = functools.partial(VOP1, VOP1Op.V_FLOOR_F32_E32)
v_exp_f32_e32 = functools.partial(VOP1, VOP1Op.V_EXP_F32_E32)
v_log_f32_e32 = functools.partial(VOP1, VOP1Op.V_LOG_F32_E32)
v_rcp_f32_e32 = functools.partial(VOP1, VOP1Op.V_RCP_F32_E32)
v_rcp_iflag_f32_e32 = functools.partial(VOP1, VOP1Op.V_RCP_IFLAG_F32_E32)
v_rsq_f32_e32 = functools.partial(VOP1, VOP1Op.V_RSQ_F32_E32)
v_rcp_f64_e32 = functools.partial(VOP1, VOP1Op.V_RCP_F64_E32)
v_rsq_f64_e32 = functools.partial(VOP1, VOP1Op.V_RSQ_F64_E32)
v_sqrt_f32_e32 = functools.partial(VOP1, VOP1Op.V_SQRT_F32_E32)
v_sqrt_f64_e32 = functools.partial(VOP1, VOP1Op.V_SQRT_F64_E32)
v_sin_f32_e32 = functools.partial(VOP1, VOP1Op.V_SIN_F32_E32)
v_cos_f32_e32 = functools.partial(VOP1, VOP1Op.V_COS_F32_E32)
v_not_b32_e32 = functools.partial(VOP1, VOP1Op.V_NOT_B32_E32)
v_bfrev_b32_e32 = functools.partial(VOP1, VOP1Op.V_BFREV_B32_E32)
v_ffbh_u32_e32 = functools.partial(VOP1, VOP1Op.V_FFBH_U32_E32)
v_ffbl_b32_e32 = functools.partial(VOP1, VOP1Op.V_FFBL_B32_E32)
v_ffbh_i32_e32 = functools.partial(VOP1, VOP1Op.V_FFBH_I32_E32)
v_frexp_exp_i32_f64_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_EXP_I32_F64_E32)
v_frexp_mant_f64_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_MANT_F64_E32)
v_fract_f64_e32 = functools.partial(VOP1, VOP1Op.V_FRACT_F64_E32)
v_frexp_exp_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_EXP_I32_F32_E32)
v_frexp_mant_f32_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_MANT_F32_E32)
v_clrexcp_e32 = functools.partial(VOP1, VOP1Op.V_CLREXCP_E32)
v_screen_partition_4se_b32_e32 = functools.partial(VOP1, VOP1Op.V_SCREEN_PARTITION_4SE_B32_E32)
v_mov_b64_e32 = functools.partial(VOP1, VOP1Op.V_MOV_B64_E32)
v_cvt_f16_u16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F16_U16_E32)
v_cvt_f16_i16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F16_I16_E32)
v_cvt_u16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U16_F16_E32)
v_cvt_i16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I16_F16_E32)
v_rcp_f16_e32 = functools.partial(VOP1, VOP1Op.V_RCP_F16_E32)
v_sqrt_f16_e32 = functools.partial(VOP1, VOP1Op.V_SQRT_F16_E32)
v_rsq_f16_e32 = functools.partial(VOP1, VOP1Op.V_RSQ_F16_E32)
v_log_f16_e32 = functools.partial(VOP1, VOP1Op.V_LOG_F16_E32)
v_exp_f16_e32 = functools.partial(VOP1, VOP1Op.V_EXP_F16_E32)
v_frexp_mant_f16_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_MANT_F16_E32)
v_frexp_exp_i16_f16_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_EXP_I16_F16_E32)
v_floor_f16_e32 = functools.partial(VOP1, VOP1Op.V_FLOOR_F16_E32)
v_ceil_f16_e32 = functools.partial(VOP1, VOP1Op.V_CEIL_F16_E32)
v_trunc_f16_e32 = functools.partial(VOP1, VOP1Op.V_TRUNC_F16_E32)
v_rndne_f16_e32 = functools.partial(VOP1, VOP1Op.V_RNDNE_F16_E32)
v_fract_f16_e32 = functools.partial(VOP1, VOP1Op.V_FRACT_F16_E32)
v_sin_f16_e32 = functools.partial(VOP1, VOP1Op.V_SIN_F16_E32)
v_cos_f16_e32 = functools.partial(VOP1, VOP1Op.V_COS_F16_E32)
v_exp_legacy_f32_e32 = functools.partial(VOP1, VOP1Op.V_EXP_LEGACY_F32_E32)
v_log_legacy_f32_e32 = functools.partial(VOP1, VOP1Op.V_LOG_LEGACY_F32_E32)
v_cvt_norm_i16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_NORM_I16_F16_E32)
v_cvt_norm_u16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_NORM_U16_F16_E32)
v_sat_pk_u8_i16_e32 = functools.partial(VOP1, VOP1Op.V_SAT_PK_U8_I16_E32)
v_swap_b32_e32 = functools.partial(VOP1, VOP1Op.V_SWAP_B32_E32)
v_accvgpr_mov_b32_e32 = functools.partial(VOP1, VOP1Op.V_ACCVGPR_MOV_B32_E32)
v_cvt_f32_fp8_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_FP8_E32)
v_cvt_f32_bf8_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_BF8_E32)
v_cvt_pk_f32_fp8_e32 = functools.partial(VOP1, VOP1Op.V_CVT_PK_F32_FP8_E32)
v_cvt_pk_f32_bf8_e32 = functools.partial(VOP1, VOP1Op.V_CVT_PK_F32_BF8_E32)
v_prng_b32_e32 = functools.partial(VOP1, VOP1Op.V_PRNG_B32_E32)
v_permlane16_swap_b32_e32 = functools.partial(VOP1, VOP1Op.V_PERMLANE16_SWAP_B32_E32)
v_permlane32_swap_b32_e32 = functools.partial(VOP1, VOP1Op.V_PERMLANE32_SWAP_B32_E32)
v_cvt_f32_bf16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_BF16_E32)
v_cndmask_b32_e32 = functools.partial(VOP2, VOP2Op.V_CNDMASK_B32_E32)
v_add_f32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_F32_E32)
v_sub_f32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_F32_E32)
v_subrev_f32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_F32_E32)
v_fmac_f64_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_F64_E32)
v_mul_f32_e32 = functools.partial(VOP2, VOP2Op.V_MUL_F32_E32)
v_mul_i32_i24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_I32_I24_E32)
v_mul_hi_i32_i24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_HI_I32_I24_E32)
v_mul_u32_u24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_U32_U24_E32)
v_mul_hi_u32_u24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_HI_U32_U24_E32)
v_min_f32_e32 = functools.partial(VOP2, VOP2Op.V_MIN_F32_E32)
v_max_f32_e32 = functools.partial(VOP2, VOP2Op.V_MAX_F32_E32)
v_min_i32_e32 = functools.partial(VOP2, VOP2Op.V_MIN_I32_E32)
v_max_i32_e32 = functools.partial(VOP2, VOP2Op.V_MAX_I32_E32)
v_min_u32_e32 = functools.partial(VOP2, VOP2Op.V_MIN_U32_E32)
v_max_u32_e32 = functools.partial(VOP2, VOP2Op.V_MAX_U32_E32)
v_lshrrev_b32_e32 = functools.partial(VOP2, VOP2Op.V_LSHRREV_B32_E32)
v_ashrrev_i32_e32 = functools.partial(VOP2, VOP2Op.V_ASHRREV_I32_E32)
v_lshlrev_b32_e32 = functools.partial(VOP2, VOP2Op.V_LSHLREV_B32_E32)
v_and_b32_e32 = functools.partial(VOP2, VOP2Op.V_AND_B32_E32)
v_or_b32_e32 = functools.partial(VOP2, VOP2Op.V_OR_B32_E32)
v_xor_b32_e32 = functools.partial(VOP2, VOP2Op.V_XOR_B32_E32)
v_dot2c_f32_bf16_e32 = functools.partial(VOP2, VOP2Op.V_DOT2C_F32_BF16_E32)
v_fmamk_f32_e32 = functools.partial(VOP2_LIT, VOP2Op.V_FMAMK_F32_E32)
v_fmaak_f32_e32 = functools.partial(VOP2_LIT, VOP2Op.V_FMAAK_F32_E32)
v_add_co_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_CO_U32_E32)
v_sub_co_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_CO_U32_E32)
v_subrev_co_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_CO_U32_E32)
v_addc_co_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADDC_CO_U32_E32)
v_subb_co_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBB_CO_U32_E32)
v_subbrev_co_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBBREV_CO_U32_E32)
v_add_f16_e32 = functools.partial(VOP2, VOP2Op.V_ADD_F16_E32)
v_sub_f16_e32 = functools.partial(VOP2, VOP2Op.V_SUB_F16_E32)
v_subrev_f16_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_F16_E32)
v_mul_f16_e32 = functools.partial(VOP2, VOP2Op.V_MUL_F16_E32)
v_mac_f16_e32 = functools.partial(VOP2, VOP2Op.V_MAC_F16_E32)
v_madmk_f16_e32 = functools.partial(VOP2_LIT, VOP2Op.V_MADMK_F16_E32)
v_madak_f16_e32 = functools.partial(VOP2_LIT, VOP2Op.V_MADAK_F16_E32)
v_add_u16_e32 = functools.partial(VOP2, VOP2Op.V_ADD_U16_E32)
v_sub_u16_e32 = functools.partial(VOP2, VOP2Op.V_SUB_U16_E32)
v_subrev_u16_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_U16_E32)
v_mul_lo_u16_e32 = functools.partial(VOP2, VOP2Op.V_MUL_LO_U16_E32)
v_lshlrev_b16_e32 = functools.partial(VOP2, VOP2Op.V_LSHLREV_B16_E32)
v_lshrrev_b16_e32 = functools.partial(VOP2, VOP2Op.V_LSHRREV_B16_E32)
v_ashrrev_i16_e32 = functools.partial(VOP2, VOP2Op.V_ASHRREV_I16_E32)
v_max_f16_e32 = functools.partial(VOP2, VOP2Op.V_MAX_F16_E32)
v_min_f16_e32 = functools.partial(VOP2, VOP2Op.V_MIN_F16_E32)
v_max_u16_e32 = functools.partial(VOP2, VOP2Op.V_MAX_U16_E32)
v_max_i16_e32 = functools.partial(VOP2, VOP2Op.V_MAX_I16_E32)
v_min_u16_e32 = functools.partial(VOP2, VOP2Op.V_MIN_U16_E32)
v_min_i16_e32 = functools.partial(VOP2, VOP2Op.V_MIN_I16_E32)
v_ldexp_f16_e32 = functools.partial(VOP2, VOP2Op.V_LDEXP_F16_E32)
v_add_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_U32_E32)
v_sub_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_U32_E32)
v_subrev_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_U32_E32)
v_dot2c_f32_f16_e32 = functools.partial(VOP2, VOP2Op.V_DOT2C_F32_F16_E32)
v_dot2c_i32_i16_e32 = functools.partial(VOP2, VOP2Op.V_DOT2C_I32_I16_E32)
v_dot4c_i32_i8_e32 = functools.partial(VOP2, VOP2Op.V_DOT4C_I32_I8_E32)
v_dot8c_i32_i4_e32 = functools.partial(VOP2, VOP2Op.V_DOT8C_I32_I4_E32)
v_fmac_f32_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_F32_E32)
v_pk_fmac_f16_e32 = functools.partial(VOP2, VOP2Op.V_PK_FMAC_F16_E32)
v_xnor_b32_e32 = functools.partial(VOP2, VOP2Op.V_XNOR_B32_E32)
v_cmp_class_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_CLASS_F32_E64)
v_cmpx_class_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_CLASS_F32_E64)
v_cmp_class_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_CLASS_F64_E64)
v_cmpx_class_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_CLASS_F64_E64)
v_cmp_class_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_CLASS_F16_E64)
v_cmpx_class_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_CLASS_F16_E64)
v_cmp_f_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_F16_E64)
v_cmp_lt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_F16_E64)
v_cmp_eq_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_F16_E64)
v_cmp_le_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_F16_E64)
v_cmp_gt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_F16_E64)
v_cmp_lg_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LG_F16_E64)
v_cmp_ge_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_F16_E64)
v_cmp_o_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_O_F16_E64)
v_cmp_u_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_U_F16_E64)
v_cmp_nge_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NGE_F16_E64)
v_cmp_nlg_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLG_F16_E64)
v_cmp_ngt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NGT_F16_E64)
v_cmp_nle_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLE_F16_E64)
v_cmp_neq_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NEQ_F16_E64)
v_cmp_nlt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLT_F16_E64)
v_cmp_tru_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_TRU_F16_E64)
v_cmpx_f_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_F16_E64)
v_cmpx_lt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_F16_E64)
v_cmpx_eq_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_F16_E64)
v_cmpx_le_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_F16_E64)
v_cmpx_gt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_F16_E64)
v_cmpx_lg_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LG_F16_E64)
v_cmpx_ge_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_F16_E64)
v_cmpx_o_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_O_F16_E64)
v_cmpx_u_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_U_F16_E64)
v_cmpx_nge_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NGE_F16_E64)
v_cmpx_nlg_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLG_F16_E64)
v_cmpx_ngt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NGT_F16_E64)
v_cmpx_nle_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLE_F16_E64)
v_cmpx_neq_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NEQ_F16_E64)
v_cmpx_nlt_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLT_F16_E64)
v_cmpx_tru_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_TRU_F16_E64)
v_cmp_f_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_F32_E64)
v_cmp_lt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_F32_E64)
v_cmp_eq_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_F32_E64)
v_cmp_le_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_F32_E64)
v_cmp_gt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_F32_E64)
v_cmp_lg_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LG_F32_E64)
v_cmp_ge_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_F32_E64)
v_cmp_o_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_O_F32_E64)
v_cmp_u_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_U_F32_E64)
v_cmp_nge_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NGE_F32_E64)
v_cmp_nlg_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLG_F32_E64)
v_cmp_ngt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NGT_F32_E64)
v_cmp_nle_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLE_F32_E64)
v_cmp_neq_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NEQ_F32_E64)
v_cmp_nlt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLT_F32_E64)
v_cmp_tru_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_TRU_F32_E64)
v_cmpx_f_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_F32_E64)
v_cmpx_lt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_F32_E64)
v_cmpx_eq_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_F32_E64)
v_cmpx_le_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_F32_E64)
v_cmpx_gt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_F32_E64)
v_cmpx_lg_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LG_F32_E64)
v_cmpx_ge_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_F32_E64)
v_cmpx_o_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_O_F32_E64)
v_cmpx_u_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_U_F32_E64)
v_cmpx_nge_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NGE_F32_E64)
v_cmpx_nlg_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLG_F32_E64)
v_cmpx_ngt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NGT_F32_E64)
v_cmpx_nle_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLE_F32_E64)
v_cmpx_neq_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NEQ_F32_E64)
v_cmpx_nlt_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLT_F32_E64)
v_cmpx_tru_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_TRU_F32_E64)
v_cmp_f_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_F64_E64)
v_cmp_lt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_F64_E64)
v_cmp_eq_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_F64_E64)
v_cmp_le_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_F64_E64)
v_cmp_gt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_F64_E64)
v_cmp_lg_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LG_F64_E64)
v_cmp_ge_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_F64_E64)
v_cmp_o_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_O_F64_E64)
v_cmp_u_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_U_F64_E64)
v_cmp_nge_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NGE_F64_E64)
v_cmp_nlg_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLG_F64_E64)
v_cmp_ngt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NGT_F64_E64)
v_cmp_nle_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLE_F64_E64)
v_cmp_neq_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NEQ_F64_E64)
v_cmp_nlt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NLT_F64_E64)
v_cmp_tru_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_TRU_F64_E64)
v_cmpx_f_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_F64_E64)
v_cmpx_lt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_F64_E64)
v_cmpx_eq_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_F64_E64)
v_cmpx_le_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_F64_E64)
v_cmpx_gt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_F64_E64)
v_cmpx_lg_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LG_F64_E64)
v_cmpx_ge_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_F64_E64)
v_cmpx_o_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_O_F64_E64)
v_cmpx_u_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_U_F64_E64)
v_cmpx_nge_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NGE_F64_E64)
v_cmpx_nlg_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLG_F64_E64)
v_cmpx_ngt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NGT_F64_E64)
v_cmpx_nle_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLE_F64_E64)
v_cmpx_neq_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NEQ_F64_E64)
v_cmpx_nlt_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NLT_F64_E64)
v_cmpx_tru_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_TRU_F64_E64)
v_cmp_f_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_I16_E64)
v_cmp_lt_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_I16_E64)
v_cmp_eq_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_I16_E64)
v_cmp_le_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_I16_E64)
v_cmp_gt_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_I16_E64)
v_cmp_ne_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NE_I16_E64)
v_cmp_ge_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_I16_E64)
v_cmp_t_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_I16_E64)
v_cmp_f_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_U16_E64)
v_cmp_lt_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_U16_E64)
v_cmp_eq_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_U16_E64)
v_cmp_le_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_U16_E64)
v_cmp_gt_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_U16_E64)
v_cmp_ne_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NE_U16_E64)
v_cmp_ge_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_U16_E64)
v_cmp_t_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_U16_E64)
v_cmpx_f_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_I16_E64)
v_cmpx_lt_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_I16_E64)
v_cmpx_eq_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_I16_E64)
v_cmpx_le_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_I16_E64)
v_cmpx_gt_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_I16_E64)
v_cmpx_ne_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NE_I16_E64)
v_cmpx_ge_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_I16_E64)
v_cmpx_t_i16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_I16_E64)
v_cmpx_f_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_U16_E64)
v_cmpx_lt_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_U16_E64)
v_cmpx_eq_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_U16_E64)
v_cmpx_le_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_U16_E64)
v_cmpx_gt_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_U16_E64)
v_cmpx_ne_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NE_U16_E64)
v_cmpx_ge_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_U16_E64)
v_cmpx_t_u16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_U16_E64)
v_cmp_f_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_I32_E64)
v_cmp_lt_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_I32_E64)
v_cmp_eq_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_I32_E64)
v_cmp_le_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_I32_E64)
v_cmp_gt_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_I32_E64)
v_cmp_ne_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NE_I32_E64)
v_cmp_ge_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_I32_E64)
v_cmp_t_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_I32_E64)
v_cmp_f_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_U32_E64)
v_cmp_lt_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_U32_E64)
v_cmp_eq_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_U32_E64)
v_cmp_le_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_U32_E64)
v_cmp_gt_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_U32_E64)
v_cmp_ne_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NE_U32_E64)
v_cmp_ge_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_U32_E64)
v_cmp_t_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_U32_E64)
v_cmpx_f_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_I32_E64)
v_cmpx_lt_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_I32_E64)
v_cmpx_eq_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_I32_E64)
v_cmpx_le_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_I32_E64)
v_cmpx_gt_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_I32_E64)
v_cmpx_ne_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NE_I32_E64)
v_cmpx_ge_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_I32_E64)
v_cmpx_t_i32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_I32_E64)
v_cmpx_f_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_U32_E64)
v_cmpx_lt_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_U32_E64)
v_cmpx_eq_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_U32_E64)
v_cmpx_le_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_U32_E64)
v_cmpx_gt_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_U32_E64)
v_cmpx_ne_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NE_U32_E64)
v_cmpx_ge_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_U32_E64)
v_cmpx_t_u32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_U32_E64)
v_cmp_f_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_I64_E64)
v_cmp_lt_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_I64_E64)
v_cmp_eq_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_I64_E64)
v_cmp_le_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_I64_E64)
v_cmp_gt_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_I64_E64)
v_cmp_ne_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NE_I64_E64)
v_cmp_ge_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_I64_E64)
v_cmp_t_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_I64_E64)
v_cmp_f_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_F_U64_E64)
v_cmp_lt_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LT_U64_E64)
v_cmp_eq_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_EQ_U64_E64)
v_cmp_le_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_LE_U64_E64)
v_cmp_gt_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GT_U64_E64)
v_cmp_ne_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_NE_U64_E64)
v_cmp_ge_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_GE_U64_E64)
v_cmp_t_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_U64_E64)
v_cmpx_f_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_I64_E64)
v_cmpx_lt_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_I64_E64)
v_cmpx_eq_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_I64_E64)
v_cmpx_le_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_I64_E64)
v_cmpx_gt_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_I64_E64)
v_cmpx_ne_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NE_I64_E64)
v_cmpx_ge_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_I64_E64)
v_cmpx_t_i64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_I64_E64)
v_cmpx_f_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_F_U64_E64)
v_cmpx_lt_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LT_U64_E64)
v_cmpx_eq_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_EQ_U64_E64)
v_cmpx_le_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_LE_U64_E64)
v_cmpx_gt_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GT_U64_E64)
v_cmpx_ne_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_NE_U64_E64)
v_cmpx_ge_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_GE_U64_E64)
v_cmpx_t_u64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_U64_E64)
v_cndmask_b32_e64 = functools.partial(VOP3, VOP3Op.V_CNDMASK_B32_E64)
v_add_f32_e64 = functools.partial(VOP3, VOP3Op.V_ADD_F32_E64)
v_sub_f32_e64 = functools.partial(VOP3, VOP3Op.V_SUB_F32_E64)
v_subrev_f32_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_F32_E64)
v_fmac_f64_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_F64_E64)
v_mul_f32_e64 = functools.partial(VOP3, VOP3Op.V_MUL_F32_E64)
v_mul_i32_i24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_I32_I24_E64)
v_mul_hi_i32_i24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_HI_I32_I24_E64)
v_mul_u32_u24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_U32_U24_E64)
v_mul_hi_u32_u24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_HI_U32_U24_E64)
v_min_f32_e64 = functools.partial(VOP3, VOP3Op.V_MIN_F32_E64)
v_max_f32_e64 = functools.partial(VOP3, VOP3Op.V_MAX_F32_E64)
v_min_i32_e64 = functools.partial(VOP3, VOP3Op.V_MIN_I32_E64)
v_max_i32_e64 = functools.partial(VOP3, VOP3Op.V_MAX_I32_E64)
v_min_u32_e64 = functools.partial(VOP3, VOP3Op.V_MIN_U32_E64)
v_max_u32_e64 = functools.partial(VOP3, VOP3Op.V_MAX_U32_E64)
v_lshrrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_LSHRREV_B32_E64)
v_ashrrev_i32_e64 = functools.partial(VOP3, VOP3Op.V_ASHRREV_I32_E64)
v_lshlrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_LSHLREV_B32_E64)
v_and_b32_e64 = functools.partial(VOP3, VOP3Op.V_AND_B32_E64)
v_or_b32_e64 = functools.partial(VOP3, VOP3Op.V_OR_B32_E64)
v_xor_b32_e64 = functools.partial(VOP3, VOP3Op.V_XOR_B32_E64)
v_dot2c_f32_bf16_e64 = functools.partial(VOP3, VOP3Op.V_DOT2C_F32_BF16_E64)
v_add_f16_e64 = functools.partial(VOP3, VOP3Op.V_ADD_F16_E64)
v_sub_f16_e64 = functools.partial(VOP3, VOP3Op.V_SUB_F16_E64)
v_subrev_f16_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_F16_E64)
v_mul_f16_e64 = functools.partial(VOP3, VOP3Op.V_MUL_F16_E64)
v_mac_f16_e64 = functools.partial(VOP3, VOP3Op.V_MAC_F16_E64)
v_add_u16_e64 = functools.partial(VOP3, VOP3Op.V_ADD_U16_E64)
v_sub_u16_e64 = functools.partial(VOP3, VOP3Op.V_SUB_U16_E64)
v_subrev_u16_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_U16_E64)
v_mul_lo_u16_e64 = functools.partial(VOP3, VOP3Op.V_MUL_LO_U16_E64)
v_lshlrev_b16_e64 = functools.partial(VOP3, VOP3Op.V_LSHLREV_B16_E64)
v_lshrrev_b16_e64 = functools.partial(VOP3, VOP3Op.V_LSHRREV_B16_E64)
v_ashrrev_i16_e64 = functools.partial(VOP3, VOP3Op.V_ASHRREV_I16_E64)
v_max_f16_e64 = functools.partial(VOP3, VOP3Op.V_MAX_F16_E64)
v_min_f16_e64 = functools.partial(VOP3, VOP3Op.V_MIN_F16_E64)
v_max_u16_e64 = functools.partial(VOP3, VOP3Op.V_MAX_U16_E64)
v_max_i16_e64 = functools.partial(VOP3, VOP3Op.V_MAX_I16_E64)
v_min_u16_e64 = functools.partial(VOP3, VOP3Op.V_MIN_U16_E64)
v_min_i16_e64 = functools.partial(VOP3, VOP3Op.V_MIN_I16_E64)
v_ldexp_f16_e64 = functools.partial(VOP3, VOP3Op.V_LDEXP_F16_E64)
v_add_u32_e64 = functools.partial(VOP3, VOP3Op.V_ADD_U32_E64)
v_sub_u32_e64 = functools.partial(VOP3, VOP3Op.V_SUB_U32_E64)
v_subrev_u32_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_U32_E64)
v_dot2c_f32_f16_e64 = functools.partial(VOP3, VOP3Op.V_DOT2C_F32_F16_E64)
v_dot2c_i32_i16_e64 = functools.partial(VOP3, VOP3Op.V_DOT2C_I32_I16_E64)
v_dot4c_i32_i8_e64 = functools.partial(VOP3, VOP3Op.V_DOT4C_I32_I8_E64)
v_dot8c_i32_i4_e64 = functools.partial(VOP3, VOP3Op.V_DOT8C_I32_I4_E64)
v_fmac_f32_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_F32_E64)
v_pk_fmac_f16_e64 = functools.partial(VOP3, VOP3Op.V_PK_FMAC_F16_E64)
v_xnor_b32_e64 = functools.partial(VOP3, VOP3Op.V_XNOR_B32_E64)
v_nop_e64 = functools.partial(VOP3, VOP3Op.V_NOP_E64)
v_mov_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOV_B32_E64)
v_readfirstlane_b32_e64 = functools.partial(VOP3, VOP3Op.V_READFIRSTLANE_B32_E64)
v_cvt_i32_f64_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I32_F64_E64)
v_cvt_f64_i32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F64_I32_E64)
v_cvt_f32_i32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_I32_E64)
v_cvt_f32_u32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_U32_E64)
v_cvt_u32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U32_F32_E64)
v_cvt_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I32_F32_E64)
v_cvt_f16_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F16_F32_E64)
v_cvt_f32_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_F16_E64)
v_cvt_rpi_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_RPI_I32_F32_E64)
v_cvt_flr_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_FLR_I32_F32_E64)
v_cvt_off_f32_i4_e64 = functools.partial(VOP3, VOP3Op.V_CVT_OFF_F32_I4_E64)
v_cvt_f32_f64_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_F64_E64)
v_cvt_f64_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F64_F32_E64)
v_cvt_f32_ubyte0_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE0_E64)
v_cvt_f32_ubyte1_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE1_E64)
v_cvt_f32_ubyte2_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE2_E64)
v_cvt_f32_ubyte3_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE3_E64)
v_cvt_u32_f64_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U32_F64_E64)
v_cvt_f64_u32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F64_U32_E64)
v_trunc_f64_e64 = functools.partial(VOP3, VOP3Op.V_TRUNC_F64_E64)
v_ceil_f64_e64 = functools.partial(VOP3, VOP3Op.V_CEIL_F64_E64)
v_rndne_f64_e64 = functools.partial(VOP3, VOP3Op.V_RNDNE_F64_E64)
v_floor_f64_e64 = functools.partial(VOP3, VOP3Op.V_FLOOR_F64_E64)
v_fract_f32_e64 = functools.partial(VOP3, VOP3Op.V_FRACT_F32_E64)
v_trunc_f32_e64 = functools.partial(VOP3, VOP3Op.V_TRUNC_F32_E64)
v_ceil_f32_e64 = functools.partial(VOP3, VOP3Op.V_CEIL_F32_E64)
v_rndne_f32_e64 = functools.partial(VOP3, VOP3Op.V_RNDNE_F32_E64)
v_floor_f32_e64 = functools.partial(VOP3, VOP3Op.V_FLOOR_F32_E64)
v_exp_f32_e64 = functools.partial(VOP3, VOP3Op.V_EXP_F32_E64)
v_log_f32_e64 = functools.partial(VOP3, VOP3Op.V_LOG_F32_E64)
v_rcp_f32_e64 = functools.partial(VOP3, VOP3Op.V_RCP_F32_E64)
v_rcp_iflag_f32_e64 = functools.partial(VOP3, VOP3Op.V_RCP_IFLAG_F32_E64)
v_rsq_f32_e64 = functools.partial(VOP3, VOP3Op.V_RSQ_F32_E64)
v_rcp_f64_e64 = functools.partial(VOP3, VOP3Op.V_RCP_F64_E64)
v_rsq_f64_e64 = functools.partial(VOP3, VOP3Op.V_RSQ_F64_E64)
v_sqrt_f32_e64 = functools.partial(VOP3, VOP3Op.V_SQRT_F32_E64)
v_sqrt_f64_e64 = functools.partial(VOP3, VOP3Op.V_SQRT_F64_E64)
v_sin_f32_e64 = functools.partial(VOP3, VOP3Op.V_SIN_F32_E64)
v_cos_f32_e64 = functools.partial(VOP3, VOP3Op.V_COS_F32_E64)
v_not_b32_e64 = functools.partial(VOP3, VOP3Op.V_NOT_B32_E64)
v_bfrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_BFREV_B32_E64)
v_ffbh_u32_e64 = functools.partial(VOP3, VOP3Op.V_FFBH_U32_E64)
v_ffbl_b32_e64 = functools.partial(VOP3, VOP3Op.V_FFBL_B32_E64)
v_ffbh_i32_e64 = functools.partial(VOP3, VOP3Op.V_FFBH_I32_E64)
v_frexp_exp_i32_f64_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_EXP_I32_F64_E64)
v_frexp_mant_f64_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_MANT_F64_E64)
v_fract_f64_e64 = functools.partial(VOP3, VOP3Op.V_FRACT_F64_E64)
v_frexp_exp_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_EXP_I32_F32_E64)
v_frexp_mant_f32_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_MANT_F32_E64)
v_clrexcp_e64 = functools.partial(VOP3, VOP3Op.V_CLREXCP_E64)
v_screen_partition_4se_b32_e64 = functools.partial(VOP3, VOP3Op.V_SCREEN_PARTITION_4SE_B32_E64)
v_mov_b64_e64 = functools.partial(VOP3, VOP3Op.V_MOV_B64_E64)
v_cvt_f16_u16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F16_U16_E64)
v_cvt_f16_i16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F16_I16_E64)
v_cvt_u16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U16_F16_E64)
v_cvt_i16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I16_F16_E64)
v_rcp_f16_e64 = functools.partial(VOP3, VOP3Op.V_RCP_F16_E64)
v_sqrt_f16_e64 = functools.partial(VOP3, VOP3Op.V_SQRT_F16_E64)
v_rsq_f16_e64 = functools.partial(VOP3, VOP3Op.V_RSQ_F16_E64)
v_log_f16_e64 = functools.partial(VOP3, VOP3Op.V_LOG_F16_E64)
v_exp_f16_e64 = functools.partial(VOP3, VOP3Op.V_EXP_F16_E64)
v_frexp_mant_f16_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_MANT_F16_E64)
v_frexp_exp_i16_f16_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_EXP_I16_F16_E64)
v_floor_f16_e64 = functools.partial(VOP3, VOP3Op.V_FLOOR_F16_E64)
v_ceil_f16_e64 = functools.partial(VOP3, VOP3Op.V_CEIL_F16_E64)
v_trunc_f16_e64 = functools.partial(VOP3, VOP3Op.V_TRUNC_F16_E64)
v_rndne_f16_e64 = functools.partial(VOP3, VOP3Op.V_RNDNE_F16_E64)
v_fract_f16_e64 = functools.partial(VOP3, VOP3Op.V_FRACT_F16_E64)
v_sin_f16_e64 = functools.partial(VOP3, VOP3Op.V_SIN_F16_E64)
v_cos_f16_e64 = functools.partial(VOP3, VOP3Op.V_COS_F16_E64)
v_exp_legacy_f32_e64 = functools.partial(VOP3, VOP3Op.V_EXP_LEGACY_F32_E64)
v_log_legacy_f32_e64 = functools.partial(VOP3, VOP3Op.V_LOG_LEGACY_F32_E64)
v_cvt_norm_i16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_NORM_I16_F16_E64)
v_cvt_norm_u16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_NORM_U16_F16_E64)
v_sat_pk_u8_i16_e64 = functools.partial(VOP3, VOP3Op.V_SAT_PK_U8_I16_E64)
v_swap_b32_e64 = functools.partial(VOP3, VOP3Op.V_SWAP_B32_E64)
v_accvgpr_mov_b32_e64 = functools.partial(VOP3, VOP3Op.V_ACCVGPR_MOV_B32_E64)
v_cvt_f32_fp8_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_FP8_E64)
v_cvt_f32_bf8_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_BF8_E64)
v_cvt_pk_f32_fp8_e64 = functools.partial(VOP3, VOP3Op.V_CVT_PK_F32_FP8_E64)
v_cvt_pk_f32_bf8_e64 = functools.partial(VOP3, VOP3Op.V_CVT_PK_F32_BF8_E64)
v_prng_b32_e64 = functools.partial(VOP3, VOP3Op.V_PRNG_B32_E64)
v_permlane16_swap_b32_e64 = functools.partial(VOP3, VOP3Op.V_PERMLANE16_SWAP_B32_E64)
v_permlane32_swap_b32_e64 = functools.partial(VOP3, VOP3Op.V_PERMLANE32_SWAP_B32_E64)
v_cvt_f32_bf16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_BF16_E64)
v_mad_i32_i24_e64 = functools.partial(VOP3, VOP3Op.V_MAD_I32_I24_E64)
v_mad_u32_u24_e64 = functools.partial(VOP3, VOP3Op.V_MAD_U32_U24_E64)
v_cubeid_f32_e64 = functools.partial(VOP3, VOP3Op.V_CUBEID_F32_E64)
v_cubesc_f32_e64 = functools.partial(VOP3, VOP3Op.V_CUBESC_F32_E64)
v_cubetc_f32_e64 = functools.partial(VOP3, VOP3Op.V_CUBETC_F32_E64)
v_cubema_f32_e64 = functools.partial(VOP3, VOP3Op.V_CUBEMA_F32_E64)
v_bfe_u32_e64 = functools.partial(VOP3, VOP3Op.V_BFE_U32_E64)
v_bfe_i32_e64 = functools.partial(VOP3, VOP3Op.V_BFE_I32_E64)
v_bfi_b32_e64 = functools.partial(VOP3, VOP3Op.V_BFI_B32_E64)
v_fma_f32_e64 = functools.partial(VOP3, VOP3Op.V_FMA_F32_E64)
v_fma_f64_e64 = functools.partial(VOP3, VOP3Op.V_FMA_F64_E64)
v_lerp_u8_e64 = functools.partial(VOP3, VOP3Op.V_LERP_U8_E64)
v_alignbit_b32_e64 = functools.partial(VOP3, VOP3Op.V_ALIGNBIT_B32_E64)
v_alignbyte_b32_e64 = functools.partial(VOP3, VOP3Op.V_ALIGNBYTE_B32_E64)
v_min3_f32_e64 = functools.partial(VOP3, VOP3Op.V_MIN3_F32_E64)
v_min3_i32_e64 = functools.partial(VOP3, VOP3Op.V_MIN3_I32_E64)
v_min3_u32_e64 = functools.partial(VOP3, VOP3Op.V_MIN3_U32_E64)
v_max3_f32_e64 = functools.partial(VOP3, VOP3Op.V_MAX3_F32_E64)
v_max3_i32_e64 = functools.partial(VOP3, VOP3Op.V_MAX3_I32_E64)
v_max3_u32_e64 = functools.partial(VOP3, VOP3Op.V_MAX3_U32_E64)
v_med3_f32_e64 = functools.partial(VOP3, VOP3Op.V_MED3_F32_E64)
v_med3_i32_e64 = functools.partial(VOP3, VOP3Op.V_MED3_I32_E64)
v_med3_u32_e64 = functools.partial(VOP3, VOP3Op.V_MED3_U32_E64)
v_sad_u8_e64 = functools.partial(VOP3, VOP3Op.V_SAD_U8_E64)
v_sad_hi_u8_e64 = functools.partial(VOP3, VOP3Op.V_SAD_HI_U8_E64)
v_sad_u16_e64 = functools.partial(VOP3, VOP3Op.V_SAD_U16_E64)
v_sad_u32_e64 = functools.partial(VOP3, VOP3Op.V_SAD_U32_E64)
v_cvt_pk_u8_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_PK_U8_F32_E64)
v_div_fixup_f32_e64 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_F32_E64)
v_div_fixup_f64_e64 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_F64_E64)
v_div_fmas_f32_e64 = functools.partial(VOP3, VOP3Op.V_DIV_FMAS_F32_E64)
v_div_fmas_f64_e64 = functools.partial(VOP3, VOP3Op.V_DIV_FMAS_F64_E64)
v_msad_u8_e64 = functools.partial(VOP3, VOP3Op.V_MSAD_U8_E64)
v_qsad_pk_u16_u8_e64 = functools.partial(VOP3, VOP3Op.V_QSAD_PK_U16_U8_E64)
v_mqsad_pk_u16_u8_e64 = functools.partial(VOP3, VOP3Op.V_MQSAD_PK_U16_U8_E64)
v_mqsad_u32_u8_e64 = functools.partial(VOP3, VOP3Op.V_MQSAD_U32_U8_E64)
v_mad_legacy_f16_e64 = functools.partial(VOP3, VOP3Op.V_MAD_LEGACY_F16_E64)
v_mad_legacy_u16_e64 = functools.partial(VOP3, VOP3Op.V_MAD_LEGACY_U16_E64)
v_mad_legacy_i16_e64 = functools.partial(VOP3, VOP3Op.V_MAD_LEGACY_I16_E64)
v_perm_b32_e64 = functools.partial(VOP3, VOP3Op.V_PERM_B32_E64)
v_fma_legacy_f16_e64 = functools.partial(VOP3, VOP3Op.V_FMA_LEGACY_F16_E64)
v_div_fixup_legacy_f16_e64 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_LEGACY_F16_E64)
v_cvt_pkaccum_u8_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_PKACCUM_U8_F32_E64)
v_mad_u32_u16_e64 = functools.partial(VOP3, VOP3Op.V_MAD_U32_U16_E64)
v_mad_i32_i16_e64 = functools.partial(VOP3, VOP3Op.V_MAD_I32_I16_E64)
v_xad_u32_e64 = functools.partial(VOP3, VOP3Op.V_XAD_U32_E64)
v_min3_f16_e64 = functools.partial(VOP3, VOP3Op.V_MIN3_F16_E64)
v_min3_i16_e64 = functools.partial(VOP3, VOP3Op.V_MIN3_I16_E64)
v_min3_u16_e64 = functools.partial(VOP3, VOP3Op.V_MIN3_U16_E64)
v_max3_f16_e64 = functools.partial(VOP3, VOP3Op.V_MAX3_F16_E64)
v_max3_i16_e64 = functools.partial(VOP3, VOP3Op.V_MAX3_I16_E64)
v_max3_u16_e64 = functools.partial(VOP3, VOP3Op.V_MAX3_U16_E64)
v_med3_f16_e64 = functools.partial(VOP3, VOP3Op.V_MED3_F16_E64)
v_med3_i16_e64 = functools.partial(VOP3, VOP3Op.V_MED3_I16_E64)
v_med3_u16_e64 = functools.partial(VOP3, VOP3Op.V_MED3_U16_E64)
v_lshl_add_u32_e64 = functools.partial(VOP3, VOP3Op.V_LSHL_ADD_U32_E64)
v_add_lshl_u32_e64 = functools.partial(VOP3, VOP3Op.V_ADD_LSHL_U32_E64)
v_add3_u32_e64 = functools.partial(VOP3, VOP3Op.V_ADD3_U32_E64)
v_lshl_or_b32 = functools.partial(VOP3, VOP3Op.V_LSHL_OR_B32)
v_and_or_b32 = functools.partial(VOP3, VOP3Op.V_AND_OR_B32)
v_or3_b32 = functools.partial(VOP3, VOP3Op.V_OR3_B32)
v_mad_f16 = functools.partial(VOP3, VOP3Op.V_MAD_F16)
v_mad_u16 = functools.partial(VOP3, VOP3Op.V_MAD_U16)
v_mad_i16 = functools.partial(VOP3, VOP3Op.V_MAD_I16)
v_fma_f16 = functools.partial(VOP3, VOP3Op.V_FMA_F16)
v_div_fixup_f16 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_F16)
v_lshl_add_u64 = functools.partial(VOP3, VOP3Op.V_LSHL_ADD_U64)
v_bitop3_b16 = functools.partial(VOP3, VOP3Op.V_BITOP3_B16)
v_bitop3_b32 = functools.partial(VOP3, VOP3Op.V_BITOP3_B32)
v_cvt_scalef32_pk_fp8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_FP8_F32)
v_cvt_scalef32_pk_bf8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_BF8_F32)
v_cvt_scalef32_sr_fp8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_FP8_F32)
v_cvt_scalef32_sr_bf8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_BF8_F32)
v_cvt_scalef32_pk_f32_fp8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_F32_FP8)
v_cvt_scalef32_pk_f32_bf8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_F32_BF8)
v_cvt_scalef32_f32_fp8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_F32_FP8)
v_cvt_scalef32_f32_bf8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_F32_BF8)
v_cvt_scalef32_pk_fp4_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_FP4_F32)
v_cvt_scalef32_sr_pk_fp4_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_F32)
v_cvt_scalef32_pk_f32_fp4 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_F32_FP4)
v_cvt_scalef32_pk_fp8_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_FP8_F16)
v_cvt_scalef32_pk_bf8_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_BF8_F16)
v_cvt_scalef32_sr_fp8_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_FP8_F16)
v_cvt_scalef32_sr_bf8_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_BF8_F16)
v_cvt_scalef32_pk_fp8_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_FP8_BF16)
v_cvt_scalef32_pk_bf8_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_BF8_BF16)
v_cvt_scalef32_sr_fp8_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_FP8_BF16)
v_cvt_scalef32_sr_bf8_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_BF8_BF16)
v_cvt_scalef32_pk_f16_fp8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_F16_FP8)
v_cvt_scalef32_pk_f16_bf8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_F16_BF8)
v_cvt_scalef32_f16_fp8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_F16_FP8)
v_cvt_scalef32_f16_bf8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_F16_BF8)
v_cvt_scalef32_pk_fp4_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_FP4_F16)
v_cvt_scalef32_pk_fp4_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_FP4_BF16)
v_cvt_scalef32_sr_pk_fp4_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_F16)
v_cvt_scalef32_sr_pk_fp4_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK_FP4_BF16)
v_cvt_scalef32_pk_f16_fp4 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_F16_FP4)
v_cvt_scalef32_pk_bf16_fp4 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_BF16_FP4)
v_cvt_scalef32_2xpk16_fp6_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_2XPK16_FP6_F32)
v_cvt_scalef32_2xpk16_bf6_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_2XPK16_BF6_F32)
v_cvt_scalef32_sr_pk32_fp6_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_F32)
v_cvt_scalef32_sr_pk32_bf6_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_F32)
v_cvt_scalef32_pk32_f32_fp6 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_F32_FP6)
v_cvt_scalef32_pk32_f32_bf6 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_F32_BF6)
v_cvt_scalef32_pk32_fp6_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_FP6_F16)
v_cvt_scalef32_pk32_fp6_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_FP6_BF16)
v_cvt_scalef32_pk32_bf6_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_BF6_F16)
v_cvt_scalef32_pk32_bf6_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_BF6_BF16)
v_cvt_scalef32_sr_pk32_fp6_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_F16)
v_cvt_scalef32_sr_pk32_fp6_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK32_FP6_BF16)
v_cvt_scalef32_sr_pk32_bf6_f16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_F16)
v_cvt_scalef32_sr_pk32_bf6_bf16 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_SR_PK32_BF6_BF16)
v_cvt_scalef32_pk32_f16_fp6 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_F16_FP6)
v_cvt_scalef32_pk32_bf16_fp6 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_BF16_FP6)
v_cvt_scalef32_pk32_f16_bf6 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_F16_BF6)
v_cvt_scalef32_pk32_bf16_bf6 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK32_BF16_BF6)
v_ashr_pk_i8_i32 = functools.partial(VOP3, VOP3Op.V_ASHR_PK_I8_I32)
v_ashr_pk_u8_i32 = functools.partial(VOP3, VOP3Op.V_ASHR_PK_U8_I32)
v_cvt_pk_f16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_F16_F32)
v_cvt_pk_bf16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_BF16_F32)
v_cvt_scalef32_pk_bf16_fp8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_BF16_FP8)
v_cvt_scalef32_pk_bf16_bf8 = functools.partial(VOP3, VOP3Op.V_CVT_SCALEF32_PK_BF16_BF8)
v_add_f64 = functools.partial(VOP3, VOP3Op.V_ADD_F64)
v_mul_f64 = functools.partial(VOP3, VOP3Op.V_MUL_F64)
v_min_f64 = functools.partial(VOP3, VOP3Op.V_MIN_F64)
v_max_f64 = functools.partial(VOP3, VOP3Op.V_MAX_F64)
v_ldexp_f64 = functools.partial(VOP3, VOP3Op.V_LDEXP_F64)
v_mul_lo_u32 = functools.partial(VOP3, VOP3Op.V_MUL_LO_U32)
v_mul_hi_u32 = functools.partial(VOP3, VOP3Op.V_MUL_HI_U32)
v_mul_hi_i32 = functools.partial(VOP3, VOP3Op.V_MUL_HI_I32)
v_ldexp_f32 = functools.partial(VOP3, VOP3Op.V_LDEXP_F32)
v_readlane_b32 = functools.partial(VOP3, VOP3Op.V_READLANE_B32)
v_writelane_b32 = functools.partial(VOP3, VOP3Op.V_WRITELANE_B32)
v_bcnt_u32_b32 = functools.partial(VOP3, VOP3Op.V_BCNT_U32_B32)
v_mbcnt_lo_u32_b32 = functools.partial(VOP3, VOP3Op.V_MBCNT_LO_U32_B32)
v_mbcnt_hi_u32_b32 = functools.partial(VOP3, VOP3Op.V_MBCNT_HI_U32_B32)
v_lshlrev_b64 = functools.partial(VOP3, VOP3Op.V_LSHLREV_B64)
v_lshrrev_b64 = functools.partial(VOP3, VOP3Op.V_LSHRREV_B64)
v_ashrrev_i64 = functools.partial(VOP3, VOP3Op.V_ASHRREV_I64)
v_trig_preop_f64 = functools.partial(VOP3, VOP3Op.V_TRIG_PREOP_F64)
v_bfm_b32 = functools.partial(VOP3, VOP3Op.V_BFM_B32)
v_cvt_pknorm_i16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PKNORM_I16_F32)
v_cvt_pknorm_u16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PKNORM_U16_F32)
v_cvt_pkrtz_f16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PKRTZ_F16_F32)
v_cvt_pk_u16_u32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_U16_U32)
v_cvt_pk_i16_i32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_I16_I32)
v_cvt_pknorm_i16_f16 = functools.partial(VOP3, VOP3Op.V_CVT_PKNORM_I16_F16)
v_cvt_pknorm_u16_f16 = functools.partial(VOP3, VOP3Op.V_CVT_PKNORM_U16_F16)
v_add_i32 = functools.partial(VOP3, VOP3Op.V_ADD_I32)
v_sub_i32 = functools.partial(VOP3, VOP3Op.V_SUB_I32)
v_add_i16 = functools.partial(VOP3, VOP3Op.V_ADD_I16)
v_sub_i16 = functools.partial(VOP3, VOP3Op.V_SUB_I16)
v_pack_b32_f16 = functools.partial(VOP3, VOP3Op.V_PACK_B32_F16)
v_mul_legacy_f32 = functools.partial(VOP3, VOP3Op.V_MUL_LEGACY_F32)
v_cvt_pk_fp8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_FP8_F32)
v_cvt_pk_bf8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_BF8_F32)
v_cvt_sr_fp8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SR_FP8_F32)
v_cvt_sr_bf8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SR_BF8_F32)
v_cvt_sr_f16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SR_F16_F32)
v_cvt_sr_bf16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_SR_BF16_F32)
v_minimum3_f32 = functools.partial(VOP3, VOP3Op.V_MINIMUM3_F32)
v_maximum3_f32 = functools.partial(VOP3, VOP3Op.V_MAXIMUM3_F32)
v_pk_mad_i16 = functools.partial(VOP3P, VOP3POp.V_PK_MAD_I16)
v_pk_mul_lo_u16 = functools.partial(VOP3P, VOP3POp.V_PK_MUL_LO_U16)
v_pk_add_i16 = functools.partial(VOP3P, VOP3POp.V_PK_ADD_I16)
v_pk_sub_i16 = functools.partial(VOP3P, VOP3POp.V_PK_SUB_I16)
v_pk_lshlrev_b16 = functools.partial(VOP3P, VOP3POp.V_PK_LSHLREV_B16)
v_pk_lshrrev_b16 = functools.partial(VOP3P, VOP3POp.V_PK_LSHRREV_B16)
v_pk_ashrrev_i16 = functools.partial(VOP3P, VOP3POp.V_PK_ASHRREV_I16)
v_pk_max_i16 = functools.partial(VOP3P, VOP3POp.V_PK_MAX_I16)
v_pk_min_i16 = functools.partial(VOP3P, VOP3POp.V_PK_MIN_I16)
v_pk_mad_u16 = functools.partial(VOP3P, VOP3POp.V_PK_MAD_U16)
v_pk_add_u16 = functools.partial(VOP3P, VOP3POp.V_PK_ADD_U16)
v_pk_sub_u16 = functools.partial(VOP3P, VOP3POp.V_PK_SUB_U16)
v_pk_max_u16 = functools.partial(VOP3P, VOP3POp.V_PK_MAX_U16)
v_pk_min_u16 = functools.partial(VOP3P, VOP3POp.V_PK_MIN_U16)
v_pk_fma_f16 = functools.partial(VOP3P, VOP3POp.V_PK_FMA_F16)
v_pk_add_f16 = functools.partial(VOP3P, VOP3POp.V_PK_ADD_F16)
v_pk_mul_f16 = functools.partial(VOP3P, VOP3POp.V_PK_MUL_F16)
v_pk_min_f16 = functools.partial(VOP3P, VOP3POp.V_PK_MIN_F16)
v_pk_max_f16 = functools.partial(VOP3P, VOP3POp.V_PK_MAX_F16)
v_dot2_f32_bf16 = functools.partial(VOP3P, VOP3POp.V_DOT2_F32_BF16)
v_pk_minimum3_f16 = functools.partial(VOP3P, VOP3POp.V_PK_MINIMUM3_F16)
v_pk_maximum3_f16 = functools.partial(VOP3P, VOP3POp.V_PK_MAXIMUM3_F16)
v_mad_mix_f32 = functools.partial(VOP3P, VOP3POp.V_MAD_MIX_F32)
v_mad_mixlo_f16 = functools.partial(VOP3P, VOP3POp.V_MAD_MIXLO_F16)
v_mad_mixhi_f16 = functools.partial(VOP3P, VOP3POp.V_MAD_MIXHI_F16)
v_dot2_f32_f16 = functools.partial(VOP3P, VOP3POp.V_DOT2_F32_F16)
v_dot2_i32_i16 = functools.partial(VOP3P, VOP3POp.V_DOT2_I32_I16)
v_dot2_u32_u16 = functools.partial(VOP3P, VOP3POp.V_DOT2_U32_U16)
v_dot4_i32_i8 = functools.partial(VOP3P, VOP3POp.V_DOT4_I32_I8)
v_dot4_u32_u8 = functools.partial(VOP3P, VOP3POp.V_DOT4_U32_U8)
v_dot8_i32_i4 = functools.partial(VOP3P, VOP3POp.V_DOT8_I32_I4)
v_dot8_u32_u4 = functools.partial(VOP3P, VOP3POp.V_DOT8_U32_U4)
v_mfma_ld_scale_b32 = functools.partial(VOP3P, VOP3POp.V_MFMA_LD_SCALE_B32)
v_mfma_f32_16x16x128_f8f6f4 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X128_F8F6F4)
v_mfma_f32_32x32x64_f8f6f4 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X64_F8F6F4)
v_pk_fma_f32 = functools.partial(VOP3P, VOP3POp.V_PK_FMA_F32)
v_pk_mul_f32 = functools.partial(VOP3P, VOP3POp.V_PK_MUL_F32)
v_pk_add_f32 = functools.partial(VOP3P, VOP3POp.V_PK_ADD_F32)
v_pk_mov_b32 = functools.partial(VOP3P, VOP3POp.V_PK_MOV_B32)
v_mfma_f32_16x16x32_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X32_BF16)
v_mfma_i32_16x16x64_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_16X16X64_I8)
v_mfma_f32_32x32x16_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X16_BF16)
v_mfma_i32_32x32x32_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_32X32X32_I8)
v_smfmac_f32_16x16x64_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X64_BF16)
v_smfmac_i32_16x16x128_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_I32_16X16X128_I8)
v_smfmac_f32_16x16x128_bf8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X128_BF8_BF8)
v_smfmac_f32_16x16x128_bf8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X128_BF8_FP8)
v_smfmac_f32_16x16x128_fp8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X128_FP8_BF8)
v_mfma_f32_16x16x8_xf32 = functools.partial(VOP3P, VOP3POp.V_MFMA_F32_16X16X8_XF32)
v_mfma_f32_32x32x4_xf32 = functools.partial(VOP3P, VOP3POp.V_MFMA_F32_32X32X4_XF32)
v_mfma_f32_32x32x1_2b_f32 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X1_2B_F32)
v_mfma_f32_16x16x1_4b_f32 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X1_4B_F32)
v_mfma_f32_4x4x1_16b_f32 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_4X4X1_16B_F32)
v_smfmac_f32_16x16x128_fp8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X128_FP8_FP8)
v_mfma_f32_32x32x2_f32 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X2_F32)
v_mfma_f32_16x16x4_f32 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X4_F32)
v_smfmac_f32_32x32x32_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X32_BF16)
v_smfmac_i32_32x32x64_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_I32_32X32X64_I8)
v_mfma_f32_32x32x4_2b_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X4_2B_F16)
v_mfma_f32_16x16x4_4b_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X4_4B_F16)
v_mfma_f32_4x4x4_16b_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_4X4X4_16B_F16)
v_smfmac_f32_32x32x64_bf8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X64_BF8_BF8)
v_mfma_f32_32x32x8_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X8_F16)
v_mfma_f32_16x16x16_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X16_F16)
v_smfmac_f32_32x32x64_bf8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X64_BF8_FP8)
v_smfmac_f32_32x32x64_fp8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X64_FP8_BF8)
v_mfma_i32_32x32x4_2b_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_32X32X4_2B_I8)
v_mfma_i32_16x16x4_4b_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_16X16X4_4B_I8)
v_mfma_i32_4x4x4_16b_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_4X4X4_16B_I8)
v_smfmac_f32_32x32x64_fp8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X64_FP8_FP8)
v_mfma_f32_16x16x32_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X32_F16)
v_mfma_f32_32x32x16_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X16_F16)
v_mfma_i32_32x32x16_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_32X32X16_I8)
v_mfma_i32_16x16x32_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_I32_16X16X32_I8)
v_accvgpr_read = functools.partial(VOP3P, VOP3POp.V_ACCVGPR_READ)
v_accvgpr_write = functools.partial(VOP3P, VOP3POp.V_ACCVGPR_WRITE)
v_smfmac_f32_16x16x64_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X64_F16)
v_smfmac_f32_32x32x32_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X32_F16)
v_mfma_f32_32x32x4_2b_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X4_2B_BF16)
v_mfma_f32_16x16x4_4b_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X4_4B_BF16)
v_mfma_f32_4x4x4_16b_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_4X4X4_16B_BF16)
v_mfma_f32_32x32x8_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X8_BF16)
v_mfma_f32_16x16x16_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X16_BF16)
v_smfmac_f32_16x16x32_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X32_F16)
v_smfmac_f32_32x32x16_f16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X16_F16)
v_smfmac_f32_16x16x32_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X32_BF16)
v_smfmac_f32_32x32x16_bf16 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X16_BF16)
v_smfmac_i32_16x16x64_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_I32_16X16X64_I8)
v_smfmac_i32_32x32x32_i8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_I32_32X32X32_I8)
v_mfma_f64_16x16x4_f64 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F64_16X16X4_F64)
v_mfma_f64_4x4x4_4b_f64 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F64_4X4X4_4B_F64)
v_mfma_f32_16x16x32_bf8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X32_BF8_BF8)
v_mfma_f32_16x16x32_bf8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X32_BF8_FP8)
v_mfma_f32_16x16x32_fp8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X32_FP8_BF8)
v_mfma_f32_16x16x32_fp8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_16X16X32_FP8_FP8)
v_mfma_f32_32x32x16_bf8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X16_BF8_BF8)
v_mfma_f32_32x32x16_bf8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X16_BF8_FP8)
v_mfma_f32_32x32x16_fp8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X16_FP8_BF8)
v_mfma_f32_32x32x16_fp8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_MFMA_F32_32X32X16_FP8_FP8)
v_smfmac_f32_16x16x64_bf8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X64_BF8_BF8)
v_smfmac_f32_16x16x64_bf8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X64_BF8_FP8)
v_smfmac_f32_16x16x64_fp8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X64_FP8_BF8)
v_smfmac_f32_16x16x64_fp8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_16X16X64_FP8_FP8)
v_smfmac_f32_32x32x32_bf8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X32_BF8_BF8)
v_smfmac_f32_32x32x32_bf8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X32_BF8_FP8)
v_smfmac_f32_32x32x32_fp8_bf8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X32_FP8_BF8)
v_smfmac_f32_32x32x32_fp8_fp8 = functools.partial(VOP3P_MFMA, VOP3POp.V_SMFMAC_F32_32X32X32_FP8_FP8)
v_mfma_scale_f32_16x16x128_f8f6f4 = functools.partial(VOP3PX2, VOP3PX2Op.V_MFMA_SCALE_F32_16X16X128_F8F6F4)
v_mfma_scale_f32_32x32x64_f8f6f4 = functools.partial(VOP3PX2, VOP3PX2Op.V_MFMA_SCALE_F32_32X32X64_F8F6F4)
v_add_co_u32 = functools.partial(VOP3SD, VOP3SDOp.V_ADD_CO_U32)
v_sub_co_u32 = functools.partial(VOP3SD, VOP3SDOp.V_SUB_CO_U32)
v_subrev_co_u32 = functools.partial(VOP3SD, VOP3SDOp.V_SUBREV_CO_U32)
v_addc_co_u32 = functools.partial(VOP3SD, VOP3SDOp.V_ADDC_CO_U32)
v_subb_co_u32 = functools.partial(VOP3SD, VOP3SDOp.V_SUBB_CO_U32)
v_subbrev_co_u32 = functools.partial(VOP3SD, VOP3SDOp.V_SUBBREV_CO_U32)
v_div_scale_f32 = functools.partial(VOP3SD, VOP3SDOp.V_DIV_SCALE_F32)
v_div_scale_f64 = functools.partial(VOP3SD, VOP3SDOp.V_DIV_SCALE_F64)
v_mad_u64_u32 = functools.partial(VOP3SD, VOP3SDOp.V_MAD_U64_U32)
v_mad_i64_i32 = functools.partial(VOP3SD, VOP3SDOp.V_MAD_I64_I32)
v_cmp_class_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F32_E32)
v_cmpx_class_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F32_E32)
v_cmp_class_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F64_E32)
v_cmpx_class_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F64_E32)
v_cmp_class_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F16_E32)
v_cmpx_class_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F16_E32)
v_cmp_f_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_F16_E32)
v_cmp_lt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_F16_E32)
v_cmp_eq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_F16_E32)
v_cmp_le_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_F16_E32)
v_cmp_gt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_F16_E32)
v_cmp_lg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LG_F16_E32)
v_cmp_ge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_F16_E32)
v_cmp_o_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_O_F16_E32)
v_cmp_u_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_U_F16_E32)
v_cmp_nge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGE_F16_E32)
v_cmp_nlg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLG_F16_E32)
v_cmp_ngt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGT_F16_E32)
v_cmp_nle_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLE_F16_E32)
v_cmp_neq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NEQ_F16_E32)
v_cmp_nlt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLT_F16_E32)
v_cmp_tru_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_TRU_F16_E32)
v_cmpx_f_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_F16_E32)
v_cmpx_lt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_F16_E32)
v_cmpx_eq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_F16_E32)
v_cmpx_le_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_F16_E32)
v_cmpx_gt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_F16_E32)
v_cmpx_lg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LG_F16_E32)
v_cmpx_ge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_F16_E32)
v_cmpx_o_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_O_F16_E32)
v_cmpx_u_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_U_F16_E32)
v_cmpx_nge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGE_F16_E32)
v_cmpx_nlg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLG_F16_E32)
v_cmpx_ngt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGT_F16_E32)
v_cmpx_nle_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLE_F16_E32)
v_cmpx_neq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NEQ_F16_E32)
v_cmpx_nlt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLT_F16_E32)
v_cmpx_tru_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_TRU_F16_E32)
v_cmp_f_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_F32_E32)
v_cmp_lt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_F32_E32)
v_cmp_eq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_F32_E32)
v_cmp_le_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_F32_E32)
v_cmp_gt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_F32_E32)
v_cmp_lg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LG_F32_E32)
v_cmp_ge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_F32_E32)
v_cmp_o_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_O_F32_E32)
v_cmp_u_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_U_F32_E32)
v_cmp_nge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGE_F32_E32)
v_cmp_nlg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLG_F32_E32)
v_cmp_ngt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGT_F32_E32)
v_cmp_nle_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLE_F32_E32)
v_cmp_neq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NEQ_F32_E32)
v_cmp_nlt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLT_F32_E32)
v_cmp_tru_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_TRU_F32_E32)
v_cmpx_f_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_F32_E32)
v_cmpx_lt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_F32_E32)
v_cmpx_eq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_F32_E32)
v_cmpx_le_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_F32_E32)
v_cmpx_gt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_F32_E32)
v_cmpx_lg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LG_F32_E32)
v_cmpx_ge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_F32_E32)
v_cmpx_o_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_O_F32_E32)
v_cmpx_u_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_U_F32_E32)
v_cmpx_nge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGE_F32_E32)
v_cmpx_nlg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLG_F32_E32)
v_cmpx_ngt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGT_F32_E32)
v_cmpx_nle_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLE_F32_E32)
v_cmpx_neq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NEQ_F32_E32)
v_cmpx_nlt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLT_F32_E32)
v_cmpx_tru_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_TRU_F32_E32)
v_cmp_f_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_F64_E32)
v_cmp_lt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_F64_E32)
v_cmp_eq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_F64_E32)
v_cmp_le_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_F64_E32)
v_cmp_gt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_F64_E32)
v_cmp_lg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LG_F64_E32)
v_cmp_ge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_F64_E32)
v_cmp_o_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_O_F64_E32)
v_cmp_u_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_U_F64_E32)
v_cmp_nge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGE_F64_E32)
v_cmp_nlg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLG_F64_E32)
v_cmp_ngt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGT_F64_E32)
v_cmp_nle_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLE_F64_E32)
v_cmp_neq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NEQ_F64_E32)
v_cmp_nlt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLT_F64_E32)
v_cmp_tru_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_TRU_F64_E32)
v_cmpx_f_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_F64_E32)
v_cmpx_lt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_F64_E32)
v_cmpx_eq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_F64_E32)
v_cmpx_le_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_F64_E32)
v_cmpx_gt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_F64_E32)
v_cmpx_lg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LG_F64_E32)
v_cmpx_ge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_F64_E32)
v_cmpx_o_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_O_F64_E32)
v_cmpx_u_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_U_F64_E32)
v_cmpx_nge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGE_F64_E32)
v_cmpx_nlg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLG_F64_E32)
v_cmpx_ngt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGT_F64_E32)
v_cmpx_nle_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLE_F64_E32)
v_cmpx_neq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NEQ_F64_E32)
v_cmpx_nlt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLT_F64_E32)
v_cmpx_tru_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_TRU_F64_E32)
v_cmp_f_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_I16_E32)
v_cmp_lt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_I16_E32)
v_cmp_eq_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_I16_E32)
v_cmp_le_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_I16_E32)
v_cmp_gt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_I16_E32)
v_cmp_ne_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_I16_E32)
v_cmp_ge_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_I16_E32)
v_cmp_t_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_I16_E32)
v_cmp_f_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_U16_E32)
v_cmp_lt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_U16_E32)
v_cmp_eq_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_U16_E32)
v_cmp_le_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_U16_E32)
v_cmp_gt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_U16_E32)
v_cmp_ne_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_U16_E32)
v_cmp_ge_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_U16_E32)
v_cmp_t_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_U16_E32)
v_cmpx_f_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_I16_E32)
v_cmpx_lt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_I16_E32)
v_cmpx_eq_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_I16_E32)
v_cmpx_le_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_I16_E32)
v_cmpx_gt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_I16_E32)
v_cmpx_ne_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_I16_E32)
v_cmpx_ge_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_I16_E32)
v_cmpx_t_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_I16_E32)
v_cmpx_f_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_U16_E32)
v_cmpx_lt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_U16_E32)
v_cmpx_eq_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_U16_E32)
v_cmpx_le_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_U16_E32)
v_cmpx_gt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_U16_E32)
v_cmpx_ne_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_U16_E32)
v_cmpx_ge_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_U16_E32)
v_cmpx_t_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_U16_E32)
v_cmp_f_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_I32_E32)
v_cmp_lt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_I32_E32)
v_cmp_eq_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_I32_E32)
v_cmp_le_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_I32_E32)
v_cmp_gt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_I32_E32)
v_cmp_ne_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_I32_E32)
v_cmp_ge_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_I32_E32)
v_cmp_t_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_I32_E32)
v_cmp_f_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_U32_E32)
v_cmp_lt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_U32_E32)
v_cmp_eq_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_U32_E32)
v_cmp_le_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_U32_E32)
v_cmp_gt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_U32_E32)
v_cmp_ne_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_U32_E32)
v_cmp_ge_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_U32_E32)
v_cmp_t_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_U32_E32)
v_cmpx_f_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_I32_E32)
v_cmpx_lt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_I32_E32)
v_cmpx_eq_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_I32_E32)
v_cmpx_le_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_I32_E32)
v_cmpx_gt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_I32_E32)
v_cmpx_ne_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_I32_E32)
v_cmpx_ge_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_I32_E32)
v_cmpx_t_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_I32_E32)
v_cmpx_f_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_U32_E32)
v_cmpx_lt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_U32_E32)
v_cmpx_eq_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_U32_E32)
v_cmpx_le_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_U32_E32)
v_cmpx_gt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_U32_E32)
v_cmpx_ne_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_U32_E32)
v_cmpx_ge_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_U32_E32)
v_cmpx_t_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_U32_E32)
v_cmp_f_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_I64_E32)
v_cmp_lt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_I64_E32)
v_cmp_eq_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_I64_E32)
v_cmp_le_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_I64_E32)
v_cmp_gt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_I64_E32)
v_cmp_ne_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_I64_E32)
v_cmp_ge_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_I64_E32)
v_cmp_t_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_I64_E32)
v_cmp_f_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_U64_E32)
v_cmp_lt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_U64_E32)
v_cmp_eq_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_U64_E32)
v_cmp_le_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_U64_E32)
v_cmp_gt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_U64_E32)
v_cmp_ne_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_U64_E32)
v_cmp_ge_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_U64_E32)
v_cmp_t_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_U64_E32)
v_cmpx_f_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_I64_E32)
v_cmpx_lt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_I64_E32)
v_cmpx_eq_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_I64_E32)
v_cmpx_le_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_I64_E32)
v_cmpx_gt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_I64_E32)
v_cmpx_ne_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_I64_E32)
v_cmpx_ge_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_I64_E32)
v_cmpx_t_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_I64_E32)
v_cmpx_f_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_U64_E32)
v_cmpx_lt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_U64_E32)
v_cmpx_eq_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_U64_E32)
v_cmpx_le_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_U64_E32)
v_cmpx_gt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_U64_E32)
v_cmpx_ne_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_U64_E32)
v_cmpx_ge_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_U64_E32)
v_cmpx_t_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_U64_E32)