# autogenerated from AMD ISA XML - do not edit # ruff: noqa: E501,F401 from tinygrad.renderer.amd.dsl import BitField, DPP, DPP16, EXEC, EXECZ, EXEC_HI, EXEC_LO, EnumBitField, FixedBitField, INV_2PI, Inst, LIT, M0, NULL, OFF, SBaseField, SCC, SDWA, SGPRField, SRC_LDS_DIRECT, SRsrcField, SSrcField, SrcField, VCC, VCCZ, VCC_HI, VCC_LO, VDSTYField, VGPRField, s, src, ttmp, v from tinygrad.runtime.autogen.amd.rdna3.enum import DSOp, EXPOp, FLATOp, GLOBALOp, LDSDIROp, MIMGOp, MTBUFOp, MUBUFOp, SCRATCHOp, SMEMOp, SOP1Op, SOP2Op, SOPCOp, SOPKOp, SOPPOp, VINTERPOp, VOP1Op, VOP2Op, VOP3Op, VOP3POp, VOP3SDOp, VOPCOp, VOPDOp, HWREG, MSG import functools class DS(Inst): encoding = FixedBitField(31, 26, 0b110110) op = EnumBitField(25, 18, 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_STORE_B32, DSOp.DS_STORE_2ADDR_B32, DSOp.DS_STORE_2ADDR_STRIDE64_B32, DSOp.DS_CMPSTORE_B32, DSOp.DS_CMPSTORE_F32, DSOp.DS_MIN_F32, DSOp.DS_MAX_F32, DSOp.DS_NOP, DSOp.DS_ADD_F32, DSOp.DS_GWS_SEMA_RELEASE_ALL, DSOp.DS_GWS_INIT, DSOp.DS_GWS_SEMA_V, DSOp.DS_GWS_SEMA_BR, DSOp.DS_GWS_SEMA_P, DSOp.DS_GWS_BARRIER, DSOp.DS_STORE_B8, DSOp.DS_STORE_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_STOREXCHG_RTN_B32, DSOp.DS_STOREXCHG_2ADDR_RTN_B32, DSOp.DS_STOREXCHG_2ADDR_STRIDE64_RTN_B32, DSOp.DS_CMPSTORE_RTN_B32, DSOp.DS_CMPSTORE_RTN_F32, DSOp.DS_MIN_RTN_F32, DSOp.DS_MAX_RTN_F32, DSOp.DS_WRAP_RTN_B32, DSOp.DS_SWIZZLE_B32, DSOp.DS_LOAD_B32, DSOp.DS_LOAD_2ADDR_B32, DSOp.DS_LOAD_2ADDR_STRIDE64_B32, DSOp.DS_LOAD_I8, DSOp.DS_LOAD_U8, DSOp.DS_LOAD_I16, DSOp.DS_LOAD_U16, DSOp.DS_CONSUME, DSOp.DS_APPEND, DSOp.DS_ORDERED_COUNT, 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_STORE_B64, DSOp.DS_STORE_2ADDR_B64, DSOp.DS_STORE_2ADDR_STRIDE64_B64, DSOp.DS_CMPSTORE_B64, DSOp.DS_CMPSTORE_F64, DSOp.DS_MIN_F64, DSOp.DS_MAX_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_STOREXCHG_RTN_B64, DSOp.DS_STOREXCHG_2ADDR_RTN_B64, DSOp.DS_STOREXCHG_2ADDR_STRIDE64_RTN_B64, DSOp.DS_CMPSTORE_RTN_B64, DSOp.DS_CMPSTORE_RTN_F64, DSOp.DS_MIN_RTN_F64, DSOp.DS_MAX_RTN_F64, DSOp.DS_LOAD_B64, DSOp.DS_LOAD_2ADDR_B64, DSOp.DS_LOAD_2ADDR_STRIDE64_B64, DSOp.DS_ADD_RTN_F32, DSOp.DS_ADD_GS_REG_RTN, DSOp.DS_SUB_GS_REG_RTN, DSOp.DS_CONDXCHG32_RTN_B64, DSOp.DS_STORE_B8_D16_HI, DSOp.DS_STORE_B16_D16_HI, DSOp.DS_LOAD_U8_D16, DSOp.DS_LOAD_U8_D16_HI, DSOp.DS_LOAD_I8_D16, DSOp.DS_LOAD_I8_D16_HI, DSOp.DS_LOAD_U16_D16, DSOp.DS_LOAD_U16_D16_HI, DSOp.DS_BVH_STACK_RTN_B32, DSOp.DS_STORE_ADDTID_B32, DSOp.DS_LOAD_ADDTID_B32, DSOp.DS_PERMUTE_B32, DSOp.DS_BPERMUTE_B32, DSOp.DS_STORE_B96, DSOp.DS_STORE_B128, DSOp.DS_LOAD_B96, DSOp.DS_LOAD_B128}) vdst = VGPRField(63, 56) addr = VGPRField(39, 32) data0 = VGPRField(47, 40) data1 = VGPRField(55, 48) offset0 = BitField(7, 0) offset1 = BitField(15, 8) gds = BitField(17, 17) class EXP(Inst): encoding = FixedBitField(31, 26, 0b111110) vsrc0 = VGPRField(39, 32) vsrc1 = VGPRField(47, 40) vsrc2 = VGPRField(55, 48) vsrc3 = VGPRField(63, 56) en = BitField(3, 0) target = BitField(9, 4) done = BitField(11, 11) row = BitField(13, 13) class FLAT(Inst): encoding = FixedBitField(31, 26, 0b110111) op = EnumBitField(24, 18, FLATOp, {FLATOp.FLAT_LOAD_U8, FLATOp.FLAT_LOAD_I8, FLATOp.FLAT_LOAD_U16, FLATOp.FLAT_LOAD_I16, FLATOp.FLAT_LOAD_B32, FLATOp.FLAT_LOAD_B64, FLATOp.FLAT_LOAD_B96, FLATOp.FLAT_LOAD_B128, FLATOp.FLAT_STORE_B8, FLATOp.FLAT_STORE_B16, FLATOp.FLAT_STORE_B32, FLATOp.FLAT_STORE_B64, FLATOp.FLAT_STORE_B96, FLATOp.FLAT_STORE_B128, FLATOp.FLAT_LOAD_D16_U8, FLATOp.FLAT_LOAD_D16_I8, FLATOp.FLAT_LOAD_D16_B16, FLATOp.FLAT_LOAD_D16_HI_U8, FLATOp.FLAT_LOAD_D16_HI_I8, FLATOp.FLAT_LOAD_D16_HI_B16, FLATOp.FLAT_STORE_D16_HI_B8, FLATOp.FLAT_STORE_D16_HI_B16, FLATOp.GLOBAL_LOAD_ADDTID_B32, FLATOp.GLOBAL_STORE_ADDTID_B32, FLATOp.GLOBAL_LOAD_LDS_ADDTID_B32, FLATOp.FLAT_ATOMIC_SWAP_B32, FLATOp.FLAT_ATOMIC_CMPSWAP_B32, FLATOp.FLAT_ATOMIC_ADD_U32, FLATOp.FLAT_ATOMIC_SUB_U32, FLATOp.FLAT_ATOMIC_CSUB_U32, FLATOp.FLAT_ATOMIC_MIN_I32, FLATOp.FLAT_ATOMIC_MIN_U32, FLATOp.FLAT_ATOMIC_MAX_I32, FLATOp.FLAT_ATOMIC_MAX_U32, FLATOp.FLAT_ATOMIC_AND_B32, FLATOp.FLAT_ATOMIC_OR_B32, FLATOp.FLAT_ATOMIC_XOR_B32, FLATOp.FLAT_ATOMIC_INC_U32, FLATOp.FLAT_ATOMIC_DEC_U32, FLATOp.FLAT_ATOMIC_SWAP_B64, FLATOp.FLAT_ATOMIC_CMPSWAP_B64, FLATOp.FLAT_ATOMIC_ADD_U64, FLATOp.FLAT_ATOMIC_SUB_U64, FLATOp.FLAT_ATOMIC_MIN_I64, FLATOp.FLAT_ATOMIC_MIN_U64, FLATOp.FLAT_ATOMIC_MAX_I64, FLATOp.FLAT_ATOMIC_MAX_U64, FLATOp.FLAT_ATOMIC_AND_B64, FLATOp.FLAT_ATOMIC_OR_B64, FLATOp.FLAT_ATOMIC_XOR_B64, FLATOp.FLAT_ATOMIC_INC_U64, FLATOp.FLAT_ATOMIC_DEC_U64, FLATOp.FLAT_ATOMIC_CMPSWAP_F32, FLATOp.FLAT_ATOMIC_MIN_F32, FLATOp.FLAT_ATOMIC_MAX_F32, FLATOp.FLAT_ATOMIC_ADD_F32}) vdst = VGPRField(63, 56) addr = VGPRField(39, 32) data = VGPRField(47, 40) saddr = SGPRField(54, 48, default=NULL) offset = BitField(12, 0) seg = FixedBitField(17, 16, 0) glc = BitField(14, 14) dlc = BitField(13, 13) slc = BitField(15, 15) sve = BitField(55, 55) class GLOBAL(Inst): encoding = FixedBitField(31, 26, 0b110111) op = EnumBitField(24, 18, GLOBALOp, {GLOBALOp.GLOBAL_LOAD_U8, GLOBALOp.GLOBAL_LOAD_I8, GLOBALOp.GLOBAL_LOAD_U16, GLOBALOp.GLOBAL_LOAD_I16, GLOBALOp.GLOBAL_LOAD_B32, GLOBALOp.GLOBAL_LOAD_B64, GLOBALOp.GLOBAL_LOAD_B96, GLOBALOp.GLOBAL_LOAD_B128, GLOBALOp.GLOBAL_STORE_B8, GLOBALOp.GLOBAL_STORE_B16, GLOBALOp.GLOBAL_STORE_B32, GLOBALOp.GLOBAL_STORE_B64, GLOBALOp.GLOBAL_STORE_B96, GLOBALOp.GLOBAL_STORE_B128, GLOBALOp.GLOBAL_LOAD_D16_U8, GLOBALOp.GLOBAL_LOAD_D16_I8, GLOBALOp.GLOBAL_LOAD_D16_B16, GLOBALOp.GLOBAL_LOAD_D16_HI_U8, GLOBALOp.GLOBAL_LOAD_D16_HI_I8, GLOBALOp.GLOBAL_LOAD_D16_HI_B16, GLOBALOp.GLOBAL_STORE_D16_HI_B8, GLOBALOp.GLOBAL_STORE_D16_HI_B16, GLOBALOp.GLOBAL_LOAD_ADDTID_B32, GLOBALOp.GLOBAL_STORE_ADDTID_B32, GLOBALOp.GLOBAL_LOAD_LDS_ADDTID_B32, GLOBALOp.GLOBAL_LOAD_LDS_U8, GLOBALOp.GLOBAL_LOAD_LDS_I8, GLOBALOp.GLOBAL_LOAD_LDS_U16, GLOBALOp.GLOBAL_LOAD_LDS_I16, GLOBALOp.GLOBAL_LOAD_LDS_B32, GLOBALOp.GLOBAL_ATOMIC_SWAP_B32, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_B32, GLOBALOp.GLOBAL_ATOMIC_ADD_U32, GLOBALOp.GLOBAL_ATOMIC_SUB_U32, GLOBALOp.GLOBAL_ATOMIC_CSUB_U32, GLOBALOp.GLOBAL_ATOMIC_MIN_I32, GLOBALOp.GLOBAL_ATOMIC_MIN_U32, GLOBALOp.GLOBAL_ATOMIC_MAX_I32, GLOBALOp.GLOBAL_ATOMIC_MAX_U32, GLOBALOp.GLOBAL_ATOMIC_AND_B32, GLOBALOp.GLOBAL_ATOMIC_OR_B32, GLOBALOp.GLOBAL_ATOMIC_XOR_B32, GLOBALOp.GLOBAL_ATOMIC_INC_U32, GLOBALOp.GLOBAL_ATOMIC_DEC_U32, GLOBALOp.GLOBAL_ATOMIC_SWAP_B64, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_B64, GLOBALOp.GLOBAL_ATOMIC_ADD_U64, GLOBALOp.GLOBAL_ATOMIC_SUB_U64, GLOBALOp.GLOBAL_ATOMIC_MIN_I64, GLOBALOp.GLOBAL_ATOMIC_MIN_U64, GLOBALOp.GLOBAL_ATOMIC_MAX_I64, GLOBALOp.GLOBAL_ATOMIC_MAX_U64, GLOBALOp.GLOBAL_ATOMIC_AND_B64, GLOBALOp.GLOBAL_ATOMIC_OR_B64, GLOBALOp.GLOBAL_ATOMIC_XOR_B64, GLOBALOp.GLOBAL_ATOMIC_INC_U64, GLOBALOp.GLOBAL_ATOMIC_DEC_U64, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_F32, GLOBALOp.GLOBAL_ATOMIC_MIN_F32, GLOBALOp.GLOBAL_ATOMIC_MAX_F32, GLOBALOp.GLOBAL_ATOMIC_ADD_F32}) vdst = VGPRField(63, 56) addr = VGPRField(39, 32) data = VGPRField(47, 40) saddr = SGPRField(54, 48, default=NULL) offset = BitField(12, 0) seg = FixedBitField(17, 16, 2) glc = BitField(14, 14) dlc = BitField(13, 13) slc = BitField(15, 15) sve = BitField(55, 55) class SCRATCH(Inst): encoding = FixedBitField(31, 26, 0b110111) op = EnumBitField(24, 18, SCRATCHOp, {SCRATCHOp.SCRATCH_LOAD_U8, SCRATCHOp.SCRATCH_LOAD_I8, SCRATCHOp.SCRATCH_LOAD_U16, SCRATCHOp.SCRATCH_LOAD_I16, SCRATCHOp.SCRATCH_LOAD_B32, SCRATCHOp.SCRATCH_LOAD_B64, SCRATCHOp.SCRATCH_LOAD_B96, SCRATCHOp.SCRATCH_LOAD_B128, SCRATCHOp.SCRATCH_STORE_B8, SCRATCHOp.SCRATCH_STORE_B16, SCRATCHOp.SCRATCH_STORE_B32, SCRATCHOp.SCRATCH_STORE_B64, SCRATCHOp.SCRATCH_STORE_B96, SCRATCHOp.SCRATCH_STORE_B128, SCRATCHOp.SCRATCH_LOAD_D16_U8, SCRATCHOp.SCRATCH_LOAD_D16_I8, SCRATCHOp.SCRATCH_LOAD_D16_B16, SCRATCHOp.SCRATCH_LOAD_D16_HI_U8, SCRATCHOp.SCRATCH_LOAD_D16_HI_I8, SCRATCHOp.SCRATCH_LOAD_D16_HI_B16, SCRATCHOp.SCRATCH_STORE_D16_HI_B8, SCRATCHOp.SCRATCH_STORE_D16_HI_B16, SCRATCHOp.SCRATCH_LOAD_LDS_U8, SCRATCHOp.SCRATCH_LOAD_LDS_I8, SCRATCHOp.SCRATCH_LOAD_LDS_U16, SCRATCHOp.SCRATCH_LOAD_LDS_I16, SCRATCHOp.SCRATCH_LOAD_LDS_B32}) vdst = VGPRField(63, 56) addr = VGPRField(39, 32) data = VGPRField(47, 40) saddr = SGPRField(54, 48, default=NULL) offset = BitField(12, 0) seg = FixedBitField(17, 16, 1) glc = BitField(14, 14) dlc = BitField(13, 13) slc = BitField(15, 15) sve = BitField(55, 55) class LDSDIR(Inst): encoding = FixedBitField(31, 24, 0b11001110) op = EnumBitField(21, 20, LDSDIROp, {LDSDIROp.LDS_PARAM_LOAD, LDSDIROp.LDS_DIRECT_LOAD}) vdst = VGPRField(7, 0) attr = BitField(15, 10) attr_chan = BitField(9, 8) wait_vdst = BitField(19, 16) class MIMG(Inst): encoding = FixedBitField(31, 26, 0b111100) op = EnumBitField(25, 18, MIMGOp, {MIMGOp.IMAGE_LOAD, MIMGOp.IMAGE_LOAD_MIP, MIMGOp.IMAGE_LOAD_PCK, MIMGOp.IMAGE_LOAD_PCK_SGN, MIMGOp.IMAGE_LOAD_MIP_PCK, MIMGOp.IMAGE_LOAD_MIP_PCK_SGN, MIMGOp.IMAGE_STORE, MIMGOp.IMAGE_STORE_MIP, MIMGOp.IMAGE_STORE_PCK, MIMGOp.IMAGE_STORE_MIP_PCK, MIMGOp.IMAGE_ATOMIC_SWAP, MIMGOp.IMAGE_ATOMIC_CMPSWAP, MIMGOp.IMAGE_ATOMIC_ADD, MIMGOp.IMAGE_ATOMIC_SUB, MIMGOp.IMAGE_ATOMIC_SMIN, MIMGOp.IMAGE_ATOMIC_UMIN, MIMGOp.IMAGE_ATOMIC_SMAX, MIMGOp.IMAGE_ATOMIC_UMAX, MIMGOp.IMAGE_ATOMIC_AND, MIMGOp.IMAGE_ATOMIC_OR, MIMGOp.IMAGE_ATOMIC_XOR, MIMGOp.IMAGE_ATOMIC_INC, MIMGOp.IMAGE_ATOMIC_DEC, MIMGOp.IMAGE_GET_RESINFO, MIMGOp.IMAGE_MSAA_LOAD, MIMGOp.IMAGE_BVH_INTERSECT_RAY, MIMGOp.IMAGE_BVH64_INTERSECT_RAY, MIMGOp.IMAGE_SAMPLE, MIMGOp.IMAGE_SAMPLE_D, MIMGOp.IMAGE_SAMPLE_L, MIMGOp.IMAGE_SAMPLE_B, MIMGOp.IMAGE_SAMPLE_LZ, MIMGOp.IMAGE_SAMPLE_C, MIMGOp.IMAGE_SAMPLE_C_D, MIMGOp.IMAGE_SAMPLE_C_L, MIMGOp.IMAGE_SAMPLE_C_B, MIMGOp.IMAGE_SAMPLE_C_LZ, MIMGOp.IMAGE_SAMPLE_O, MIMGOp.IMAGE_SAMPLE_D_O, MIMGOp.IMAGE_SAMPLE_L_O, MIMGOp.IMAGE_SAMPLE_B_O, MIMGOp.IMAGE_SAMPLE_LZ_O, MIMGOp.IMAGE_SAMPLE_C_O, MIMGOp.IMAGE_SAMPLE_C_D_O, MIMGOp.IMAGE_SAMPLE_C_L_O, MIMGOp.IMAGE_SAMPLE_C_B_O, MIMGOp.IMAGE_SAMPLE_C_LZ_O, MIMGOp.IMAGE_GATHER4, MIMGOp.IMAGE_GATHER4_L, MIMGOp.IMAGE_GATHER4_B, MIMGOp.IMAGE_GATHER4_LZ, MIMGOp.IMAGE_GATHER4_C, MIMGOp.IMAGE_GATHER4_C_LZ, MIMGOp.IMAGE_GATHER4_O, MIMGOp.IMAGE_GATHER4_LZ_O, MIMGOp.IMAGE_GATHER4_C_LZ_O, MIMGOp.IMAGE_GET_LOD, MIMGOp.IMAGE_SAMPLE_D_G16, MIMGOp.IMAGE_SAMPLE_C_D_G16, MIMGOp.IMAGE_SAMPLE_D_O_G16, MIMGOp.IMAGE_SAMPLE_C_D_O_G16, MIMGOp.IMAGE_SAMPLE_CL, MIMGOp.IMAGE_SAMPLE_D_CL, MIMGOp.IMAGE_SAMPLE_B_CL, MIMGOp.IMAGE_SAMPLE_C_CL, MIMGOp.IMAGE_SAMPLE_C_D_CL, MIMGOp.IMAGE_SAMPLE_C_B_CL, MIMGOp.IMAGE_SAMPLE_CL_O, MIMGOp.IMAGE_SAMPLE_D_CL_O, MIMGOp.IMAGE_SAMPLE_B_CL_O, MIMGOp.IMAGE_SAMPLE_C_CL_O, MIMGOp.IMAGE_SAMPLE_C_D_CL_O, MIMGOp.IMAGE_SAMPLE_C_B_CL_O, MIMGOp.IMAGE_SAMPLE_C_D_CL_G16, MIMGOp.IMAGE_SAMPLE_D_CL_O_G16, MIMGOp.IMAGE_SAMPLE_C_D_CL_O_G16, MIMGOp.IMAGE_SAMPLE_D_CL_G16, MIMGOp.IMAGE_GATHER4_CL, MIMGOp.IMAGE_GATHER4_B_CL, MIMGOp.IMAGE_GATHER4_C_CL, MIMGOp.IMAGE_GATHER4_C_L, MIMGOp.IMAGE_GATHER4_C_B, MIMGOp.IMAGE_GATHER4_C_B_CL, MIMGOp.IMAGE_GATHER4H}) vdata = VGPRField(47, 40) vaddr = VGPRField(39, 32) srsrc = SRsrcField(52, 48) ssamp = SRsrcField(62, 58) dmask = BitField(11, 8) dim = BitField(4, 2) glc = BitField(14, 14) dlc = BitField(13, 13) slc = BitField(12, 12) tfe = BitField(53, 53) unrm = BitField(7, 7) nsa = BitField(0, 0) r128 = BitField(15, 15) a16 = BitField(16, 16) d16 = BitField(17, 17) lwe = BitField(54, 54) 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_D16_FORMAT_X, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_XY, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_XYZ, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_XYZW, MTBUFOp.TBUFFER_STORE_D16_FORMAT_X, MTBUFOp.TBUFFER_STORE_D16_FORMAT_XY, MTBUFOp.TBUFFER_STORE_D16_FORMAT_XYZ, MTBUFOp.TBUFFER_STORE_D16_FORMAT_XYZW}) vdata = VGPRField(47, 40) vaddr = VGPRField(39, 32) srsrc = SRsrcField(52, 48) soffset = SSrcField(63, 56, default=NULL) offset = BitField(11, 0) format = BitField(25, 19) offen = BitField(54, 54) idxen = BitField(55, 55) glc = BitField(14, 14) dlc = BitField(13, 13) slc = BitField(12, 12) tfe = BitField(53, 53) class MUBUF(Inst): encoding = FixedBitField(31, 26, 0b111000) op = EnumBitField(25, 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_D16_FORMAT_X, MUBUFOp.BUFFER_LOAD_D16_FORMAT_XY, MUBUFOp.BUFFER_LOAD_D16_FORMAT_XYZ, MUBUFOp.BUFFER_LOAD_D16_FORMAT_XYZW, MUBUFOp.BUFFER_STORE_D16_FORMAT_X, MUBUFOp.BUFFER_STORE_D16_FORMAT_XY, MUBUFOp.BUFFER_STORE_D16_FORMAT_XYZ, MUBUFOp.BUFFER_STORE_D16_FORMAT_XYZW, MUBUFOp.BUFFER_LOAD_U8, MUBUFOp.BUFFER_LOAD_I8, MUBUFOp.BUFFER_LOAD_U16, MUBUFOp.BUFFER_LOAD_I16, MUBUFOp.BUFFER_LOAD_B32, MUBUFOp.BUFFER_LOAD_B64, MUBUFOp.BUFFER_LOAD_B96, MUBUFOp.BUFFER_LOAD_B128, MUBUFOp.BUFFER_STORE_B8, MUBUFOp.BUFFER_STORE_B16, MUBUFOp.BUFFER_STORE_B32, MUBUFOp.BUFFER_STORE_B64, MUBUFOp.BUFFER_STORE_B96, MUBUFOp.BUFFER_STORE_B128, MUBUFOp.BUFFER_LOAD_D16_U8, MUBUFOp.BUFFER_LOAD_D16_I8, MUBUFOp.BUFFER_LOAD_D16_B16, MUBUFOp.BUFFER_LOAD_D16_HI_U8, MUBUFOp.BUFFER_LOAD_D16_HI_I8, MUBUFOp.BUFFER_LOAD_D16_HI_B16, MUBUFOp.BUFFER_STORE_D16_HI_B8, MUBUFOp.BUFFER_STORE_D16_HI_B16, MUBUFOp.BUFFER_LOAD_D16_HI_FORMAT_X, MUBUFOp.BUFFER_STORE_D16_HI_FORMAT_X, MUBUFOp.BUFFER_GL0_INV, MUBUFOp.BUFFER_GL1_INV, MUBUFOp.BUFFER_LOAD_LDS_U8, MUBUFOp.BUFFER_LOAD_LDS_I8, MUBUFOp.BUFFER_LOAD_LDS_U16, MUBUFOp.BUFFER_LOAD_LDS_I16, MUBUFOp.BUFFER_LOAD_LDS_B32, MUBUFOp.BUFFER_LOAD_LDS_FORMAT_X, MUBUFOp.BUFFER_ATOMIC_SWAP_B32, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_B32, MUBUFOp.BUFFER_ATOMIC_ADD_U32, MUBUFOp.BUFFER_ATOMIC_SUB_U32, MUBUFOp.BUFFER_ATOMIC_CSUB_U32, MUBUFOp.BUFFER_ATOMIC_MIN_I32, MUBUFOp.BUFFER_ATOMIC_MIN_U32, MUBUFOp.BUFFER_ATOMIC_MAX_I32, MUBUFOp.BUFFER_ATOMIC_MAX_U32, MUBUFOp.BUFFER_ATOMIC_AND_B32, MUBUFOp.BUFFER_ATOMIC_OR_B32, MUBUFOp.BUFFER_ATOMIC_XOR_B32, MUBUFOp.BUFFER_ATOMIC_INC_U32, MUBUFOp.BUFFER_ATOMIC_DEC_U32, MUBUFOp.BUFFER_ATOMIC_SWAP_B64, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_B64, MUBUFOp.BUFFER_ATOMIC_ADD_U64, MUBUFOp.BUFFER_ATOMIC_SUB_U64, MUBUFOp.BUFFER_ATOMIC_MIN_I64, MUBUFOp.BUFFER_ATOMIC_MIN_U64, MUBUFOp.BUFFER_ATOMIC_MAX_I64, MUBUFOp.BUFFER_ATOMIC_MAX_U64, MUBUFOp.BUFFER_ATOMIC_AND_B64, MUBUFOp.BUFFER_ATOMIC_OR_B64, MUBUFOp.BUFFER_ATOMIC_XOR_B64, MUBUFOp.BUFFER_ATOMIC_INC_U64, MUBUFOp.BUFFER_ATOMIC_DEC_U64, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_F32, MUBUFOp.BUFFER_ATOMIC_MIN_F32, MUBUFOp.BUFFER_ATOMIC_MAX_F32, MUBUFOp.BUFFER_ATOMIC_ADD_F32}) vdata = VGPRField(47, 40) vaddr = VGPRField(39, 32) srsrc = SRsrcField(52, 48) soffset = SSrcField(63, 56, default=NULL) offset = BitField(11, 0) offen = BitField(54, 54) idxen = BitField(55, 55) glc = BitField(14, 14) dlc = BitField(13, 13) slc = BitField(12, 12) tfe = BitField(53, 53) class SMEM(Inst): encoding = FixedBitField(31, 26, 0b111101) op = EnumBitField(25, 18, SMEMOp, {SMEMOp.S_LOAD_B32, SMEMOp.S_LOAD_B64, SMEMOp.S_LOAD_B128, SMEMOp.S_LOAD_B256, SMEMOp.S_LOAD_B512, SMEMOp.S_BUFFER_LOAD_B32, SMEMOp.S_BUFFER_LOAD_B64, SMEMOp.S_BUFFER_LOAD_B128, SMEMOp.S_BUFFER_LOAD_B256, SMEMOp.S_BUFFER_LOAD_B512, SMEMOp.S_GL1_INV, SMEMOp.S_DCACHE_INV, SMEMOp.S_ATC_PROBE, SMEMOp.S_ATC_PROBE_BUFFER}) sdata = SGPRField(12, 6) sbase = SBaseField(5, 0) soffset = SGPRField(63, 57, default=NULL) offset = BitField(52, 32) glc = BitField(14, 14) dlc = BitField(13, 13) 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_BREV_B32, SOP1Op.S_BREV_B64, SOP1Op.S_CTZ_I32_B32, SOP1Op.S_CTZ_I32_B64, SOP1Op.S_CLZ_I32_U32, SOP1Op.S_CLZ_I32_U64, SOP1Op.S_CLS_I32, SOP1Op.S_CLS_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_BITREPLICATE_B64_B32, SOP1Op.S_ABS_I32, SOP1Op.S_BCNT0_I32_B32, SOP1Op.S_BCNT0_I32_B64, SOP1Op.S_BCNT1_I32_B32, SOP1Op.S_BCNT1_I32_B64, SOP1Op.S_QUADMASK_B32, SOP1Op.S_QUADMASK_B64, SOP1Op.S_WQM_B32, SOP1Op.S_WQM_B64, SOP1Op.S_NOT_B32, SOP1Op.S_NOT_B64, SOP1Op.S_AND_SAVEEXEC_B32, SOP1Op.S_AND_SAVEEXEC_B64, SOP1Op.S_OR_SAVEEXEC_B32, SOP1Op.S_OR_SAVEEXEC_B64, SOP1Op.S_XOR_SAVEEXEC_B32, SOP1Op.S_XOR_SAVEEXEC_B64, SOP1Op.S_NAND_SAVEEXEC_B32, SOP1Op.S_NAND_SAVEEXEC_B64, SOP1Op.S_NOR_SAVEEXEC_B32, SOP1Op.S_NOR_SAVEEXEC_B64, SOP1Op.S_XNOR_SAVEEXEC_B32, SOP1Op.S_XNOR_SAVEEXEC_B64, SOP1Op.S_AND_NOT0_SAVEEXEC_B32, SOP1Op.S_AND_NOT0_SAVEEXEC_B64, SOP1Op.S_OR_NOT0_SAVEEXEC_B32, SOP1Op.S_OR_NOT0_SAVEEXEC_B64, SOP1Op.S_AND_NOT1_SAVEEXEC_B32, SOP1Op.S_AND_NOT1_SAVEEXEC_B64, SOP1Op.S_OR_NOT1_SAVEEXEC_B32, SOP1Op.S_OR_NOT1_SAVEEXEC_B64, SOP1Op.S_AND_NOT0_WREXEC_B32, SOP1Op.S_AND_NOT0_WREXEC_B64, SOP1Op.S_AND_NOT1_WREXEC_B32, SOP1Op.S_AND_NOT1_WREXEC_B64, SOP1Op.S_MOVRELS_B32, SOP1Op.S_MOVRELS_B64, SOP1Op.S_MOVRELD_B32, SOP1Op.S_MOVRELD_B64, SOP1Op.S_MOVRELSD_2_B32, SOP1Op.S_GETPC_B64, SOP1Op.S_SETPC_B64, SOP1Op.S_SWAPPC_B64, SOP1Op.S_RFE_B64, SOP1Op.S_SENDMSG_RTN_B32, SOP1Op.S_SENDMSG_RTN_B64, SOP1Op.S_CEIL_F32, SOP1Op.S_FLOOR_F32, SOP1Op.S_TRUNC_F32, SOP1Op.S_RNDNE_F32, SOP1Op.S_CVT_F32_I32, SOP1Op.S_CVT_F32_U32, SOP1Op.S_CVT_I32_F32, SOP1Op.S_CVT_U32_F32, SOP1Op.S_CVT_F16_F32, SOP1Op.S_CVT_F32_F16, SOP1Op.S_CVT_HI_F32_F16, SOP1Op.S_CEIL_F16, SOP1Op.S_FLOOR_F16, SOP1Op.S_TRUNC_F16, SOP1Op.S_RNDNE_F16}) 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_ABSDIFF_I32, 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_LSHL1_ADD_U32, SOP2Op.S_LSHL2_ADD_U32, SOP2Op.S_LSHL3_ADD_U32, SOP2Op.S_LSHL4_ADD_U32, SOP2Op.S_MIN_I32, SOP2Op.S_MIN_U32, SOP2Op.S_MAX_I32, SOP2Op.S_MAX_U32, 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_NAND_B32, SOP2Op.S_NAND_B64, SOP2Op.S_NOR_B32, SOP2Op.S_NOR_B64, SOP2Op.S_XNOR_B32, SOP2Op.S_XNOR_B64, SOP2Op.S_AND_NOT1_B32, SOP2Op.S_AND_NOT1_B64, SOP2Op.S_OR_NOT1_B32, SOP2Op.S_OR_NOT1_B64, SOP2Op.S_BFE_U32, SOP2Op.S_BFE_I32, SOP2Op.S_BFE_U64, SOP2Op.S_BFE_I64, SOP2Op.S_BFM_B32, SOP2Op.S_BFM_B64, SOP2Op.S_MUL_I32, SOP2Op.S_MUL_HI_U32, SOP2Op.S_MUL_HI_I32, SOP2Op.S_CSELECT_B32, SOP2Op.S_CSELECT_B64, SOP2Op.S_PACK_LL_B32_B16, SOP2Op.S_PACK_LH_B32_B16, SOP2Op.S_PACK_HH_B32_B16, SOP2Op.S_PACK_HL_B32_B16, SOP2Op.S_ADD_F32, SOP2Op.S_SUB_F32, SOP2Op.S_MIN_F32, SOP2Op.S_MAX_F32, SOP2Op.S_MUL_F32, SOP2Op.S_FMAC_F32, SOP2Op.S_CVT_PK_RTZ_F16_F32, SOP2Op.S_ADD_F16, SOP2Op.S_SUB_F16, SOP2Op.S_MIN_F16, SOP2Op.S_MAX_F16, SOP2Op.S_MUL_F16, SOP2Op.S_FMAC_F16}) 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_CMP_EQ_U64, SOPCOp.S_CMP_LG_U64, SOPCOp.S_CMP_LT_F32, SOPCOp.S_CMP_EQ_F32, SOPCOp.S_CMP_LE_F32, SOPCOp.S_CMP_GT_F32, SOPCOp.S_CMP_LG_F32, SOPCOp.S_CMP_GE_F32, SOPCOp.S_CMP_O_F32, SOPCOp.S_CMP_U_F32, SOPCOp.S_CMP_NGE_F32, SOPCOp.S_CMP_NLG_F32, SOPCOp.S_CMP_NGT_F32, SOPCOp.S_CMP_NLE_F32, SOPCOp.S_CMP_NEQ_F32, SOPCOp.S_CMP_NLT_F32, SOPCOp.S_CMP_LT_F16, SOPCOp.S_CMP_EQ_F16, SOPCOp.S_CMP_LE_F16, SOPCOp.S_CMP_GT_F16, SOPCOp.S_CMP_LG_F16, SOPCOp.S_CMP_GE_F16, SOPCOp.S_CMP_O_F16, SOPCOp.S_CMP_U_F16, SOPCOp.S_CMP_NGE_F16, SOPCOp.S_CMP_NLG_F16, SOPCOp.S_CMP_NGT_F16, SOPCOp.S_CMP_NLE_F16, SOPCOp.S_CMP_NEQ_F16, SOPCOp.S_CMP_NLT_F16}) 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_VERSION, 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_GETREG_B32, SOPKOp.S_SETREG_B32, SOPKOp.S_CALL_B64, SOPKOp.S_SUBVECTOR_LOOP_BEGIN, SOPKOp.S_SUBVECTOR_LOOP_END, SOPKOp.S_WAITCNT_VSCNT, SOPKOp.S_WAITCNT_VMCNT, SOPKOp.S_WAITCNT_EXPCNT, SOPKOp.S_WAITCNT_LGKMCNT}) 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_SETKILL, SOPPOp.S_SETHALT, SOPPOp.S_SLEEP, SOPPOp.S_SET_INST_PREFETCH_DISTANCE, SOPPOp.S_CLAUSE, SOPPOp.S_DELAY_ALU, SOPPOp.S_WAITCNT_DEPCTR, SOPPOp.S_WAITCNT, SOPPOp.S_WAIT_IDLE, SOPPOp.S_WAIT_EVENT, SOPPOp.S_TRAP, SOPPOp.S_ROUND_MODE, SOPPOp.S_DENORM_MODE, SOPPOp.S_CODE_END, SOPPOp.S_BRANCH, 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_CBRANCH_CDBGSYS, SOPPOp.S_CBRANCH_CDBGUSER, SOPPOp.S_CBRANCH_CDBGSYS_OR_USER, SOPPOp.S_CBRANCH_CDBGSYS_AND_USER, SOPPOp.S_ENDPGM, SOPPOp.S_ENDPGM_SAVED, SOPPOp.S_ENDPGM_ORDERED_PS_DONE, SOPPOp.S_WAKEUP, SOPPOp.S_SETPRIO, SOPPOp.S_SENDMSG, SOPPOp.S_SENDMSGHALT, SOPPOp.S_INCPERFLEVEL, SOPPOp.S_DECPERFLEVEL, SOPPOp.S_TTRACEDATA, SOPPOp.S_TTRACEDATA_IMM, SOPPOp.S_ICACHE_INV, SOPPOp.S_BARRIER}) simm16 = BitField(15, 0) class VINTERP(Inst): encoding = FixedBitField(31, 24, 0b11001101) op = EnumBitField(22, 16, VINTERPOp, {VINTERPOp.V_INTERP_P10_F32, VINTERPOp.V_INTERP_P2_F32, VINTERPOp.V_INTERP_P10_F16_F32, VINTERPOp.V_INTERP_P2_F16_F32, VINTERPOp.V_INTERP_P10_RTZ_F16_F32, VINTERPOp.V_INTERP_P2_RTZ_F16_F32}) vdst = VGPRField(7, 0) src0 = SrcField(40, 32) src1 = SrcField(49, 41) src2 = SrcField(58, 50) neg = BitField(63, 61) clmp = BitField(15, 15) opsel = BitField(14, 11) waitexp = BitField(10, 8) class VOP1(Inst): encoding = FixedBitField(31, 25, 0b0111111) op = EnumBitField(16, 9, VOP1Op, {VOP1Op.V_NOP, VOP1Op.V_MOV_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_NEAREST_I32_F32, VOP1Op.V_CVT_FLOOR_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_PIPEFLUSH, VOP1Op.V_MOV_B16, 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_CLZ_I32_U32, VOP1Op.V_CTZ_I32_B32, VOP1Op.V_CLS_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_MOVRELD_B32, VOP1Op.V_MOVRELS_B32, VOP1Op.V_MOVRELSD_B32, VOP1Op.V_MOVRELSD_2_B32, 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_SAT_PK_U8_I16, VOP1Op.V_CVT_NORM_I16_F16, VOP1Op.V_CVT_NORM_U16_F16, VOP1Op.V_SWAP_B32, VOP1Op.V_SWAP_B16, VOP1Op.V_PERMLANE64_B32, VOP1Op.V_SWAPREL_B32, VOP1Op.V_NOT_B16, VOP1Op.V_CVT_I32_I16, VOP1Op.V_CVT_U32_U16}) 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_DOT2ACC_F32_F16, VOP2Op.V_ADD_F32, VOP2Op.V_SUB_F32, VOP2Op.V_SUBREV_F32, VOP2Op.V_FMAC_DX9_ZERO_F32, VOP2Op.V_MUL_DX9_ZERO_F32, 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_LSHLREV_B32, VOP2Op.V_LSHRREV_B32, VOP2Op.V_ASHRREV_I32, VOP2Op.V_AND_B32, VOP2Op.V_OR_B32, VOP2Op.V_XOR_B32, VOP2Op.V_XNOR_B32, VOP2Op.V_ADD_CO_CI_U32, VOP2Op.V_SUB_CO_CI_U32, VOP2Op.V_SUBREV_CO_CI_U32, VOP2Op.V_ADD_NC_U32, VOP2Op.V_SUB_NC_U32, VOP2Op.V_SUBREV_NC_U32, VOP2Op.V_FMAC_F32, VOP2Op.V_CVT_PK_RTZ_F16_F32, VOP2Op.V_ADD_F16, VOP2Op.V_SUB_F16, VOP2Op.V_SUBREV_F16, VOP2Op.V_MUL_F16, VOP2Op.V_FMAC_F16, VOP2Op.V_MAX_F16, VOP2Op.V_MIN_F16, VOP2Op.V_LDEXP_F16, VOP2Op.V_PK_FMAC_F16}) vdst = VGPRField(24, 17) src0 = SrcField(8, 0) vsrc1 = VGPRField(16, 9) class VOP3(Inst): encoding = FixedBitField(31, 26, 0b110101) op = EnumBitField(25, 16, VOP3Op, {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_T_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_T_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_T_F64, 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_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_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_CMPX_CLASS_F16, VOP3Op.V_CMPX_CLASS_F32, VOP3Op.V_CMPX_CLASS_F64, VOP3Op.V_CNDMASK_B32, VOP3Op.V_ADD_F32, VOP3Op.V_SUB_F32, VOP3Op.V_SUBREV_F32, VOP3Op.V_FMAC_DX9_ZERO_F32, VOP3Op.V_MUL_DX9_ZERO_F32, 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_LSHLREV_B32, VOP3Op.V_LSHRREV_B32, VOP3Op.V_ASHRREV_I32, VOP3Op.V_AND_B32, VOP3Op.V_OR_B32, VOP3Op.V_XOR_B32, VOP3Op.V_XNOR_B32, VOP3Op.V_ADD_NC_U32, VOP3Op.V_SUB_NC_U32, VOP3Op.V_SUBREV_NC_U32, VOP3Op.V_FMAC_F32, VOP3Op.V_CVT_PK_RTZ_F16_F32, VOP3Op.V_ADD_F16, VOP3Op.V_SUB_F16, VOP3Op.V_SUBREV_F16, VOP3Op.V_MUL_F16, VOP3Op.V_FMAC_F16, VOP3Op.V_MAX_F16, VOP3Op.V_MIN_F16, VOP3Op.V_LDEXP_F16, VOP3Op.V_NOP, VOP3Op.V_MOV_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_NEAREST_I32_F32, VOP3Op.V_CVT_FLOOR_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_PIPEFLUSH, VOP3Op.V_MOV_B16, 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_CLZ_I32_U32, VOP3Op.V_CTZ_I32_B32, VOP3Op.V_CLS_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_MOVRELD_B32, VOP3Op.V_MOVRELS_B32, VOP3Op.V_MOVRELSD_B32, VOP3Op.V_MOVRELSD_2_B32, 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_SAT_PK_U8_I16, VOP3Op.V_CVT_NORM_I16_F16, VOP3Op.V_CVT_NORM_U16_F16, VOP3Op.V_NOT_B16, VOP3Op.V_CVT_I32_I16, VOP3Op.V_CVT_U32_U16, VOP3Op.V_FMA_DX9_ZERO_F32, 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_MULLIT_F32, 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_XOR3_B32, VOP3Op.V_MAD_U16, VOP3Op.V_PERM_B32, VOP3Op.V_XAD_U32, VOP3Op.V_LSHL_ADD_U32, VOP3Op.V_ADD_LSHL_U32, VOP3Op.V_FMA_F16, 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_MAD_I16, VOP3Op.V_DIV_FIXUP_F16, VOP3Op.V_ADD3_U32, VOP3Op.V_LSHL_OR_B32, VOP3Op.V_AND_OR_B32, VOP3Op.V_OR3_B32, VOP3Op.V_MAD_U32_U16, VOP3Op.V_MAD_I32_I16, VOP3Op.V_PERMLANE16_B32, VOP3Op.V_PERMLANEX16_B32, VOP3Op.V_CNDMASK_B16, VOP3Op.V_MAXMIN_F32, VOP3Op.V_MINMAX_F32, VOP3Op.V_MAXMIN_F16, VOP3Op.V_MINMAX_F16, VOP3Op.V_MAXMIN_U32, VOP3Op.V_MINMAX_U32, VOP3Op.V_MAXMIN_I32, VOP3Op.V_MINMAX_I32, VOP3Op.V_DOT2_F16_F16, VOP3Op.V_DOT2_BF16_BF16, VOP3Op.V_ADD_NC_U16, VOP3Op.V_SUB_NC_U16, VOP3Op.V_MUL_LO_U16, VOP3Op.V_CVT_PK_I16_F32, VOP3Op.V_CVT_PK_U16_F32, VOP3Op.V_MAX_U16, VOP3Op.V_MAX_I16, VOP3Op.V_MIN_U16, VOP3Op.V_MIN_I16, VOP3Op.V_ADD_NC_I16, VOP3Op.V_SUB_NC_I16, VOP3Op.V_PACK_B32_F16, VOP3Op.V_CVT_PK_NORM_I16_F16, VOP3Op.V_CVT_PK_NORM_U16_F16, VOP3Op.V_LDEXP_F32, VOP3Op.V_BFM_B32, VOP3Op.V_BCNT_U32_B32, VOP3Op.V_MBCNT_LO_U32_B32, VOP3Op.V_MBCNT_HI_U32_B32, VOP3Op.V_CVT_PK_NORM_I16_F32, VOP3Op.V_CVT_PK_NORM_U16_F32, VOP3Op.V_CVT_PK_U16_U32, VOP3Op.V_CVT_PK_I16_I32, VOP3Op.V_SUB_NC_I32, VOP3Op.V_ADD_NC_I32, 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_TRIG_PREOP_F64, VOP3Op.V_LSHLREV_B16, VOP3Op.V_LSHRREV_B16, VOP3Op.V_ASHRREV_I16, VOP3Op.V_LSHLREV_B64, VOP3Op.V_LSHRREV_B64, VOP3Op.V_ASHRREV_I64, VOP3Op.V_WRITELANE_B32, VOP3Op.V_AND_B16, VOP3Op.V_OR_B16, VOP3Op.V_XOR_B16}) 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, 24, 0b11001100) 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_F16, VOP3POp.V_DOT4_I32_IU8, VOP3POp.V_DOT4_U32_U8, VOP3POp.V_DOT8_I32_IU4, VOP3POp.V_DOT8_U32_U4, VOP3POp.V_DOT2_F32_BF16, VOP3POp.V_FMA_MIX_F32, VOP3POp.V_FMA_MIXLO_F16, VOP3POp.V_FMA_MIXHI_F16, VOP3POp.V_WMMA_F32_16X16X16_F16, VOP3POp.V_WMMA_F32_16X16X16_BF16, VOP3POp.V_WMMA_F16_16X16X16_F16, VOP3POp.V_WMMA_BF16_16X16X16_BF16, VOP3POp.V_WMMA_I32_16X16X16_IU8, VOP3POp.V_WMMA_I32_16X16X16_IU4}) 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 VOP3SD(Inst): encoding = FixedBitField(31, 26, 0b110101) op = EnumBitField(25, 16, VOP3SDOp, {VOP3SDOp.V_ADD_CO_CI_U32, VOP3SDOp.V_SUB_CO_CI_U32, VOP3SDOp.V_SUBREV_CO_CI_U32, VOP3SDOp.V_DIV_SCALE_F32, VOP3SDOp.V_DIV_SCALE_F64, VOP3SDOp.V_MAD_U64_U32, VOP3SDOp.V_MAD_I64_I32, VOP3SDOp.V_ADD_CO_U32, VOP3SDOp.V_SUB_CO_U32, VOP3SDOp.V_SUBREV_CO_U32}) 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_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_T_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_T_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_T_F64, 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_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_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_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_CMP_CLASS_F16, VOPCOp.V_CMP_CLASS_F32, VOPCOp.V_CMP_CLASS_F64, 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_T_F16, 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_T_F32, 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_T_F64, 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_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_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_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, VOPCOp.V_CMPX_CLASS_F16, VOPCOp.V_CMPX_CLASS_F32, VOPCOp.V_CMPX_CLASS_F64}) src0 = SrcField(8, 0) vsrc1 = VGPRField(16, 9) class VOPD(Inst): encoding = FixedBitField(31, 26, 0b110010) opx = EnumBitField(25, 22, VOPDOp) opy = EnumBitField(21, 17, VOPDOp) vdstx = VGPRField(63, 56) vdsty = VDSTYField(55, 49) srcx0 = SrcField(8, 0) srcy0 = SrcField(40, 32) vsrcx1 = VGPRField(16, 9) vsrcy1 = VGPRField(48, 41) 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_BREV_B32, SOP1Op.S_BREV_B64, SOP1Op.S_CTZ_I32_B32, SOP1Op.S_CTZ_I32_B64, SOP1Op.S_CLZ_I32_U32, SOP1Op.S_CLZ_I32_U64, SOP1Op.S_CLS_I32, SOP1Op.S_CLS_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_BITREPLICATE_B64_B32, SOP1Op.S_ABS_I32, SOP1Op.S_BCNT0_I32_B32, SOP1Op.S_BCNT0_I32_B64, SOP1Op.S_BCNT1_I32_B32, SOP1Op.S_BCNT1_I32_B64, SOP1Op.S_QUADMASK_B32, SOP1Op.S_QUADMASK_B64, SOP1Op.S_WQM_B32, SOP1Op.S_WQM_B64, SOP1Op.S_NOT_B32, SOP1Op.S_NOT_B64, SOP1Op.S_AND_SAVEEXEC_B32, SOP1Op.S_AND_SAVEEXEC_B64, SOP1Op.S_OR_SAVEEXEC_B32, SOP1Op.S_OR_SAVEEXEC_B64, SOP1Op.S_XOR_SAVEEXEC_B32, SOP1Op.S_XOR_SAVEEXEC_B64, SOP1Op.S_NAND_SAVEEXEC_B32, SOP1Op.S_NAND_SAVEEXEC_B64, SOP1Op.S_NOR_SAVEEXEC_B32, SOP1Op.S_NOR_SAVEEXEC_B64, SOP1Op.S_XNOR_SAVEEXEC_B32, SOP1Op.S_XNOR_SAVEEXEC_B64, SOP1Op.S_AND_NOT0_SAVEEXEC_B32, SOP1Op.S_AND_NOT0_SAVEEXEC_B64, SOP1Op.S_OR_NOT0_SAVEEXEC_B32, SOP1Op.S_OR_NOT0_SAVEEXEC_B64, SOP1Op.S_AND_NOT1_SAVEEXEC_B32, SOP1Op.S_AND_NOT1_SAVEEXEC_B64, SOP1Op.S_OR_NOT1_SAVEEXEC_B32, SOP1Op.S_OR_NOT1_SAVEEXEC_B64, SOP1Op.S_AND_NOT0_WREXEC_B32, SOP1Op.S_AND_NOT0_WREXEC_B64, SOP1Op.S_AND_NOT1_WREXEC_B32, SOP1Op.S_AND_NOT1_WREXEC_B64, SOP1Op.S_MOVRELS_B32, SOP1Op.S_MOVRELS_B64, SOP1Op.S_MOVRELD_B32, SOP1Op.S_MOVRELD_B64, SOP1Op.S_MOVRELSD_2_B32, SOP1Op.S_GETPC_B64, SOP1Op.S_SETPC_B64, SOP1Op.S_SWAPPC_B64, SOP1Op.S_RFE_B64, SOP1Op.S_SENDMSG_RTN_B32, SOP1Op.S_SENDMSG_RTN_B64, SOP1Op.S_CEIL_F32, SOP1Op.S_FLOOR_F32, SOP1Op.S_TRUNC_F32, SOP1Op.S_RNDNE_F32, SOP1Op.S_CVT_F32_I32, SOP1Op.S_CVT_F32_U32, SOP1Op.S_CVT_I32_F32, SOP1Op.S_CVT_U32_F32, SOP1Op.S_CVT_F16_F32, SOP1Op.S_CVT_F32_F16, SOP1Op.S_CVT_HI_F32_F16, SOP1Op.S_CEIL_F16, SOP1Op.S_FLOOR_F16, SOP1Op.S_TRUNC_F16, SOP1Op.S_RNDNE_F16}) 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_ABSDIFF_I32, 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_LSHL1_ADD_U32, SOP2Op.S_LSHL2_ADD_U32, SOP2Op.S_LSHL3_ADD_U32, SOP2Op.S_LSHL4_ADD_U32, SOP2Op.S_MIN_I32, SOP2Op.S_MIN_U32, SOP2Op.S_MAX_I32, SOP2Op.S_MAX_U32, 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_NAND_B32, SOP2Op.S_NAND_B64, SOP2Op.S_NOR_B32, SOP2Op.S_NOR_B64, SOP2Op.S_XNOR_B32, SOP2Op.S_XNOR_B64, SOP2Op.S_AND_NOT1_B32, SOP2Op.S_AND_NOT1_B64, SOP2Op.S_OR_NOT1_B32, SOP2Op.S_OR_NOT1_B64, SOP2Op.S_BFE_U32, SOP2Op.S_BFE_I32, SOP2Op.S_BFE_U64, SOP2Op.S_BFE_I64, SOP2Op.S_BFM_B32, SOP2Op.S_BFM_B64, SOP2Op.S_MUL_I32, SOP2Op.S_MUL_HI_U32, SOP2Op.S_MUL_HI_I32, SOP2Op.S_CSELECT_B32, SOP2Op.S_CSELECT_B64, SOP2Op.S_PACK_LL_B32_B16, SOP2Op.S_PACK_LH_B32_B16, SOP2Op.S_PACK_HH_B32_B16, SOP2Op.S_PACK_HL_B32_B16, SOP2Op.S_ADD_F32, SOP2Op.S_SUB_F32, SOP2Op.S_MIN_F32, SOP2Op.S_MAX_F32, SOP2Op.S_MUL_F32, SOP2Op.S_FMAAK_F32, SOP2Op.S_FMAMK_F32, SOP2Op.S_FMAC_F32, SOP2Op.S_CVT_PK_RTZ_F16_F32, SOP2Op.S_ADD_F16, SOP2Op.S_SUB_F16, SOP2Op.S_MIN_F16, SOP2Op.S_MAX_F16, SOP2Op.S_MUL_F16, SOP2Op.S_FMAC_F16}) 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_CMP_EQ_U64, SOPCOp.S_CMP_LG_U64, SOPCOp.S_CMP_LT_F32, SOPCOp.S_CMP_EQ_F32, SOPCOp.S_CMP_LE_F32, SOPCOp.S_CMP_GT_F32, SOPCOp.S_CMP_LG_F32, SOPCOp.S_CMP_GE_F32, SOPCOp.S_CMP_O_F32, SOPCOp.S_CMP_U_F32, SOPCOp.S_CMP_NGE_F32, SOPCOp.S_CMP_NLG_F32, SOPCOp.S_CMP_NGT_F32, SOPCOp.S_CMP_NLE_F32, SOPCOp.S_CMP_NEQ_F32, SOPCOp.S_CMP_NLT_F32, SOPCOp.S_CMP_LT_F16, SOPCOp.S_CMP_EQ_F16, SOPCOp.S_CMP_LE_F16, SOPCOp.S_CMP_GT_F16, SOPCOp.S_CMP_LG_F16, SOPCOp.S_CMP_GE_F16, SOPCOp.S_CMP_O_F16, SOPCOp.S_CMP_U_F16, SOPCOp.S_CMP_NGE_F16, SOPCOp.S_CMP_NLG_F16, SOPCOp.S_CMP_NGT_F16, SOPCOp.S_CMP_NLE_F16, SOPCOp.S_CMP_NEQ_F16, SOPCOp.S_CMP_NLT_F16}) literal = BitField(63, 32) class SOPK_LIT(SOPK): op = EnumBitField(27, 23, SOPKOp, {SOPKOp.S_MOVK_I32, SOPKOp.S_VERSION, 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_GETREG_B32, SOPKOp.S_SETREG_B32, SOPKOp.S_SETREG_IMM32_B32, SOPKOp.S_CALL_B64, SOPKOp.S_SUBVECTOR_LOOP_BEGIN, SOPKOp.S_SUBVECTOR_LOOP_END, SOPKOp.S_WAITCNT_VSCNT, SOPKOp.S_WAITCNT_VMCNT, SOPKOp.S_WAITCNT_EXPCNT, SOPKOp.S_WAITCNT_LGKMCNT}) literal = BitField(63, 32) class VOP1_DPP16(VOP1): vsrc0 = VGPRField(39, 32) dpp = BitField(48, 40) fi = BitField(50, 50) 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_DPP8(VOP1): vsrc0 = VGPRField(39, 32) lane_sel_0 = BitField(42, 40) lane_sel_1 = BitField(45, 43) lane_sel_2 = BitField(48, 46) lane_sel_3 = BitField(51, 49) lane_sel_4 = BitField(54, 52) lane_sel_5 = BitField(57, 55) lane_sel_6 = BitField(60, 58) lane_sel_7 = BitField(63, 61) 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_NEAREST_I32_F32, VOP1Op.V_CVT_FLOOR_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_PIPEFLUSH, VOP1Op.V_MOV_B16, 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_CLZ_I32_U32, VOP1Op.V_CTZ_I32_B32, VOP1Op.V_CLS_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_MOVRELD_B32, VOP1Op.V_MOVRELS_B32, VOP1Op.V_MOVRELSD_B32, VOP1Op.V_MOVRELSD_2_B32, 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_SAT_PK_U8_I16, VOP1Op.V_CVT_NORM_I16_F16, VOP1Op.V_CVT_NORM_U16_F16, VOP1Op.V_SWAP_B32, VOP1Op.V_SWAP_B16, VOP1Op.V_PERMLANE64_B32, VOP1Op.V_SWAPREL_B32, VOP1Op.V_NOT_B16, VOP1Op.V_CVT_I32_I16, VOP1Op.V_CVT_U32_U16}) literal = BitField(63, 32) class VOP2_DPP16(VOP2): vsrc0 = VGPRField(39, 32) dpp = BitField(48, 40) fi = BitField(50, 50) 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_DPP8(VOP2): vsrc0 = VGPRField(39, 32) lane_sel_0 = BitField(42, 40) lane_sel_1 = BitField(45, 43) lane_sel_2 = BitField(48, 46) lane_sel_3 = BitField(51, 49) lane_sel_4 = BitField(54, 52) lane_sel_5 = BitField(57, 55) lane_sel_6 = BitField(60, 58) lane_sel_7 = BitField(63, 61) class VOP2_LIT(VOP2): op = EnumBitField(30, 25, VOP2Op, {VOP2Op.V_CNDMASK_B32, VOP2Op.V_DOT2ACC_F32_F16, VOP2Op.V_ADD_F32, VOP2Op.V_SUB_F32, VOP2Op.V_SUBREV_F32, VOP2Op.V_FMAC_DX9_ZERO_F32, VOP2Op.V_MUL_DX9_ZERO_F32, 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_LSHLREV_B32, VOP2Op.V_LSHRREV_B32, VOP2Op.V_ASHRREV_I32, VOP2Op.V_AND_B32, VOP2Op.V_OR_B32, VOP2Op.V_XOR_B32, VOP2Op.V_XNOR_B32, VOP2Op.V_ADD_CO_CI_U32, VOP2Op.V_SUB_CO_CI_U32, VOP2Op.V_SUBREV_CO_CI_U32, VOP2Op.V_ADD_NC_U32, VOP2Op.V_SUB_NC_U32, VOP2Op.V_SUBREV_NC_U32, VOP2Op.V_FMAC_F32, VOP2Op.V_FMAMK_F32, VOP2Op.V_FMAAK_F32, VOP2Op.V_CVT_PK_RTZ_F16_F32, VOP2Op.V_ADD_F16, VOP2Op.V_SUB_F16, VOP2Op.V_SUBREV_F16, VOP2Op.V_MUL_F16, VOP2Op.V_FMAC_F16, VOP2Op.V_FMAMK_F16, VOP2Op.V_FMAAK_F16, VOP2Op.V_MAX_F16, VOP2Op.V_MIN_F16, VOP2Op.V_LDEXP_F16, VOP2Op.V_PK_FMAC_F16}) literal = BitField(63, 32) class VOP3P_DPP16(VOP3P): vsrc0 = VGPRField(71, 64) dpp = BitField(80, 72) fi = BitField(82, 82) bc = BitField(83, 83) row_mask = BitField(95, 92) bank_mask = BitField(91, 88) src0_neg = BitField(84, 84) src0_abs = BitField(85, 85) src1_neg = BitField(86, 86) src1_abs = BitField(87, 87) class VOP3P_DPP8(VOP3P): vsrc0 = VGPRField(71, 64) lane_sel_0 = BitField(74, 72) lane_sel_1 = BitField(77, 75) lane_sel_2 = BitField(80, 78) lane_sel_3 = BitField(83, 81) lane_sel_4 = BitField(86, 84) lane_sel_5 = BitField(89, 87) lane_sel_6 = BitField(92, 90) lane_sel_7 = BitField(95, 93) class VOP3P_LIT(VOP3P): 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_F16, VOP3POp.V_DOT4_I32_IU8, VOP3POp.V_DOT4_U32_U8, VOP3POp.V_DOT8_I32_IU4, VOP3POp.V_DOT8_U32_U4, VOP3POp.V_DOT2_F32_BF16, VOP3POp.V_FMA_MIX_F32, VOP3POp.V_FMA_MIXLO_F16, VOP3POp.V_FMA_MIXHI_F16, VOP3POp.V_WMMA_F32_16X16X16_F16, VOP3POp.V_WMMA_F32_16X16X16_BF16, VOP3POp.V_WMMA_F16_16X16X16_F16, VOP3POp.V_WMMA_BF16_16X16X16_BF16, VOP3POp.V_WMMA_I32_16X16X16_IU8, VOP3POp.V_WMMA_I32_16X16X16_IU4}) literal = BitField(95, 64) class VOP3SD_DPP16(VOP3SD): vsrc0 = VGPRField(71, 64) dpp = BitField(80, 72) fi = BitField(82, 82) bc = BitField(83, 83) row_mask = BitField(95, 92) bank_mask = BitField(91, 88) src0_neg = BitField(84, 84) src0_abs = BitField(85, 85) src1_neg = BitField(86, 86) src1_abs = BitField(87, 87) class VOP3SD_DPP8(VOP3SD): vsrc0 = VGPRField(71, 64) lane_sel_0 = BitField(74, 72) lane_sel_1 = BitField(77, 75) lane_sel_2 = BitField(80, 78) lane_sel_3 = BitField(83, 81) lane_sel_4 = BitField(86, 84) lane_sel_5 = BitField(89, 87) lane_sel_6 = BitField(92, 90) lane_sel_7 = BitField(95, 93) class VOP3SD_LIT(VOP3SD): op = EnumBitField(25, 16, VOP3SDOp, {VOP3SDOp.V_ADD_CO_CI_U32, VOP3SDOp.V_SUB_CO_CI_U32, VOP3SDOp.V_SUBREV_CO_CI_U32, VOP3SDOp.V_DIV_SCALE_F32, VOP3SDOp.V_DIV_SCALE_F64, VOP3SDOp.V_MAD_U64_U32, VOP3SDOp.V_MAD_I64_I32, VOP3SDOp.V_ADD_CO_U32, VOP3SDOp.V_SUB_CO_U32, VOP3SDOp.V_SUBREV_CO_U32}) literal = BitField(95, 64) class VOP3_DPP16(VOP3): vsrc0 = VGPRField(71, 64) dpp = BitField(80, 72) fi = BitField(82, 82) bc = BitField(83, 83) row_mask = BitField(95, 92) bank_mask = BitField(91, 88) src0_neg = BitField(84, 84) src0_abs = BitField(85, 85) src1_neg = BitField(86, 86) src1_abs = BitField(87, 87) class VOP3_DPP8(VOP3): vsrc0 = VGPRField(71, 64) lane_sel_0 = BitField(74, 72) lane_sel_1 = BitField(77, 75) lane_sel_2 = BitField(80, 78) lane_sel_3 = BitField(83, 81) lane_sel_4 = BitField(86, 84) lane_sel_5 = BitField(89, 87) lane_sel_6 = BitField(92, 90) lane_sel_7 = BitField(95, 93) class VOP3_LIT(VOP3): op = EnumBitField(25, 16, VOP3Op, {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_T_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_T_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_T_F64, 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_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_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_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_CMP_CLASS_F16, VOP3Op.V_CMP_CLASS_F32, VOP3Op.V_CMP_CLASS_F64, 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_T_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_T_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_T_F64, 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_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_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_CMPX_CLASS_F16, VOP3Op.V_CMPX_CLASS_F32, VOP3Op.V_CMPX_CLASS_F64, VOP3Op.V_CNDMASK_B32, VOP3Op.V_ADD_F32, VOP3Op.V_SUB_F32, VOP3Op.V_SUBREV_F32, VOP3Op.V_FMAC_DX9_ZERO_F32, VOP3Op.V_MUL_DX9_ZERO_F32, 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_LSHLREV_B32, VOP3Op.V_LSHRREV_B32, VOP3Op.V_ASHRREV_I32, VOP3Op.V_AND_B32, VOP3Op.V_OR_B32, VOP3Op.V_XOR_B32, VOP3Op.V_XNOR_B32, VOP3Op.V_ADD_NC_U32, VOP3Op.V_SUB_NC_U32, VOP3Op.V_SUBREV_NC_U32, VOP3Op.V_FMAC_F32, VOP3Op.V_CVT_PK_RTZ_F16_F32, VOP3Op.V_ADD_F16, VOP3Op.V_SUB_F16, VOP3Op.V_SUBREV_F16, VOP3Op.V_MUL_F16, VOP3Op.V_FMAC_F16, VOP3Op.V_MAX_F16, VOP3Op.V_MIN_F16, VOP3Op.V_LDEXP_F16, 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_NEAREST_I32_F32, VOP3Op.V_CVT_FLOOR_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_PIPEFLUSH, VOP3Op.V_MOV_B16, 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_CLZ_I32_U32, VOP3Op.V_CTZ_I32_B32, VOP3Op.V_CLS_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_MOVRELD_B32, VOP3Op.V_MOVRELS_B32, VOP3Op.V_MOVRELSD_B32, VOP3Op.V_MOVRELSD_2_B32, 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_SAT_PK_U8_I16, VOP3Op.V_CVT_NORM_I16_F16, VOP3Op.V_CVT_NORM_U16_F16, VOP3Op.V_NOT_B16, VOP3Op.V_CVT_I32_I16, VOP3Op.V_CVT_U32_U16, VOP3Op.V_FMA_DX9_ZERO_F32, 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_MULLIT_F32, 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_XOR3_B32, VOP3Op.V_MAD_U16, VOP3Op.V_PERM_B32, VOP3Op.V_XAD_U32, VOP3Op.V_LSHL_ADD_U32, VOP3Op.V_ADD_LSHL_U32, VOP3Op.V_FMA_F16, 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_MAD_I16, VOP3Op.V_DIV_FIXUP_F16, VOP3Op.V_ADD3_U32, VOP3Op.V_LSHL_OR_B32, VOP3Op.V_AND_OR_B32, VOP3Op.V_OR3_B32, VOP3Op.V_MAD_U32_U16, VOP3Op.V_MAD_I32_I16, VOP3Op.V_PERMLANE16_B32, VOP3Op.V_PERMLANEX16_B32, VOP3Op.V_CNDMASK_B16, VOP3Op.V_MAXMIN_F32, VOP3Op.V_MINMAX_F32, VOP3Op.V_MAXMIN_F16, VOP3Op.V_MINMAX_F16, VOP3Op.V_MAXMIN_U32, VOP3Op.V_MINMAX_U32, VOP3Op.V_MAXMIN_I32, VOP3Op.V_MINMAX_I32, VOP3Op.V_DOT2_F16_F16, VOP3Op.V_DOT2_BF16_BF16, VOP3Op.V_ADD_NC_U16, VOP3Op.V_SUB_NC_U16, VOP3Op.V_MUL_LO_U16, VOP3Op.V_CVT_PK_I16_F32, VOP3Op.V_CVT_PK_U16_F32, VOP3Op.V_MAX_U16, VOP3Op.V_MAX_I16, VOP3Op.V_MIN_U16, VOP3Op.V_MIN_I16, VOP3Op.V_ADD_NC_I16, VOP3Op.V_SUB_NC_I16, VOP3Op.V_PACK_B32_F16, VOP3Op.V_CVT_PK_NORM_I16_F16, VOP3Op.V_CVT_PK_NORM_U16_F16, VOP3Op.V_LDEXP_F32, VOP3Op.V_BFM_B32, VOP3Op.V_BCNT_U32_B32, VOP3Op.V_MBCNT_LO_U32_B32, VOP3Op.V_MBCNT_HI_U32_B32, VOP3Op.V_CVT_PK_NORM_I16_F32, VOP3Op.V_CVT_PK_NORM_U16_F32, VOP3Op.V_CVT_PK_U16_U32, VOP3Op.V_CVT_PK_I16_I32, VOP3Op.V_SUB_NC_I32, VOP3Op.V_ADD_NC_I32, 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_TRIG_PREOP_F64, VOP3Op.V_LSHLREV_B16, VOP3Op.V_LSHRREV_B16, VOP3Op.V_ASHRREV_I16, VOP3Op.V_LSHLREV_B64, VOP3Op.V_LSHRREV_B64, VOP3Op.V_ASHRREV_I64, VOP3Op.V_READLANE_B32, VOP3Op.V_WRITELANE_B32, VOP3Op.V_AND_B16, VOP3Op.V_OR_B16, VOP3Op.V_XOR_B16}) literal = BitField(95, 64) class VOPC_DPP16(VOPC): vsrc0 = VGPRField(39, 32) dpp = BitField(48, 40) fi = BitField(50, 50) 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 VOPC_DPP8(VOPC): vsrc0 = VGPRField(39, 32) lane_sel_0 = BitField(42, 40) lane_sel_1 = BitField(45, 43) lane_sel_2 = BitField(48, 46) lane_sel_3 = BitField(51, 49) lane_sel_4 = BitField(54, 52) lane_sel_5 = BitField(57, 55) lane_sel_6 = BitField(60, 58) lane_sel_7 = BitField(63, 61) class VOPC_LIT(VOPC): op = EnumBitField(24, 17, VOPCOp, {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_T_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_T_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_T_F64, 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_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_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_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_CMP_CLASS_F16, VOPCOp.V_CMP_CLASS_F32, VOPCOp.V_CMP_CLASS_F64, 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_T_F16, 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_T_F32, 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_T_F64, 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_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_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_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, VOPCOp.V_CMPX_CLASS_F16, VOPCOp.V_CMPX_CLASS_F32, VOPCOp.V_CMPX_CLASS_F64}) literal = BitField(63, 32) class VOPD_LIT(VOPD): literal = BitField(95, 64) class VOP1_SDST(VOP1): op = EnumBitField(16, 9, VOP1Op, {VOP1Op.V_READFIRSTLANE_B32}) vdst = SSrcField(24, 17) class VOP1_SDST_LIT(VOP1_SDST): literal = BitField(63, 32) class VOP3_SDST(VOP3): op = EnumBitField(25, 16, VOP3Op, {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_T_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_T_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_T_F64, 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_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_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_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_CMP_CLASS_F16, VOP3Op.V_CMP_CLASS_F32, VOP3Op.V_CMP_CLASS_F64, 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_T_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_T_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_T_F64, 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_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_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_CMPX_CLASS_F16, VOP3Op.V_CMPX_CLASS_F32, VOP3Op.V_CMPX_CLASS_F64, VOP3Op.V_READFIRSTLANE_B32, VOP3Op.V_READLANE_B32}) vdst = SSrcField(7, 0) class VOP3_SDST_LIT(VOP3_SDST): literal = BitField(95, 64) # 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_store_b32 = functools.partial(DS, DSOp.DS_STORE_B32) ds_store_2addr_b32 = functools.partial(DS, DSOp.DS_STORE_2ADDR_B32) ds_store_2addr_stride64_b32 = functools.partial(DS, DSOp.DS_STORE_2ADDR_STRIDE64_B32) ds_cmpstore_b32 = functools.partial(DS, DSOp.DS_CMPSTORE_B32) ds_cmpstore_f32 = functools.partial(DS, DSOp.DS_CMPSTORE_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_gws_sema_release_all = functools.partial(DS, DSOp.DS_GWS_SEMA_RELEASE_ALL) ds_gws_init = functools.partial(DS, DSOp.DS_GWS_INIT) ds_gws_sema_v = functools.partial(DS, DSOp.DS_GWS_SEMA_V) ds_gws_sema_br = functools.partial(DS, DSOp.DS_GWS_SEMA_BR) ds_gws_sema_p = functools.partial(DS, DSOp.DS_GWS_SEMA_P) ds_gws_barrier = functools.partial(DS, DSOp.DS_GWS_BARRIER) ds_store_b8 = functools.partial(DS, DSOp.DS_STORE_B8) ds_store_b16 = functools.partial(DS, DSOp.DS_STORE_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_storexchg_rtn_b32 = functools.partial(DS, DSOp.DS_STOREXCHG_RTN_B32) ds_storexchg_2addr_rtn_b32 = functools.partial(DS, DSOp.DS_STOREXCHG_2ADDR_RTN_B32) ds_storexchg_2addr_stride64_rtn_b32 = functools.partial(DS, DSOp.DS_STOREXCHG_2ADDR_STRIDE64_RTN_B32) ds_cmpstore_rtn_b32 = functools.partial(DS, DSOp.DS_CMPSTORE_RTN_B32) ds_cmpstore_rtn_f32 = functools.partial(DS, DSOp.DS_CMPSTORE_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_swizzle_b32 = functools.partial(DS, DSOp.DS_SWIZZLE_B32) ds_load_b32 = functools.partial(DS, DSOp.DS_LOAD_B32) ds_load_2addr_b32 = functools.partial(DS, DSOp.DS_LOAD_2ADDR_B32) ds_load_2addr_stride64_b32 = functools.partial(DS, DSOp.DS_LOAD_2ADDR_STRIDE64_B32) ds_load_i8 = functools.partial(DS, DSOp.DS_LOAD_I8) ds_load_u8 = functools.partial(DS, DSOp.DS_LOAD_U8) ds_load_i16 = functools.partial(DS, DSOp.DS_LOAD_I16) ds_load_u16 = functools.partial(DS, DSOp.DS_LOAD_U16) ds_consume = functools.partial(DS, DSOp.DS_CONSUME) ds_append = functools.partial(DS, DSOp.DS_APPEND) ds_ordered_count = functools.partial(DS, DSOp.DS_ORDERED_COUNT) 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_store_b64 = functools.partial(DS, DSOp.DS_STORE_B64) ds_store_2addr_b64 = functools.partial(DS, DSOp.DS_STORE_2ADDR_B64) ds_store_2addr_stride64_b64 = functools.partial(DS, DSOp.DS_STORE_2ADDR_STRIDE64_B64) ds_cmpstore_b64 = functools.partial(DS, DSOp.DS_CMPSTORE_B64) ds_cmpstore_f64 = functools.partial(DS, DSOp.DS_CMPSTORE_F64) ds_min_f64 = functools.partial(DS, DSOp.DS_MIN_F64) ds_max_f64 = functools.partial(DS, DSOp.DS_MAX_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_storexchg_rtn_b64 = functools.partial(DS, DSOp.DS_STOREXCHG_RTN_B64) ds_storexchg_2addr_rtn_b64 = functools.partial(DS, DSOp.DS_STOREXCHG_2ADDR_RTN_B64) ds_storexchg_2addr_stride64_rtn_b64 = functools.partial(DS, DSOp.DS_STOREXCHG_2ADDR_STRIDE64_RTN_B64) ds_cmpstore_rtn_b64 = functools.partial(DS, DSOp.DS_CMPSTORE_RTN_B64) ds_cmpstore_rtn_f64 = functools.partial(DS, DSOp.DS_CMPSTORE_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_load_b64 = functools.partial(DS, DSOp.DS_LOAD_B64) ds_load_2addr_b64 = functools.partial(DS, DSOp.DS_LOAD_2ADDR_B64) ds_load_2addr_stride64_b64 = functools.partial(DS, DSOp.DS_LOAD_2ADDR_STRIDE64_B64) ds_add_rtn_f32 = functools.partial(DS, DSOp.DS_ADD_RTN_F32) ds_add_gs_reg_rtn = functools.partial(DS, DSOp.DS_ADD_GS_REG_RTN) ds_sub_gs_reg_rtn = functools.partial(DS, DSOp.DS_SUB_GS_REG_RTN) ds_condxchg32_rtn_b64 = functools.partial(DS, DSOp.DS_CONDXCHG32_RTN_B64) ds_store_b8_d16_hi = functools.partial(DS, DSOp.DS_STORE_B8_D16_HI) ds_store_b16_d16_hi = functools.partial(DS, DSOp.DS_STORE_B16_D16_HI) ds_load_u8_d16 = functools.partial(DS, DSOp.DS_LOAD_U8_D16) ds_load_u8_d16_hi = functools.partial(DS, DSOp.DS_LOAD_U8_D16_HI) ds_load_i8_d16 = functools.partial(DS, DSOp.DS_LOAD_I8_D16) ds_load_i8_d16_hi = functools.partial(DS, DSOp.DS_LOAD_I8_D16_HI) ds_load_u16_d16 = functools.partial(DS, DSOp.DS_LOAD_U16_D16) ds_load_u16_d16_hi = functools.partial(DS, DSOp.DS_LOAD_U16_D16_HI) ds_bvh_stack_rtn_b32 = functools.partial(DS, DSOp.DS_BVH_STACK_RTN_B32) ds_store_addtid_b32 = functools.partial(DS, DSOp.DS_STORE_ADDTID_B32) ds_load_addtid_b32 = functools.partial(DS, DSOp.DS_LOAD_ADDTID_B32) ds_permute_b32 = functools.partial(DS, DSOp.DS_PERMUTE_B32) ds_bpermute_b32 = functools.partial(DS, DSOp.DS_BPERMUTE_B32) ds_store_b96 = functools.partial(DS, DSOp.DS_STORE_B96) ds_store_b128 = functools.partial(DS, DSOp.DS_STORE_B128) ds_load_b96 = functools.partial(DS, DSOp.DS_LOAD_B96) ds_load_b128 = functools.partial(DS, DSOp.DS_LOAD_B128) exp = functools.partial(EXP, EXPOp.EXP) flat_load_u8 = functools.partial(FLAT, FLATOp.FLAT_LOAD_U8) flat_load_i8 = functools.partial(FLAT, FLATOp.FLAT_LOAD_I8) flat_load_u16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_U16) flat_load_i16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_I16) flat_load_b32 = functools.partial(FLAT, FLATOp.FLAT_LOAD_B32) flat_load_b64 = functools.partial(FLAT, FLATOp.FLAT_LOAD_B64) flat_load_b96 = functools.partial(FLAT, FLATOp.FLAT_LOAD_B96) flat_load_b128 = functools.partial(FLAT, FLATOp.FLAT_LOAD_B128) flat_store_b8 = functools.partial(FLAT, FLATOp.FLAT_STORE_B8) flat_store_b16 = functools.partial(FLAT, FLATOp.FLAT_STORE_B16) flat_store_b32 = functools.partial(FLAT, FLATOp.FLAT_STORE_B32) flat_store_b64 = functools.partial(FLAT, FLATOp.FLAT_STORE_B64) flat_store_b96 = functools.partial(FLAT, FLATOp.FLAT_STORE_B96) flat_store_b128 = functools.partial(FLAT, FLATOp.FLAT_STORE_B128) flat_load_d16_u8 = functools.partial(FLAT, FLATOp.FLAT_LOAD_D16_U8) flat_load_d16_i8 = functools.partial(FLAT, FLATOp.FLAT_LOAD_D16_I8) flat_load_d16_b16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_D16_B16) flat_load_d16_hi_u8 = functools.partial(FLAT, FLATOp.FLAT_LOAD_D16_HI_U8) flat_load_d16_hi_i8 = functools.partial(FLAT, FLATOp.FLAT_LOAD_D16_HI_I8) flat_load_d16_hi_b16 = functools.partial(FLAT, FLATOp.FLAT_LOAD_D16_HI_B16) flat_store_d16_hi_b8 = functools.partial(FLAT, FLATOp.FLAT_STORE_D16_HI_B8) flat_store_d16_hi_b16 = functools.partial(FLAT, FLATOp.FLAT_STORE_D16_HI_B16) flat_atomic_swap_b32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SWAP_B32) flat_atomic_cmpswap_b32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_CMPSWAP_B32) flat_atomic_add_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD_U32) flat_atomic_sub_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SUB_U32) flat_atomic_csub_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_CSUB_U32) flat_atomic_min_i32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MIN_I32) flat_atomic_min_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MIN_U32) flat_atomic_max_i32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MAX_I32) flat_atomic_max_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MAX_U32) flat_atomic_and_b32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_AND_B32) flat_atomic_or_b32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_OR_B32) flat_atomic_xor_b32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_XOR_B32) flat_atomic_inc_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_INC_U32) flat_atomic_dec_u32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_DEC_U32) flat_atomic_swap_b64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SWAP_B64) flat_atomic_cmpswap_b64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_CMPSWAP_B64) flat_atomic_add_u64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD_U64) flat_atomic_sub_u64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_SUB_U64) flat_atomic_min_i64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MIN_I64) flat_atomic_min_u64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MIN_U64) flat_atomic_max_i64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MAX_I64) flat_atomic_max_u64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MAX_U64) flat_atomic_and_b64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_AND_B64) flat_atomic_or_b64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_OR_B64) flat_atomic_xor_b64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_XOR_B64) flat_atomic_inc_u64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_INC_U64) flat_atomic_dec_u64 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_DEC_U64) flat_atomic_cmpswap_f32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_CMPSWAP_F32) flat_atomic_min_f32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MIN_F32) flat_atomic_max_f32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_MAX_F32) flat_atomic_add_f32 = functools.partial(FLAT, FLATOp.FLAT_ATOMIC_ADD_F32) global_load_u8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_U8) global_load_i8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_I8) global_load_u16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_U16) global_load_i16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_I16) global_load_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_B32) global_load_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_B64) global_load_b96 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_B96) global_load_b128 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_B128) global_store_b8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_B8) global_store_b16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_B16) global_store_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_B32) global_store_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_B64) global_store_b96 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_B96) global_store_b128 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_B128) global_load_d16_u8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_D16_U8) global_load_d16_i8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_D16_I8) global_load_d16_b16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_D16_B16) global_load_d16_hi_u8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_D16_HI_U8) global_load_d16_hi_i8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_D16_HI_I8) global_load_d16_hi_b16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_D16_HI_B16) global_store_d16_hi_b8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_D16_HI_B8) global_store_d16_hi_b16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_D16_HI_B16) global_load_addtid_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_ADDTID_B32) global_store_addtid_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_STORE_ADDTID_B32) global_load_lds_addtid_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_ADDTID_B32) global_load_lds_u8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_U8) global_load_lds_i8 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_I8) global_load_lds_u16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_U16) global_load_lds_i16 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_I16) global_load_lds_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_LOAD_LDS_B32) global_atomic_swap_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SWAP_B32) global_atomic_cmpswap_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_B32) global_atomic_add_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD_U32) global_atomic_sub_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SUB_U32) global_atomic_csub_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_CSUB_U32) global_atomic_min_i32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MIN_I32) global_atomic_min_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MIN_U32) global_atomic_max_i32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MAX_I32) global_atomic_max_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MAX_U32) global_atomic_and_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_AND_B32) global_atomic_or_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_OR_B32) global_atomic_xor_b32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_XOR_B32) global_atomic_inc_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_INC_U32) global_atomic_dec_u32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_DEC_U32) global_atomic_swap_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SWAP_B64) global_atomic_cmpswap_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_B64) global_atomic_add_u64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD_U64) global_atomic_sub_u64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_SUB_U64) global_atomic_min_i64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MIN_I64) global_atomic_min_u64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MIN_U64) global_atomic_max_i64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MAX_I64) global_atomic_max_u64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MAX_U64) global_atomic_and_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_AND_B64) global_atomic_or_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_OR_B64) global_atomic_xor_b64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_XOR_B64) global_atomic_inc_u64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_INC_U64) global_atomic_dec_u64 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_DEC_U64) global_atomic_cmpswap_f32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_F32) global_atomic_min_f32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MIN_F32) global_atomic_max_f32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_MAX_F32) global_atomic_add_f32 = functools.partial(GLOBAL, GLOBALOp.GLOBAL_ATOMIC_ADD_F32) lds_param_load = functools.partial(LDSDIR, LDSDIROp.LDS_PARAM_LOAD) lds_direct_load = functools.partial(LDSDIR, LDSDIROp.LDS_DIRECT_LOAD) image_load = functools.partial(MIMG, MIMGOp.IMAGE_LOAD) image_load_mip = functools.partial(MIMG, MIMGOp.IMAGE_LOAD_MIP) image_load_pck = functools.partial(MIMG, MIMGOp.IMAGE_LOAD_PCK) image_load_pck_sgn = functools.partial(MIMG, MIMGOp.IMAGE_LOAD_PCK_SGN) image_load_mip_pck = functools.partial(MIMG, MIMGOp.IMAGE_LOAD_MIP_PCK) image_load_mip_pck_sgn = functools.partial(MIMG, MIMGOp.IMAGE_LOAD_MIP_PCK_SGN) image_store = functools.partial(MIMG, MIMGOp.IMAGE_STORE) image_store_mip = functools.partial(MIMG, MIMGOp.IMAGE_STORE_MIP) image_store_pck = functools.partial(MIMG, MIMGOp.IMAGE_STORE_PCK) image_store_mip_pck = functools.partial(MIMG, MIMGOp.IMAGE_STORE_MIP_PCK) image_atomic_swap = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_SWAP) image_atomic_cmpswap = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_CMPSWAP) image_atomic_add = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_ADD) image_atomic_sub = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_SUB) image_atomic_smin = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_SMIN) image_atomic_umin = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_UMIN) image_atomic_smax = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_SMAX) image_atomic_umax = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_UMAX) image_atomic_and = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_AND) image_atomic_or = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_OR) image_atomic_xor = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_XOR) image_atomic_inc = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_INC) image_atomic_dec = functools.partial(MIMG, MIMGOp.IMAGE_ATOMIC_DEC) image_get_resinfo = functools.partial(MIMG, MIMGOp.IMAGE_GET_RESINFO) image_msaa_load = functools.partial(MIMG, MIMGOp.IMAGE_MSAA_LOAD) image_bvh_intersect_ray = functools.partial(MIMG, MIMGOp.IMAGE_BVH_INTERSECT_RAY) image_bvh64_intersect_ray = functools.partial(MIMG, MIMGOp.IMAGE_BVH64_INTERSECT_RAY) image_sample = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE) image_sample_d = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D) image_sample_l = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_L) image_sample_b = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_B) image_sample_lz = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_LZ) image_sample_c = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C) image_sample_c_d = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D) image_sample_c_l = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_L) image_sample_c_b = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_B) image_sample_c_lz = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_LZ) image_sample_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_O) image_sample_d_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_O) image_sample_l_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_L_O) image_sample_b_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_B_O) image_sample_lz_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_LZ_O) image_sample_c_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_O) image_sample_c_d_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_O) image_sample_c_l_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_L_O) image_sample_c_b_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_B_O) image_sample_c_lz_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_LZ_O) image_gather4 = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4) image_gather4_l = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_L) image_gather4_b = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_B) image_gather4_lz = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_LZ) image_gather4_c = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C) image_gather4_c_lz = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C_LZ) image_gather4_o = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_O) image_gather4_lz_o = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_LZ_O) image_gather4_c_lz_o = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C_LZ_O) image_get_lod = functools.partial(MIMG, MIMGOp.IMAGE_GET_LOD) image_sample_d_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_G16) image_sample_c_d_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_G16) image_sample_d_o_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_O_G16) image_sample_c_d_o_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_O_G16) image_sample_cl = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_CL) image_sample_d_cl = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_CL) image_sample_b_cl = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_B_CL) image_sample_c_cl = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_CL) image_sample_c_d_cl = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_CL) image_sample_c_b_cl = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_B_CL) image_sample_cl_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_CL_O) image_sample_d_cl_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_CL_O) image_sample_b_cl_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_B_CL_O) image_sample_c_cl_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_CL_O) image_sample_c_d_cl_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_CL_O) image_sample_c_b_cl_o = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_B_CL_O) image_sample_c_d_cl_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_CL_G16) image_sample_d_cl_o_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_CL_O_G16) image_sample_c_d_cl_o_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_C_D_CL_O_G16) image_sample_d_cl_g16 = functools.partial(MIMG, MIMGOp.IMAGE_SAMPLE_D_CL_G16) image_gather4_cl = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_CL) image_gather4_b_cl = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_B_CL) image_gather4_c_cl = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C_CL) image_gather4_c_l = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C_L) image_gather4_c_b = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C_B) image_gather4_c_b_cl = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4_C_B_CL) image_gather4h = functools.partial(MIMG, MIMGOp.IMAGE_GATHER4H) 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_d16_format_x = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_X) tbuffer_load_d16_format_xy = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_XY) tbuffer_load_d16_format_xyz = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_XYZ) tbuffer_load_d16_format_xyzw = functools.partial(MTBUF, MTBUFOp.TBUFFER_LOAD_D16_FORMAT_XYZW) tbuffer_store_d16_format_x = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_D16_FORMAT_X) tbuffer_store_d16_format_xy = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_D16_FORMAT_XY) tbuffer_store_d16_format_xyz = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_D16_FORMAT_XYZ) tbuffer_store_d16_format_xyzw = functools.partial(MTBUF, MTBUFOp.TBUFFER_STORE_D16_FORMAT_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_d16_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_FORMAT_X) buffer_load_d16_format_xy = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_FORMAT_XY) buffer_load_d16_format_xyz = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_FORMAT_XYZ) buffer_load_d16_format_xyzw = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_FORMAT_XYZW) buffer_store_d16_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_FORMAT_X) buffer_store_d16_format_xy = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_FORMAT_XY) buffer_store_d16_format_xyz = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_FORMAT_XYZ) buffer_store_d16_format_xyzw = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_FORMAT_XYZW) buffer_load_u8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_U8) buffer_load_i8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_I8) buffer_load_u16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_U16) buffer_load_i16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_I16) buffer_load_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_B32) buffer_load_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_B64) buffer_load_b96 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_B96) buffer_load_b128 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_B128) buffer_store_b8 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_B8) buffer_store_b16 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_B16) buffer_store_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_B32) buffer_store_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_B64) buffer_store_b96 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_B96) buffer_store_b128 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_B128) buffer_load_d16_u8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_U8) buffer_load_d16_i8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_I8) buffer_load_d16_b16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_B16) buffer_load_d16_hi_u8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_HI_U8) buffer_load_d16_hi_i8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_HI_I8) buffer_load_d16_hi_b16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_HI_B16) buffer_store_d16_hi_b8 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_HI_B8) buffer_store_d16_hi_b16 = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_HI_B16) buffer_load_d16_hi_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_D16_HI_FORMAT_X) buffer_store_d16_hi_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_STORE_D16_HI_FORMAT_X) buffer_gl0_inv = functools.partial(MUBUF, MUBUFOp.BUFFER_GL0_INV) buffer_gl1_inv = functools.partial(MUBUF, MUBUFOp.BUFFER_GL1_INV) buffer_load_lds_u8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_LDS_U8) buffer_load_lds_i8 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_LDS_I8) buffer_load_lds_u16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_LDS_U16) buffer_load_lds_i16 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_LDS_I16) buffer_load_lds_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_LDS_B32) buffer_load_lds_format_x = functools.partial(MUBUF, MUBUFOp.BUFFER_LOAD_LDS_FORMAT_X) buffer_atomic_swap_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SWAP_B32) buffer_atomic_cmpswap_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_B32) buffer_atomic_add_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD_U32) buffer_atomic_sub_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SUB_U32) buffer_atomic_csub_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_CSUB_U32) buffer_atomic_min_i32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MIN_I32) buffer_atomic_min_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MIN_U32) buffer_atomic_max_i32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MAX_I32) buffer_atomic_max_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MAX_U32) buffer_atomic_and_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_AND_B32) buffer_atomic_or_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_OR_B32) buffer_atomic_xor_b32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_XOR_B32) buffer_atomic_inc_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_INC_U32) buffer_atomic_dec_u32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_DEC_U32) buffer_atomic_swap_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SWAP_B64) buffer_atomic_cmpswap_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_B64) buffer_atomic_add_u64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD_U64) buffer_atomic_sub_u64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_SUB_U64) buffer_atomic_min_i64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MIN_I64) buffer_atomic_min_u64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MIN_U64) buffer_atomic_max_i64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MAX_I64) buffer_atomic_max_u64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MAX_U64) buffer_atomic_and_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_AND_B64) buffer_atomic_or_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_OR_B64) buffer_atomic_xor_b64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_XOR_B64) buffer_atomic_inc_u64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_INC_U64) buffer_atomic_dec_u64 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_DEC_U64) buffer_atomic_cmpswap_f32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_CMPSWAP_F32) buffer_atomic_min_f32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MIN_F32) buffer_atomic_max_f32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_MAX_F32) buffer_atomic_add_f32 = functools.partial(MUBUF, MUBUFOp.BUFFER_ATOMIC_ADD_F32) scratch_load_u8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_U8) scratch_load_i8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_I8) scratch_load_u16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_U16) scratch_load_i16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_I16) scratch_load_b32 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_B32) scratch_load_b64 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_B64) scratch_load_b96 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_B96) scratch_load_b128 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_B128) scratch_store_b8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_B8) scratch_store_b16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_B16) scratch_store_b32 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_B32) scratch_store_b64 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_B64) scratch_store_b96 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_B96) scratch_store_b128 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_B128) scratch_load_d16_u8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_D16_U8) scratch_load_d16_i8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_D16_I8) scratch_load_d16_b16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_D16_B16) scratch_load_d16_hi_u8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_D16_HI_U8) scratch_load_d16_hi_i8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_D16_HI_I8) scratch_load_d16_hi_b16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_D16_HI_B16) scratch_store_d16_hi_b8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_D16_HI_B8) scratch_store_d16_hi_b16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_STORE_D16_HI_B16) scratch_load_lds_u8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_U8) scratch_load_lds_i8 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_I8) scratch_load_lds_u16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_U16) scratch_load_lds_i16 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_I16) scratch_load_lds_b32 = functools.partial(SCRATCH, SCRATCHOp.SCRATCH_LOAD_LDS_B32) s_load_b32 = functools.partial(SMEM, SMEMOp.S_LOAD_B32) s_load_b64 = functools.partial(SMEM, SMEMOp.S_LOAD_B64) s_load_b128 = functools.partial(SMEM, SMEMOp.S_LOAD_B128) s_load_b256 = functools.partial(SMEM, SMEMOp.S_LOAD_B256) s_load_b512 = functools.partial(SMEM, SMEMOp.S_LOAD_B512) s_buffer_load_b32 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_B32) s_buffer_load_b64 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_B64) s_buffer_load_b128 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_B128) s_buffer_load_b256 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_B256) s_buffer_load_b512 = functools.partial(SMEM, SMEMOp.S_BUFFER_LOAD_B512) s_gl1_inv = functools.partial(SMEM, SMEMOp.S_GL1_INV) s_dcache_inv = functools.partial(SMEM, SMEMOp.S_DCACHE_INV) s_atc_probe = functools.partial(SMEM, SMEMOp.S_ATC_PROBE) s_atc_probe_buffer = functools.partial(SMEM, SMEMOp.S_ATC_PROBE_BUFFER) 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_brev_b32 = functools.partial(SOP1, SOP1Op.S_BREV_B32) s_brev_b64 = functools.partial(SOP1, SOP1Op.S_BREV_B64) s_ctz_i32_b32 = functools.partial(SOP1, SOP1Op.S_CTZ_I32_B32) s_ctz_i32_b64 = functools.partial(SOP1, SOP1Op.S_CTZ_I32_B64) s_clz_i32_u32 = functools.partial(SOP1, SOP1Op.S_CLZ_I32_U32) s_clz_i32_u64 = functools.partial(SOP1, SOP1Op.S_CLZ_I32_U64) s_cls_i32 = functools.partial(SOP1, SOP1Op.S_CLS_I32) s_cls_i32_i64 = functools.partial(SOP1, SOP1Op.S_CLS_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_bitreplicate_b64_b32 = functools.partial(SOP1, SOP1Op.S_BITREPLICATE_B64_B32) s_abs_i32 = functools.partial(SOP1, SOP1Op.S_ABS_I32) 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_quadmask_b32 = functools.partial(SOP1, SOP1Op.S_QUADMASK_B32) s_quadmask_b64 = functools.partial(SOP1, SOP1Op.S_QUADMASK_B64) s_wqm_b32 = functools.partial(SOP1, SOP1Op.S_WQM_B32) s_wqm_b64 = functools.partial(SOP1, SOP1Op.S_WQM_B64) s_not_b32 = functools.partial(SOP1, SOP1Op.S_NOT_B32) s_not_b64 = functools.partial(SOP1, SOP1Op.S_NOT_B64) s_and_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_AND_SAVEEXEC_B32) s_and_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_AND_SAVEEXEC_B64) s_or_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_OR_SAVEEXEC_B32) s_or_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_OR_SAVEEXEC_B64) s_xor_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_XOR_SAVEEXEC_B32) s_xor_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_XOR_SAVEEXEC_B64) s_nand_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_NAND_SAVEEXEC_B32) s_nand_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_NAND_SAVEEXEC_B64) s_nor_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_NOR_SAVEEXEC_B32) s_nor_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_NOR_SAVEEXEC_B64) s_xnor_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_XNOR_SAVEEXEC_B32) s_xnor_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_XNOR_SAVEEXEC_B64) s_and_not0_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_AND_NOT0_SAVEEXEC_B32) s_and_not0_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_AND_NOT0_SAVEEXEC_B64) s_or_not0_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_OR_NOT0_SAVEEXEC_B32) s_or_not0_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_OR_NOT0_SAVEEXEC_B64) s_and_not1_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_AND_NOT1_SAVEEXEC_B32) s_and_not1_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_AND_NOT1_SAVEEXEC_B64) s_or_not1_saveexec_b32 = functools.partial(SOP1, SOP1Op.S_OR_NOT1_SAVEEXEC_B32) s_or_not1_saveexec_b64 = functools.partial(SOP1, SOP1Op.S_OR_NOT1_SAVEEXEC_B64) s_and_not0_wrexec_b32 = functools.partial(SOP1, SOP1Op.S_AND_NOT0_WREXEC_B32) s_and_not0_wrexec_b64 = functools.partial(SOP1, SOP1Op.S_AND_NOT0_WREXEC_B64) s_and_not1_wrexec_b32 = functools.partial(SOP1, SOP1Op.S_AND_NOT1_WREXEC_B32) s_and_not1_wrexec_b64 = functools.partial(SOP1, SOP1Op.S_AND_NOT1_WREXEC_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_movrelsd_2_b32 = functools.partial(SOP1, SOP1Op.S_MOVRELSD_2_B32) 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_sendmsg_rtn_b32 = functools.partial(SOP1, SOP1Op.S_SENDMSG_RTN_B32) s_sendmsg_rtn_b64 = functools.partial(SOP1, SOP1Op.S_SENDMSG_RTN_B64) s_ceil_f32 = functools.partial(SOP1, SOP1Op.S_CEIL_F32) s_floor_f32 = functools.partial(SOP1, SOP1Op.S_FLOOR_F32) s_trunc_f32 = functools.partial(SOP1, SOP1Op.S_TRUNC_F32) s_rndne_f32 = functools.partial(SOP1, SOP1Op.S_RNDNE_F32) s_cvt_f32_i32 = functools.partial(SOP1, SOP1Op.S_CVT_F32_I32) s_cvt_f32_u32 = functools.partial(SOP1, SOP1Op.S_CVT_F32_U32) s_cvt_i32_f32 = functools.partial(SOP1, SOP1Op.S_CVT_I32_F32) s_cvt_u32_f32 = functools.partial(SOP1, SOP1Op.S_CVT_U32_F32) s_cvt_f16_f32 = functools.partial(SOP1, SOP1Op.S_CVT_F16_F32) s_cvt_f32_f16 = functools.partial(SOP1, SOP1Op.S_CVT_F32_F16) s_cvt_hi_f32_f16 = functools.partial(SOP1, SOP1Op.S_CVT_HI_F32_F16) s_ceil_f16 = functools.partial(SOP1, SOP1Op.S_CEIL_F16) s_floor_f16 = functools.partial(SOP1, SOP1Op.S_FLOOR_F16) s_trunc_f16 = functools.partial(SOP1, SOP1Op.S_TRUNC_F16) s_rndne_f16 = functools.partial(SOP1, SOP1Op.S_RNDNE_F16) 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_absdiff_i32 = functools.partial(SOP2, SOP2Op.S_ABSDIFF_I32) 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_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_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_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_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_and_not1_b32 = functools.partial(SOP2, SOP2Op.S_AND_NOT1_B32) s_and_not1_b64 = functools.partial(SOP2, SOP2Op.S_AND_NOT1_B64) s_or_not1_b32 = functools.partial(SOP2, SOP2Op.S_OR_NOT1_B32) s_or_not1_b64 = functools.partial(SOP2, SOP2Op.S_OR_NOT1_B64) 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_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_mul_hi_u32 = functools.partial(SOP2, SOP2Op.S_MUL_HI_U32) s_mul_hi_i32 = functools.partial(SOP2, SOP2Op.S_MUL_HI_I32) s_cselect_b32 = functools.partial(SOP2, SOP2Op.S_CSELECT_B32) s_cselect_b64 = functools.partial(SOP2, SOP2Op.S_CSELECT_B64) 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_pack_hl_b32_b16 = functools.partial(SOP2, SOP2Op.S_PACK_HL_B32_B16) s_add_f32 = functools.partial(SOP2, SOP2Op.S_ADD_F32) s_sub_f32 = functools.partial(SOP2, SOP2Op.S_SUB_F32) s_min_f32 = functools.partial(SOP2, SOP2Op.S_MIN_F32) s_max_f32 = functools.partial(SOP2, SOP2Op.S_MAX_F32) s_mul_f32 = functools.partial(SOP2, SOP2Op.S_MUL_F32) s_fmaak_f32 = functools.partial(SOP2_LIT, SOP2Op.S_FMAAK_F32) s_fmamk_f32 = functools.partial(SOP2_LIT, SOP2Op.S_FMAMK_F32) s_fmac_f32 = functools.partial(SOP2, SOP2Op.S_FMAC_F32) s_cvt_pk_rtz_f16_f32 = functools.partial(SOP2, SOP2Op.S_CVT_PK_RTZ_F16_F32) s_add_f16 = functools.partial(SOP2, SOP2Op.S_ADD_F16) s_sub_f16 = functools.partial(SOP2, SOP2Op.S_SUB_F16) s_min_f16 = functools.partial(SOP2, SOP2Op.S_MIN_F16) s_max_f16 = functools.partial(SOP2, SOP2Op.S_MAX_F16) s_mul_f16 = functools.partial(SOP2, SOP2Op.S_MUL_F16) s_fmac_f16 = functools.partial(SOP2, SOP2Op.S_FMAC_F16) 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_cmp_eq_u64 = functools.partial(SOPC, SOPCOp.S_CMP_EQ_U64) s_cmp_lg_u64 = functools.partial(SOPC, SOPCOp.S_CMP_LG_U64) s_cmp_lt_f32 = functools.partial(SOPC, SOPCOp.S_CMP_LT_F32) s_cmp_eq_f32 = functools.partial(SOPC, SOPCOp.S_CMP_EQ_F32) s_cmp_le_f32 = functools.partial(SOPC, SOPCOp.S_CMP_LE_F32) s_cmp_gt_f32 = functools.partial(SOPC, SOPCOp.S_CMP_GT_F32) s_cmp_lg_f32 = functools.partial(SOPC, SOPCOp.S_CMP_LG_F32) s_cmp_ge_f32 = functools.partial(SOPC, SOPCOp.S_CMP_GE_F32) s_cmp_o_f32 = functools.partial(SOPC, SOPCOp.S_CMP_O_F32) s_cmp_u_f32 = functools.partial(SOPC, SOPCOp.S_CMP_U_F32) s_cmp_nge_f32 = functools.partial(SOPC, SOPCOp.S_CMP_NGE_F32) s_cmp_nlg_f32 = functools.partial(SOPC, SOPCOp.S_CMP_NLG_F32) s_cmp_ngt_f32 = functools.partial(SOPC, SOPCOp.S_CMP_NGT_F32) s_cmp_nle_f32 = functools.partial(SOPC, SOPCOp.S_CMP_NLE_F32) s_cmp_neq_f32 = functools.partial(SOPC, SOPCOp.S_CMP_NEQ_F32) s_cmp_nlt_f32 = functools.partial(SOPC, SOPCOp.S_CMP_NLT_F32) s_cmp_lt_f16 = functools.partial(SOPC, SOPCOp.S_CMP_LT_F16) s_cmp_eq_f16 = functools.partial(SOPC, SOPCOp.S_CMP_EQ_F16) s_cmp_le_f16 = functools.partial(SOPC, SOPCOp.S_CMP_LE_F16) s_cmp_gt_f16 = functools.partial(SOPC, SOPCOp.S_CMP_GT_F16) s_cmp_lg_f16 = functools.partial(SOPC, SOPCOp.S_CMP_LG_F16) s_cmp_ge_f16 = functools.partial(SOPC, SOPCOp.S_CMP_GE_F16) s_cmp_o_f16 = functools.partial(SOPC, SOPCOp.S_CMP_O_F16) s_cmp_u_f16 = functools.partial(SOPC, SOPCOp.S_CMP_U_F16) s_cmp_nge_f16 = functools.partial(SOPC, SOPCOp.S_CMP_NGE_F16) s_cmp_nlg_f16 = functools.partial(SOPC, SOPCOp.S_CMP_NLG_F16) s_cmp_ngt_f16 = functools.partial(SOPC, SOPCOp.S_CMP_NGT_F16) s_cmp_nle_f16 = functools.partial(SOPC, SOPCOp.S_CMP_NLE_F16) s_cmp_neq_f16 = functools.partial(SOPC, SOPCOp.S_CMP_NEQ_F16) s_cmp_nlt_f16 = functools.partial(SOPC, SOPCOp.S_CMP_NLT_F16) s_movk_i32 = functools.partial(SOPK, SOPKOp.S_MOVK_I32) s_version = functools.partial(SOPK, SOPKOp.S_VERSION) 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_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_subvector_loop_begin = functools.partial(SOPK, SOPKOp.S_SUBVECTOR_LOOP_BEGIN) s_subvector_loop_end = functools.partial(SOPK, SOPKOp.S_SUBVECTOR_LOOP_END) s_waitcnt_vscnt = functools.partial(SOPK, SOPKOp.S_WAITCNT_VSCNT) s_waitcnt_vmcnt = functools.partial(SOPK, SOPKOp.S_WAITCNT_VMCNT) s_waitcnt_expcnt = functools.partial(SOPK, SOPKOp.S_WAITCNT_EXPCNT) s_waitcnt_lgkmcnt = functools.partial(SOPK, SOPKOp.S_WAITCNT_LGKMCNT) s_nop = functools.partial(SOPP, SOPPOp.S_NOP) s_setkill = functools.partial(SOPP, SOPPOp.S_SETKILL) s_sethalt = functools.partial(SOPP, SOPPOp.S_SETHALT) s_sleep = functools.partial(SOPP, SOPPOp.S_SLEEP) s_set_inst_prefetch_distance = functools.partial(SOPP, SOPPOp.S_SET_INST_PREFETCH_DISTANCE) s_clause = functools.partial(SOPP, SOPPOp.S_CLAUSE) s_delay_alu = functools.partial(SOPP, SOPPOp.S_DELAY_ALU) s_waitcnt_depctr = functools.partial(SOPP, SOPPOp.S_WAITCNT_DEPCTR) s_waitcnt = functools.partial(SOPP, SOPPOp.S_WAITCNT) s_wait_idle = functools.partial(SOPP, SOPPOp.S_WAIT_IDLE) s_wait_event = functools.partial(SOPP, SOPPOp.S_WAIT_EVENT) s_trap = functools.partial(SOPP, SOPPOp.S_TRAP) s_round_mode = functools.partial(SOPP, SOPPOp.S_ROUND_MODE) s_denorm_mode = functools.partial(SOPP, SOPPOp.S_DENORM_MODE) s_code_end = functools.partial(SOPP, SOPPOp.S_CODE_END) s_branch = functools.partial(SOPP, SOPPOp.S_BRANCH) 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_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 = functools.partial(SOPP, SOPPOp.S_ENDPGM) s_endpgm_saved = functools.partial(SOPP, SOPPOp.S_ENDPGM_SAVED) s_endpgm_ordered_ps_done = functools.partial(SOPP, SOPPOp.S_ENDPGM_ORDERED_PS_DONE) s_wakeup = functools.partial(SOPP, SOPPOp.S_WAKEUP) 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_incperflevel = functools.partial(SOPP, SOPPOp.S_INCPERFLEVEL) s_decperflevel = functools.partial(SOPP, SOPPOp.S_DECPERFLEVEL) s_ttracedata = functools.partial(SOPP, SOPPOp.S_TTRACEDATA) s_ttracedata_imm = functools.partial(SOPP, SOPPOp.S_TTRACEDATA_IMM) s_icache_inv = functools.partial(SOPP, SOPPOp.S_ICACHE_INV) s_barrier = functools.partial(SOPP, SOPPOp.S_BARRIER) v_interp_p10_f32 = functools.partial(VINTERP, VINTERPOp.V_INTERP_P10_F32) v_interp_p2_f32 = functools.partial(VINTERP, VINTERPOp.V_INTERP_P2_F32) v_interp_p10_f16_f32 = functools.partial(VINTERP, VINTERPOp.V_INTERP_P10_F16_F32) v_interp_p2_f16_f32 = functools.partial(VINTERP, VINTERPOp.V_INTERP_P2_F16_F32) v_interp_p10_rtz_f16_f32 = functools.partial(VINTERP, VINTERPOp.V_INTERP_P10_RTZ_F16_F32) v_interp_p2_rtz_f16_f32 = functools.partial(VINTERP, VINTERPOp.V_INTERP_P2_RTZ_F16_F32) 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_SDST, 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_nearest_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_NEAREST_I32_F32_E32) v_cvt_floor_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_FLOOR_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_pipeflush_e32 = functools.partial(VOP1, VOP1Op.V_PIPEFLUSH_E32) v_mov_b16_e32 = functools.partial(VOP1, VOP1Op.V_MOV_B16_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_clz_i32_u32_e32 = functools.partial(VOP1, VOP1Op.V_CLZ_I32_U32_E32) v_ctz_i32_b32_e32 = functools.partial(VOP1, VOP1Op.V_CTZ_I32_B32_E32) v_cls_i32_e32 = functools.partial(VOP1, VOP1Op.V_CLS_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_movreld_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELD_B32_E32) v_movrels_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELS_B32_E32) v_movrelsd_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELSD_B32_E32) v_movrelsd_2_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELSD_2_B32_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_sat_pk_u8_i16_e32 = functools.partial(VOP1, VOP1Op.V_SAT_PK_U8_I16_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_swap_b32_e32 = functools.partial(VOP1, VOP1Op.V_SWAP_B32_E32) v_swap_b16_e32 = functools.partial(VOP1, VOP1Op.V_SWAP_B16_E32) v_permlane64_b32_e32 = functools.partial(VOP1, VOP1Op.V_PERMLANE64_B32_E32) v_swaprel_b32_e32 = functools.partial(VOP1, VOP1Op.V_SWAPREL_B32_E32) v_not_b16_e32 = functools.partial(VOP1, VOP1Op.V_NOT_B16_E32) v_cvt_i32_i16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I32_I16_E32) v_cvt_u32_u16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U32_U16_E32) v_cndmask_b32_e32 = functools.partial(VOP2, VOP2Op.V_CNDMASK_B32_E32) v_dot2acc_f32_f16_e32 = functools.partial(VOP2, VOP2Op.V_DOT2ACC_F32_F16_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_dx9_zero_f32_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_DX9_ZERO_F32_E32) v_mul_dx9_zero_f32_e32 = functools.partial(VOP2, VOP2Op.V_MUL_DX9_ZERO_F32_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_lshlrev_b32_e32 = functools.partial(VOP2, VOP2Op.V_LSHLREV_B32_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_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_xnor_b32_e32 = functools.partial(VOP2, VOP2Op.V_XNOR_B32_E32) v_add_co_ci_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_CO_CI_U32_E32) v_sub_co_ci_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_CO_CI_U32_E32) v_subrev_co_ci_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_CO_CI_U32_E32) v_add_nc_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_NC_U32_E32) v_sub_nc_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_NC_U32_E32) v_subrev_nc_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_NC_U32_E32) v_fmac_f32_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_F32_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_cvt_pk_rtz_f16_f32_e32 = functools.partial(VOP2, VOP2Op.V_CVT_PK_RTZ_F16_F32_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_fmac_f16_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_F16_E32) v_fmamk_f16_e32 = functools.partial(VOP2_LIT, VOP2Op.V_FMAMK_F16_E32) v_fmaak_f16_e32 = functools.partial(VOP2_LIT, VOP2Op.V_FMAAK_F16_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_ldexp_f16_e32 = functools.partial(VOP2, VOP2Op.V_LDEXP_F16_E32) v_pk_fmac_f16_e32 = functools.partial(VOP2, VOP2Op.V_PK_FMAC_F16_E32) 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_t_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_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_t_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_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_t_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_T_F64_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_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_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_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_cmp_class_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_CLASS_F16_E64) v_cmp_class_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_CLASS_F32_E64) v_cmp_class_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMP_CLASS_F64_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_t_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_F16_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_t_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_F32_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_t_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_T_F64_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_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_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_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_cmpx_class_f16_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_CLASS_F16_E64) v_cmpx_class_f32_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_CLASS_F32_E64) v_cmpx_class_f64_e64 = functools.partial(VOP3_SDST, VOP3Op.V_CMPX_CLASS_F64_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_dx9_zero_f32_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_DX9_ZERO_F32_E64) v_mul_dx9_zero_f32_e64 = functools.partial(VOP3, VOP3Op.V_MUL_DX9_ZERO_F32_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_lshlrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_LSHLREV_B32_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_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_xnor_b32_e64 = functools.partial(VOP3, VOP3Op.V_XNOR_B32_E64) v_add_nc_u32_e64 = functools.partial(VOP3, VOP3Op.V_ADD_NC_U32_E64) v_sub_nc_u32_e64 = functools.partial(VOP3, VOP3Op.V_SUB_NC_U32_E64) v_subrev_nc_u32_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_NC_U32_E64) v_fmac_f32_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_F32_E64) v_cvt_pk_rtz_f16_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_PK_RTZ_F16_F32_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_fmac_f16_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_F16_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_ldexp_f16_e64 = functools.partial(VOP3, VOP3Op.V_LDEXP_F16_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_SDST, 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_nearest_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_NEAREST_I32_F32_E64) v_cvt_floor_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_FLOOR_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_pipeflush_e64 = functools.partial(VOP3, VOP3Op.V_PIPEFLUSH_E64) v_mov_b16_e64 = functools.partial(VOP3, VOP3Op.V_MOV_B16_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_clz_i32_u32_e64 = functools.partial(VOP3, VOP3Op.V_CLZ_I32_U32_E64) v_ctz_i32_b32_e64 = functools.partial(VOP3, VOP3Op.V_CTZ_I32_B32_E64) v_cls_i32_e64 = functools.partial(VOP3, VOP3Op.V_CLS_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_movreld_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELD_B32_E64) v_movrels_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELS_B32_E64) v_movrelsd_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELSD_B32_E64) v_movrelsd_2_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELSD_2_B32_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_sat_pk_u8_i16_e64 = functools.partial(VOP3, VOP3Op.V_SAT_PK_U8_I16_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_not_b16_e64 = functools.partial(VOP3, VOP3Op.V_NOT_B16_E64) v_cvt_i32_i16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I32_I16_E64) v_cvt_u32_u16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U32_U16_E64) v_fma_dx9_zero_f32 = functools.partial(VOP3, VOP3Op.V_FMA_DX9_ZERO_F32) v_mad_i32_i24 = functools.partial(VOP3, VOP3Op.V_MAD_I32_I24) v_mad_u32_u24 = functools.partial(VOP3, VOP3Op.V_MAD_U32_U24) v_cubeid_f32 = functools.partial(VOP3, VOP3Op.V_CUBEID_F32) v_cubesc_f32 = functools.partial(VOP3, VOP3Op.V_CUBESC_F32) v_cubetc_f32 = functools.partial(VOP3, VOP3Op.V_CUBETC_F32) v_cubema_f32 = functools.partial(VOP3, VOP3Op.V_CUBEMA_F32) v_bfe_u32 = functools.partial(VOP3, VOP3Op.V_BFE_U32) v_bfe_i32 = functools.partial(VOP3, VOP3Op.V_BFE_I32) v_bfi_b32 = functools.partial(VOP3, VOP3Op.V_BFI_B32) v_fma_f32 = functools.partial(VOP3, VOP3Op.V_FMA_F32) v_fma_f64 = functools.partial(VOP3, VOP3Op.V_FMA_F64) v_lerp_u8 = functools.partial(VOP3, VOP3Op.V_LERP_U8) v_alignbit_b32 = functools.partial(VOP3, VOP3Op.V_ALIGNBIT_B32) v_alignbyte_b32 = functools.partial(VOP3, VOP3Op.V_ALIGNBYTE_B32) v_mullit_f32 = functools.partial(VOP3, VOP3Op.V_MULLIT_F32) v_min3_f32 = functools.partial(VOP3, VOP3Op.V_MIN3_F32) v_min3_i32 = functools.partial(VOP3, VOP3Op.V_MIN3_I32) v_min3_u32 = functools.partial(VOP3, VOP3Op.V_MIN3_U32) v_max3_f32 = functools.partial(VOP3, VOP3Op.V_MAX3_F32) v_max3_i32 = functools.partial(VOP3, VOP3Op.V_MAX3_I32) v_max3_u32 = functools.partial(VOP3, VOP3Op.V_MAX3_U32) v_med3_f32 = functools.partial(VOP3, VOP3Op.V_MED3_F32) v_med3_i32 = functools.partial(VOP3, VOP3Op.V_MED3_I32) v_med3_u32 = functools.partial(VOP3, VOP3Op.V_MED3_U32) v_sad_u8 = functools.partial(VOP3, VOP3Op.V_SAD_U8) v_sad_hi_u8 = functools.partial(VOP3, VOP3Op.V_SAD_HI_U8) v_sad_u16 = functools.partial(VOP3, VOP3Op.V_SAD_U16) v_sad_u32 = functools.partial(VOP3, VOP3Op.V_SAD_U32) v_cvt_pk_u8_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_U8_F32) v_div_fixup_f32 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_F32) v_div_fixup_f64 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_F64) v_div_fmas_f32 = functools.partial(VOP3, VOP3Op.V_DIV_FMAS_F32) v_div_fmas_f64 = functools.partial(VOP3, VOP3Op.V_DIV_FMAS_F64) v_msad_u8 = functools.partial(VOP3, VOP3Op.V_MSAD_U8) v_qsad_pk_u16_u8 = functools.partial(VOP3, VOP3Op.V_QSAD_PK_U16_U8) v_mqsad_pk_u16_u8 = functools.partial(VOP3, VOP3Op.V_MQSAD_PK_U16_U8) v_mqsad_u32_u8 = functools.partial(VOP3, VOP3Op.V_MQSAD_U32_U8) v_xor3_b32 = functools.partial(VOP3, VOP3Op.V_XOR3_B32) v_mad_u16 = functools.partial(VOP3, VOP3Op.V_MAD_U16) v_perm_b32 = functools.partial(VOP3, VOP3Op.V_PERM_B32) v_xad_u32 = functools.partial(VOP3, VOP3Op.V_XAD_U32) v_lshl_add_u32 = functools.partial(VOP3, VOP3Op.V_LSHL_ADD_U32) v_add_lshl_u32 = functools.partial(VOP3, VOP3Op.V_ADD_LSHL_U32) v_fma_f16 = functools.partial(VOP3, VOP3Op.V_FMA_F16) v_min3_f16 = functools.partial(VOP3, VOP3Op.V_MIN3_F16) v_min3_i16 = functools.partial(VOP3, VOP3Op.V_MIN3_I16) v_min3_u16 = functools.partial(VOP3, VOP3Op.V_MIN3_U16) v_max3_f16 = functools.partial(VOP3, VOP3Op.V_MAX3_F16) v_max3_i16 = functools.partial(VOP3, VOP3Op.V_MAX3_I16) v_max3_u16 = functools.partial(VOP3, VOP3Op.V_MAX3_U16) v_med3_f16 = functools.partial(VOP3, VOP3Op.V_MED3_F16) v_med3_i16 = functools.partial(VOP3, VOP3Op.V_MED3_I16) v_med3_u16 = functools.partial(VOP3, VOP3Op.V_MED3_U16) v_mad_i16 = functools.partial(VOP3, VOP3Op.V_MAD_I16) v_div_fixup_f16 = functools.partial(VOP3, VOP3Op.V_DIV_FIXUP_F16) v_add3_u32 = functools.partial(VOP3, VOP3Op.V_ADD3_U32) 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_u32_u16 = functools.partial(VOP3, VOP3Op.V_MAD_U32_U16) v_mad_i32_i16 = functools.partial(VOP3, VOP3Op.V_MAD_I32_I16) v_permlane16_b32 = functools.partial(VOP3, VOP3Op.V_PERMLANE16_B32) v_permlanex16_b32 = functools.partial(VOP3, VOP3Op.V_PERMLANEX16_B32) v_cndmask_b16 = functools.partial(VOP3, VOP3Op.V_CNDMASK_B16) v_maxmin_f32 = functools.partial(VOP3, VOP3Op.V_MAXMIN_F32) v_minmax_f32 = functools.partial(VOP3, VOP3Op.V_MINMAX_F32) v_maxmin_f16 = functools.partial(VOP3, VOP3Op.V_MAXMIN_F16) v_minmax_f16 = functools.partial(VOP3, VOP3Op.V_MINMAX_F16) v_maxmin_u32 = functools.partial(VOP3, VOP3Op.V_MAXMIN_U32) v_minmax_u32 = functools.partial(VOP3, VOP3Op.V_MINMAX_U32) v_maxmin_i32 = functools.partial(VOP3, VOP3Op.V_MAXMIN_I32) v_minmax_i32 = functools.partial(VOP3, VOP3Op.V_MINMAX_I32) v_dot2_f16_f16 = functools.partial(VOP3, VOP3Op.V_DOT2_F16_F16) v_dot2_bf16_bf16 = functools.partial(VOP3, VOP3Op.V_DOT2_BF16_BF16) v_add_nc_u16 = functools.partial(VOP3, VOP3Op.V_ADD_NC_U16) v_sub_nc_u16 = functools.partial(VOP3, VOP3Op.V_SUB_NC_U16) v_mul_lo_u16 = functools.partial(VOP3, VOP3Op.V_MUL_LO_U16) v_cvt_pk_i16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_I16_F32) v_cvt_pk_u16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_U16_F32) v_max_u16 = functools.partial(VOP3, VOP3Op.V_MAX_U16) v_max_i16 = functools.partial(VOP3, VOP3Op.V_MAX_I16) v_min_u16 = functools.partial(VOP3, VOP3Op.V_MIN_U16) v_min_i16 = functools.partial(VOP3, VOP3Op.V_MIN_I16) v_add_nc_i16 = functools.partial(VOP3, VOP3Op.V_ADD_NC_I16) v_sub_nc_i16 = functools.partial(VOP3, VOP3Op.V_SUB_NC_I16) v_pack_b32_f16 = functools.partial(VOP3, VOP3Op.V_PACK_B32_F16) v_cvt_pk_norm_i16_f16 = functools.partial(VOP3, VOP3Op.V_CVT_PK_NORM_I16_F16) v_cvt_pk_norm_u16_f16 = functools.partial(VOP3, VOP3Op.V_CVT_PK_NORM_U16_F16) v_ldexp_f32 = functools.partial(VOP3, VOP3Op.V_LDEXP_F32) v_bfm_b32 = functools.partial(VOP3, VOP3Op.V_BFM_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_cvt_pk_norm_i16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_NORM_I16_F32) v_cvt_pk_norm_u16_f32 = functools.partial(VOP3, VOP3Op.V_CVT_PK_NORM_U16_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_sub_nc_i32 = functools.partial(VOP3, VOP3Op.V_SUB_NC_I32) v_add_nc_i32 = functools.partial(VOP3, VOP3Op.V_ADD_NC_I32) 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_trig_preop_f64 = functools.partial(VOP3, VOP3Op.V_TRIG_PREOP_F64) v_lshlrev_b16 = functools.partial(VOP3, VOP3Op.V_LSHLREV_B16) v_lshrrev_b16 = functools.partial(VOP3, VOP3Op.V_LSHRREV_B16) v_ashrrev_i16 = functools.partial(VOP3, VOP3Op.V_ASHRREV_I16) 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_readlane_b32 = functools.partial(VOP3_SDST, VOP3Op.V_READLANE_B32) v_writelane_b32 = functools.partial(VOP3, VOP3Op.V_WRITELANE_B32) v_and_b16 = functools.partial(VOP3, VOP3Op.V_AND_B16) v_or_b16 = functools.partial(VOP3, VOP3Op.V_OR_B16) v_xor_b16 = functools.partial(VOP3, VOP3Op.V_XOR_B16) 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_f16 = functools.partial(VOP3P, VOP3POp.V_DOT2_F32_F16) v_dot4_i32_iu8 = functools.partial(VOP3P, VOP3POp.V_DOT4_I32_IU8) v_dot4_u32_u8 = functools.partial(VOP3P, VOP3POp.V_DOT4_U32_U8) v_dot8_i32_iu4 = functools.partial(VOP3P, VOP3POp.V_DOT8_I32_IU4) v_dot8_u32_u4 = functools.partial(VOP3P, VOP3POp.V_DOT8_U32_U4) v_dot2_f32_bf16 = functools.partial(VOP3P, VOP3POp.V_DOT2_F32_BF16) v_fma_mix_f32 = functools.partial(VOP3P, VOP3POp.V_FMA_MIX_F32) v_fma_mixlo_f16 = functools.partial(VOP3P, VOP3POp.V_FMA_MIXLO_F16) v_fma_mixhi_f16 = functools.partial(VOP3P, VOP3POp.V_FMA_MIXHI_F16) v_wmma_f32_16x16x16_f16 = functools.partial(VOP3P, VOP3POp.V_WMMA_F32_16X16X16_F16) v_wmma_f32_16x16x16_bf16 = functools.partial(VOP3P, VOP3POp.V_WMMA_F32_16X16X16_BF16) v_wmma_f16_16x16x16_f16 = functools.partial(VOP3P, VOP3POp.V_WMMA_F16_16X16X16_F16) v_wmma_bf16_16x16x16_bf16 = functools.partial(VOP3P, VOP3POp.V_WMMA_BF16_16X16X16_BF16) v_wmma_i32_16x16x16_iu8 = functools.partial(VOP3P, VOP3POp.V_WMMA_I32_16X16X16_IU8) v_wmma_i32_16x16x16_iu4 = functools.partial(VOP3P, VOP3POp.V_WMMA_I32_16X16X16_IU4) v_add_co_ci_u32 = functools.partial(VOP3SD, VOP3SDOp.V_ADD_CO_CI_U32) v_sub_co_ci_u32 = functools.partial(VOP3SD, VOP3SDOp.V_SUB_CO_CI_U32) v_subrev_co_ci_u32 = functools.partial(VOP3SD, VOP3SDOp.V_SUBREV_CO_CI_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_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_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_t_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_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_t_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_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_t_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_F64_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_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_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_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_cmp_class_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F16_E32) v_cmp_class_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F32_E32) v_cmp_class_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F64_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_t_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_F16_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_t_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_F32_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_t_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_F64_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_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_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_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) v_cmpx_class_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F16_E32) v_cmpx_class_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F32_E32) v_cmpx_class_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F64_E32) v_dual_fmac_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_FMAC_F32) v_dual_fmaak_f32 = functools.partial(VOPD_LIT, VOPDOp.V_DUAL_FMAAK_F32) v_dual_fmamk_f32 = functools.partial(VOPD_LIT, VOPDOp.V_DUAL_FMAMK_F32) v_dual_mul_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_MUL_F32) v_dual_add_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_ADD_F32) v_dual_sub_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_SUB_F32) v_dual_subrev_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_SUBREV_F32) v_dual_mul_dx9_zero_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_MUL_DX9_ZERO_F32) v_dual_mov_b32 = functools.partial(VOPD, VOPDOp.V_DUAL_MOV_B32) v_dual_cndmask_b32 = functools.partial(VOPD, VOPDOp.V_DUAL_CNDMASK_B32) v_dual_max_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_MAX_F32) v_dual_min_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_MIN_F32) v_dual_dot2acc_f32_f16 = functools.partial(VOPD, VOPDOp.V_DUAL_DOT2ACC_F32_F16) v_dual_dot2acc_f32_bf16 = functools.partial(VOPD, VOPDOp.V_DUAL_DOT2ACC_F32_BF16) v_dual_add_nc_u32 = functools.partial(VOPD, VOPDOp.V_DUAL_ADD_NC_U32) v_dual_lshlrev_b32 = functools.partial(VOPD, VOPDOp.V_DUAL_LSHLREV_B32) v_dual_and_b32 = functools.partial(VOPD, VOPDOp.V_DUAL_AND_B32)