# autogenerated from AMD RDNA3.5 ISA PDF by dsl.py - do not edit from enum import IntEnum from typing import Annotated from extra.assembly.amd.dsl import bits, BitField, Inst32, Inst64, SGPR, VGPR, TTMP as TTMP, s as s, v as v, ttmp as ttmp, SSrc, Src, SImm, Imm, VDSTYEnc, SGPRField, VGPRField import functools class SrcEnum(IntEnum): VCC_LO = 106 VCC_HI = 107 NULL = 124 M0 = 125 EXEC_LO = 126 EXEC_HI = 127 ZERO = 128 DPP8 = 233 DPP8FI = 234 SHARED_BASE = 235 SHARED_LIMIT = 236 PRIVATE_BASE = 237 PRIVATE_LIMIT = 238 POS_HALF = 240 NEG_HALF = 241 POS_ONE = 242 NEG_ONE = 243 POS_TWO = 244 NEG_TWO = 245 POS_FOUR = 246 NEG_FOUR = 247 INV_2PI = 248 DPP16 = 250 VCCZ = 251 EXECZ = 252 SCC = 253 LDS_DIRECT = 254 class DSOp(IntEnum): DS_ADD_U32 = 0 DS_SUB_U32 = 1 DS_RSUB_U32 = 2 DS_INC_U32 = 3 DS_DEC_U32 = 4 DS_MIN_I32 = 5 DS_MAX_I32 = 6 DS_MIN_U32 = 7 DS_MAX_U32 = 8 DS_AND_B32 = 9 DS_OR_B32 = 10 DS_XOR_B32 = 11 DS_MSKOR_B32 = 12 DS_STORE_B32 = 13 DS_STORE_2ADDR_B32 = 14 DS_STORE_2ADDR_STRIDE64_B32 = 15 DS_CMPSTORE_B32 = 16 DS_CMPSTORE_F32 = 17 DS_MIN_F32 = 18 DS_MAX_F32 = 19 DS_NOP = 20 DS_ADD_F32 = 21 DS_GWS_SEMA_RELEASE_ALL = 24 DS_GWS_INIT = 25 DS_GWS_SEMA_V = 26 DS_GWS_SEMA_BR = 27 DS_GWS_SEMA_P = 28 DS_GWS_BARRIER = 29 DS_STORE_B8 = 30 DS_STORE_B16 = 31 DS_ADD_RTN_U32 = 32 DS_SUB_RTN_U32 = 33 DS_RSUB_RTN_U32 = 34 DS_INC_RTN_U32 = 35 DS_DEC_RTN_U32 = 36 DS_MIN_RTN_I32 = 37 DS_MAX_RTN_I32 = 38 DS_MIN_RTN_U32 = 39 DS_MAX_RTN_U32 = 40 DS_AND_RTN_B32 = 41 DS_OR_RTN_B32 = 42 DS_XOR_RTN_B32 = 43 DS_MSKOR_RTN_B32 = 44 DS_STOREXCHG_RTN_B32 = 45 DS_STOREXCHG_2ADDR_RTN_B32 = 46 DS_STOREXCHG_2ADDR_STRIDE64_RTN_B32 = 47 DS_CMPSTORE_RTN_B32 = 48 DS_CMPSTORE_RTN_F32 = 49 DS_MIN_RTN_F32 = 50 DS_MAX_RTN_F32 = 51 DS_WRAP_RTN_B32 = 52 DS_SWIZZLE_B32 = 53 DS_LOAD_B32 = 54 DS_LOAD_2ADDR_B32 = 55 DS_LOAD_2ADDR_STRIDE64_B32 = 56 DS_LOAD_I8 = 57 DS_LOAD_U8 = 58 DS_LOAD_I16 = 59 DS_LOAD_U16 = 60 DS_CONSUME = 61 DS_APPEND = 62 DS_ORDERED_COUNT = 63 DS_ADD_U64 = 64 DS_SUB_U64 = 65 DS_RSUB_U64 = 66 DS_INC_U64 = 67 DS_DEC_U64 = 68 DS_MIN_I64 = 69 DS_MAX_I64 = 70 DS_MIN_U64 = 71 DS_MAX_U64 = 72 DS_AND_B64 = 73 DS_OR_B64 = 74 DS_XOR_B64 = 75 DS_MSKOR_B64 = 76 DS_STORE_B64 = 77 DS_STORE_2ADDR_B64 = 78 DS_STORE_2ADDR_STRIDE64_B64 = 79 DS_CMPSTORE_B64 = 80 DS_CMPSTORE_F64 = 81 DS_MIN_F64 = 82 DS_MAX_F64 = 83 DS_ADD_RTN_U64 = 96 DS_SUB_RTN_U64 = 97 DS_RSUB_RTN_U64 = 98 DS_INC_RTN_U64 = 99 DS_DEC_RTN_U64 = 100 DS_MIN_RTN_I64 = 101 DS_MAX_RTN_I64 = 102 DS_MIN_RTN_U64 = 103 DS_MAX_RTN_U64 = 104 DS_AND_RTN_B64 = 105 DS_OR_RTN_B64 = 106 DS_XOR_RTN_B64 = 107 DS_MSKOR_RTN_B64 = 108 DS_STOREXCHG_RTN_B64 = 109 DS_STOREXCHG_2ADDR_RTN_B64 = 110 DS_STOREXCHG_2ADDR_STRIDE64_RTN_B64 = 111 DS_CMPSTORE_RTN_B64 = 112 DS_CMPSTORE_RTN_F64 = 113 DS_MIN_RTN_F64 = 114 DS_MAX_RTN_F64 = 115 DS_LOAD_B64 = 118 DS_LOAD_2ADDR_B64 = 119 DS_LOAD_2ADDR_STRIDE64_B64 = 120 DS_ADD_RTN_F32 = 121 DS_ADD_GS_REG_RTN = 122 DS_SUB_GS_REG_RTN = 123 DS_CONDXCHG32_RTN_B64 = 126 DS_STORE_B8_D16_HI = 160 DS_STORE_B16_D16_HI = 161 DS_LOAD_U8_D16 = 162 DS_LOAD_U8_D16_HI = 163 DS_LOAD_I8_D16 = 164 DS_LOAD_I8_D16_HI = 165 DS_LOAD_U16_D16 = 166 DS_LOAD_U16_D16_HI = 167 DS_BVH_STACK_RTN_B32 = 173 DS_STORE_ADDTID_B32 = 176 DS_LOAD_ADDTID_B32 = 177 DS_PERMUTE_B32 = 178 DS_BPERMUTE_B32 = 179 DS_STORE_B96 = 222 DS_STORE_B128 = 223 DS_LOAD_B96 = 254 DS_LOAD_B128 = 255 class FLATOp(IntEnum): FLAT_LOAD_U8 = 16 FLAT_LOAD_I8 = 17 FLAT_LOAD_U16 = 18 FLAT_LOAD_I16 = 19 FLAT_LOAD_B32 = 20 FLAT_LOAD_B64 = 21 FLAT_LOAD_B96 = 22 FLAT_LOAD_B128 = 23 FLAT_STORE_B8 = 24 FLAT_STORE_B16 = 25 FLAT_STORE_B32 = 26 FLAT_STORE_B64 = 27 FLAT_STORE_B96 = 28 FLAT_STORE_B128 = 29 FLAT_LOAD_D16_U8 = 30 FLAT_LOAD_D16_I8 = 31 FLAT_LOAD_D16_B16 = 32 FLAT_LOAD_D16_HI_U8 = 33 FLAT_LOAD_D16_HI_I8 = 34 FLAT_LOAD_D16_HI_B16 = 35 FLAT_STORE_D16_HI_B8 = 36 FLAT_STORE_D16_HI_B16 = 37 GLOBAL_LOAD_ADDTID_B32 = 40 GLOBAL_STORE_ADDTID_B32 = 41 FLAT_ATOMIC_SWAP_B32 = 51 FLAT_ATOMIC_CMPSWAP_B32 = 52 FLAT_ATOMIC_ADD_U32 = 53 FLAT_ATOMIC_SUB_U32 = 54 FLAT_ATOMIC_CSUB_U32 = 55 FLAT_ATOMIC_MIN_I32 = 56 FLAT_ATOMIC_MIN_U32 = 57 FLAT_ATOMIC_MAX_I32 = 58 FLAT_ATOMIC_MAX_U32 = 59 FLAT_ATOMIC_AND_B32 = 60 FLAT_ATOMIC_OR_B32 = 61 FLAT_ATOMIC_XOR_B32 = 62 FLAT_ATOMIC_INC_U32 = 63 FLAT_ATOMIC_DEC_U32 = 64 FLAT_ATOMIC_SWAP_B64 = 65 FLAT_ATOMIC_CMPSWAP_B64 = 66 FLAT_ATOMIC_ADD_U64 = 67 FLAT_ATOMIC_SUB_U64 = 68 FLAT_ATOMIC_MIN_I64 = 69 FLAT_ATOMIC_MIN_U64 = 70 FLAT_ATOMIC_MAX_I64 = 71 FLAT_ATOMIC_MAX_U64 = 72 FLAT_ATOMIC_AND_B64 = 73 FLAT_ATOMIC_OR_B64 = 74 FLAT_ATOMIC_XOR_B64 = 75 FLAT_ATOMIC_INC_U64 = 76 FLAT_ATOMIC_DEC_U64 = 77 FLAT_ATOMIC_CMPSWAP_F32 = 80 FLAT_ATOMIC_MIN_F32 = 81 FLAT_ATOMIC_MAX_F32 = 82 FLAT_ATOMIC_ADD_F32 = 86 class GLOBALOp(IntEnum): GLOBAL_LOAD_U8 = 16 GLOBAL_LOAD_I8 = 17 GLOBAL_LOAD_U16 = 18 GLOBAL_LOAD_I16 = 19 GLOBAL_LOAD_B32 = 20 GLOBAL_LOAD_B64 = 21 GLOBAL_LOAD_B96 = 22 GLOBAL_LOAD_B128 = 23 GLOBAL_STORE_B8 = 24 GLOBAL_STORE_B16 = 25 GLOBAL_STORE_B32 = 26 GLOBAL_STORE_B64 = 27 GLOBAL_STORE_B96 = 28 GLOBAL_STORE_B128 = 29 GLOBAL_LOAD_D16_U8 = 30 GLOBAL_LOAD_D16_I8 = 31 GLOBAL_LOAD_D16_B16 = 32 GLOBAL_LOAD_D16_HI_U8 = 33 GLOBAL_LOAD_D16_HI_I8 = 34 GLOBAL_LOAD_D16_HI_B16 = 35 GLOBAL_STORE_D16_HI_B8 = 36 GLOBAL_STORE_D16_HI_B16 = 37 GLOBAL_LOAD_ADDTID_B32 = 40 GLOBAL_STORE_ADDTID_B32 = 41 GLOBAL_ATOMIC_SWAP_B32 = 51 GLOBAL_ATOMIC_CMPSWAP_B32 = 52 GLOBAL_ATOMIC_ADD_U32 = 53 GLOBAL_ATOMIC_SUB_U32 = 54 GLOBAL_ATOMIC_CSUB_U32 = 55 GLOBAL_ATOMIC_MIN_I32 = 56 GLOBAL_ATOMIC_MIN_U32 = 57 GLOBAL_ATOMIC_MAX_I32 = 58 GLOBAL_ATOMIC_MAX_U32 = 59 GLOBAL_ATOMIC_AND_B32 = 60 GLOBAL_ATOMIC_OR_B32 = 61 GLOBAL_ATOMIC_XOR_B32 = 62 GLOBAL_ATOMIC_INC_U32 = 63 GLOBAL_ATOMIC_DEC_U32 = 64 GLOBAL_ATOMIC_SWAP_B64 = 65 GLOBAL_ATOMIC_CMPSWAP_B64 = 66 GLOBAL_ATOMIC_ADD_U64 = 67 GLOBAL_ATOMIC_SUB_U64 = 68 GLOBAL_ATOMIC_MIN_I64 = 69 GLOBAL_ATOMIC_MIN_U64 = 70 GLOBAL_ATOMIC_MAX_I64 = 71 GLOBAL_ATOMIC_MAX_U64 = 72 GLOBAL_ATOMIC_AND_B64 = 73 GLOBAL_ATOMIC_OR_B64 = 74 GLOBAL_ATOMIC_XOR_B64 = 75 GLOBAL_ATOMIC_INC_U64 = 76 GLOBAL_ATOMIC_DEC_U64 = 77 GLOBAL_ATOMIC_CMPSWAP_F32 = 80 GLOBAL_ATOMIC_MIN_F32 = 81 GLOBAL_ATOMIC_MAX_F32 = 82 GLOBAL_ATOMIC_ADD_F32 = 86 class MIMGOp(IntEnum): IMAGE_LOAD = 0 IMAGE_LOAD_MIP = 1 IMAGE_LOAD_PCK = 2 IMAGE_LOAD_PCK_SGN = 3 IMAGE_LOAD_MIP_PCK = 4 IMAGE_LOAD_MIP_PCK_SGN = 5 IMAGE_STORE = 6 IMAGE_STORE_MIP = 7 IMAGE_STORE_PCK = 8 IMAGE_STORE_MIP_PCK = 9 IMAGE_ATOMIC_SWAP = 10 IMAGE_ATOMIC_CMPSWAP = 11 IMAGE_ATOMIC_ADD = 12 IMAGE_ATOMIC_SUB = 13 IMAGE_ATOMIC_SMIN = 14 IMAGE_ATOMIC_UMIN = 15 IMAGE_ATOMIC_SMAX = 16 IMAGE_ATOMIC_UMAX = 17 IMAGE_ATOMIC_AND = 18 IMAGE_ATOMIC_OR = 19 IMAGE_ATOMIC_XOR = 20 IMAGE_ATOMIC_INC = 21 IMAGE_ATOMIC_DEC = 22 IMAGE_GET_RESINFO = 23 IMAGE_MSAA_LOAD = 24 IMAGE_BVH_INTERSECT_RAY = 25 IMAGE_BVH64_INTERSECT_RAY = 26 IMAGE_SAMPLE = 27 IMAGE_SAMPLE_D = 28 IMAGE_SAMPLE_L = 29 IMAGE_SAMPLE_B = 30 IMAGE_SAMPLE_LZ = 31 IMAGE_SAMPLE_C = 32 IMAGE_SAMPLE_C_D = 33 IMAGE_SAMPLE_C_L = 34 IMAGE_SAMPLE_C_B = 35 IMAGE_SAMPLE_C_LZ = 36 IMAGE_SAMPLE_O = 37 IMAGE_SAMPLE_D_O = 38 IMAGE_SAMPLE_L_O = 39 IMAGE_SAMPLE_B_O = 40 IMAGE_SAMPLE_LZ_O = 41 IMAGE_SAMPLE_C_O = 42 IMAGE_SAMPLE_C_D_O = 43 IMAGE_SAMPLE_C_L_O = 44 IMAGE_SAMPLE_C_B_O = 45 IMAGE_SAMPLE_C_LZ_O = 46 IMAGE_GATHER4 = 47 IMAGE_GATHER4_L = 48 IMAGE_GATHER4_B = 49 IMAGE_GATHER4_LZ = 50 IMAGE_GATHER4_C = 51 IMAGE_GATHER4_C_LZ = 52 IMAGE_GATHER4_O = 53 IMAGE_GATHER4_LZ_O = 54 IMAGE_GATHER4_C_LZ_O = 55 IMAGE_GET_LOD = 56 IMAGE_SAMPLE_D_G16 = 57 IMAGE_SAMPLE_C_D_G16 = 58 IMAGE_SAMPLE_D_O_G16 = 59 IMAGE_SAMPLE_C_D_O_G16 = 60 IMAGE_SAMPLE_CL = 64 IMAGE_SAMPLE_D_CL = 65 IMAGE_SAMPLE_B_CL = 66 IMAGE_SAMPLE_C_CL = 67 IMAGE_SAMPLE_C_D_CL = 68 IMAGE_SAMPLE_C_B_CL = 69 IMAGE_SAMPLE_CL_O = 70 IMAGE_SAMPLE_D_CL_O = 71 IMAGE_SAMPLE_B_CL_O = 72 IMAGE_SAMPLE_C_CL_O = 73 IMAGE_SAMPLE_C_D_CL_O = 74 IMAGE_SAMPLE_C_B_CL_O = 75 IMAGE_SAMPLE_C_D_CL_G16 = 84 IMAGE_SAMPLE_D_CL_O_G16 = 85 IMAGE_SAMPLE_C_D_CL_O_G16 = 86 IMAGE_SAMPLE_D_CL_G16 = 95 IMAGE_GATHER4_CL = 96 IMAGE_GATHER4_B_CL = 97 IMAGE_GATHER4_C_CL = 98 IMAGE_GATHER4_C_L = 99 IMAGE_GATHER4_C_B = 100 IMAGE_GATHER4_C_B_CL = 101 IMAGE_GATHER4H = 144 class MTBUFOp(IntEnum): TBUFFER_LOAD_FORMAT_X = 0 TBUFFER_LOAD_FORMAT_XY = 1 TBUFFER_LOAD_FORMAT_XYZ = 2 TBUFFER_LOAD_FORMAT_XYZW = 3 TBUFFER_STORE_FORMAT_X = 4 TBUFFER_STORE_FORMAT_XY = 5 TBUFFER_STORE_FORMAT_XYZ = 6 TBUFFER_STORE_FORMAT_XYZW = 7 TBUFFER_LOAD_D16_FORMAT_X = 8 TBUFFER_LOAD_D16_FORMAT_XY = 9 TBUFFER_LOAD_D16_FORMAT_XYZ = 10 TBUFFER_LOAD_D16_FORMAT_XYZW = 11 TBUFFER_STORE_D16_FORMAT_X = 12 TBUFFER_STORE_D16_FORMAT_XY = 13 TBUFFER_STORE_D16_FORMAT_XYZ = 14 TBUFFER_STORE_D16_FORMAT_XYZW = 15 class MUBUFOp(IntEnum): BUFFER_LOAD_FORMAT_X = 0 BUFFER_LOAD_FORMAT_XY = 1 BUFFER_LOAD_FORMAT_XYZ = 2 BUFFER_LOAD_FORMAT_XYZW = 3 BUFFER_STORE_FORMAT_X = 4 BUFFER_STORE_FORMAT_XY = 5 BUFFER_STORE_FORMAT_XYZ = 6 BUFFER_STORE_FORMAT_XYZW = 7 BUFFER_LOAD_D16_FORMAT_X = 8 BUFFER_LOAD_D16_FORMAT_XY = 9 BUFFER_LOAD_D16_FORMAT_XYZ = 10 BUFFER_LOAD_D16_FORMAT_XYZW = 11 BUFFER_STORE_D16_FORMAT_X = 12 BUFFER_STORE_D16_FORMAT_XY = 13 BUFFER_STORE_D16_FORMAT_XYZ = 14 BUFFER_STORE_D16_FORMAT_XYZW = 15 BUFFER_LOAD_U8 = 16 BUFFER_LOAD_I8 = 17 BUFFER_LOAD_U16 = 18 BUFFER_LOAD_I16 = 19 BUFFER_LOAD_B32 = 20 BUFFER_LOAD_B64 = 21 BUFFER_LOAD_B96 = 22 BUFFER_LOAD_B128 = 23 BUFFER_STORE_B8 = 24 BUFFER_STORE_B16 = 25 BUFFER_STORE_B32 = 26 BUFFER_STORE_B64 = 27 BUFFER_STORE_B96 = 28 BUFFER_STORE_B128 = 29 BUFFER_LOAD_D16_U8 = 30 BUFFER_LOAD_D16_I8 = 31 BUFFER_LOAD_D16_B16 = 32 BUFFER_LOAD_D16_HI_U8 = 33 BUFFER_LOAD_D16_HI_I8 = 34 BUFFER_LOAD_D16_HI_B16 = 35 BUFFER_STORE_D16_HI_B8 = 36 BUFFER_STORE_D16_HI_B16 = 37 BUFFER_LOAD_D16_HI_FORMAT_X = 38 BUFFER_STORE_D16_HI_FORMAT_X = 39 BUFFER_GL0_INV = 43 BUFFER_GL1_INV = 44 BUFFER_ATOMIC_SWAP_B32 = 51 BUFFER_ATOMIC_CMPSWAP_B32 = 52 BUFFER_ATOMIC_ADD_U32 = 53 BUFFER_ATOMIC_SUB_U32 = 54 BUFFER_ATOMIC_CSUB_U32 = 55 BUFFER_ATOMIC_MIN_I32 = 56 BUFFER_ATOMIC_MIN_U32 = 57 BUFFER_ATOMIC_MAX_I32 = 58 BUFFER_ATOMIC_MAX_U32 = 59 BUFFER_ATOMIC_AND_B32 = 60 BUFFER_ATOMIC_OR_B32 = 61 BUFFER_ATOMIC_XOR_B32 = 62 BUFFER_ATOMIC_INC_U32 = 63 BUFFER_ATOMIC_DEC_U32 = 64 BUFFER_ATOMIC_SWAP_B64 = 65 BUFFER_ATOMIC_CMPSWAP_B64 = 66 BUFFER_ATOMIC_ADD_U64 = 67 BUFFER_ATOMIC_SUB_U64 = 68 BUFFER_ATOMIC_MIN_I64 = 69 BUFFER_ATOMIC_MIN_U64 = 70 BUFFER_ATOMIC_MAX_I64 = 71 BUFFER_ATOMIC_MAX_U64 = 72 BUFFER_ATOMIC_AND_B64 = 73 BUFFER_ATOMIC_OR_B64 = 74 BUFFER_ATOMIC_XOR_B64 = 75 BUFFER_ATOMIC_INC_U64 = 76 BUFFER_ATOMIC_DEC_U64 = 77 BUFFER_ATOMIC_CMPSWAP_F32 = 80 BUFFER_ATOMIC_MIN_F32 = 81 BUFFER_ATOMIC_MAX_F32 = 82 BUFFER_ATOMIC_ADD_F32 = 86 class SCRATCHOp(IntEnum): SCRATCH_LOAD_U8 = 16 SCRATCH_LOAD_I8 = 17 SCRATCH_LOAD_U16 = 18 SCRATCH_LOAD_I16 = 19 SCRATCH_LOAD_B32 = 20 SCRATCH_LOAD_B64 = 21 SCRATCH_LOAD_B96 = 22 SCRATCH_LOAD_B128 = 23 SCRATCH_STORE_B8 = 24 SCRATCH_STORE_B16 = 25 SCRATCH_STORE_B32 = 26 SCRATCH_STORE_B64 = 27 SCRATCH_STORE_B96 = 28 SCRATCH_STORE_B128 = 29 SCRATCH_LOAD_D16_U8 = 30 SCRATCH_LOAD_D16_I8 = 31 SCRATCH_LOAD_D16_B16 = 32 SCRATCH_LOAD_D16_HI_U8 = 33 SCRATCH_LOAD_D16_HI_I8 = 34 SCRATCH_LOAD_D16_HI_B16 = 35 SCRATCH_STORE_D16_HI_B8 = 36 SCRATCH_STORE_D16_HI_B16 = 37 class SMEMOp(IntEnum): S_LOAD_B32 = 0 S_LOAD_B64 = 1 S_LOAD_B128 = 2 S_LOAD_B256 = 3 S_LOAD_B512 = 4 S_BUFFER_LOAD_B32 = 8 S_BUFFER_LOAD_B64 = 9 S_BUFFER_LOAD_B128 = 10 S_BUFFER_LOAD_B256 = 11 S_BUFFER_LOAD_B512 = 12 S_GL1_INV = 32 S_DCACHE_INV = 33 class SOP1Op(IntEnum): S_MOV_B32 = 0 S_MOV_B64 = 1 S_CMOV_B32 = 2 S_CMOV_B64 = 3 S_BREV_B32 = 4 S_BREV_B64 = 5 S_CTZ_I32_B32 = 8 S_CTZ_I32_B64 = 9 S_CLZ_I32_U32 = 10 S_CLZ_I32_U64 = 11 S_CLS_I32 = 12 S_CLS_I32_I64 = 13 S_SEXT_I32_I8 = 14 S_SEXT_I32_I16 = 15 S_BITSET0_B32 = 16 S_BITSET0_B64 = 17 S_BITSET1_B32 = 18 S_BITSET1_B64 = 19 S_BITREPLICATE_B64_B32 = 20 S_ABS_I32 = 21 S_BCNT0_I32_B32 = 22 S_BCNT0_I32_B64 = 23 S_BCNT1_I32_B32 = 24 S_BCNT1_I32_B64 = 25 S_QUADMASK_B32 = 26 S_QUADMASK_B64 = 27 S_WQM_B32 = 28 S_WQM_B64 = 29 S_NOT_B32 = 30 S_NOT_B64 = 31 S_AND_SAVEEXEC_B32 = 32 S_AND_SAVEEXEC_B64 = 33 S_OR_SAVEEXEC_B32 = 34 S_OR_SAVEEXEC_B64 = 35 S_XOR_SAVEEXEC_B32 = 36 S_XOR_SAVEEXEC_B64 = 37 S_NAND_SAVEEXEC_B32 = 38 S_NAND_SAVEEXEC_B64 = 39 S_NOR_SAVEEXEC_B32 = 40 S_NOR_SAVEEXEC_B64 = 41 S_XNOR_SAVEEXEC_B32 = 42 S_XNOR_SAVEEXEC_B64 = 43 S_AND_NOT0_SAVEEXEC_B32 = 44 S_AND_NOT0_SAVEEXEC_B64 = 45 S_OR_NOT0_SAVEEXEC_B32 = 46 S_OR_NOT0_SAVEEXEC_B64 = 47 S_AND_NOT1_SAVEEXEC_B32 = 48 S_AND_NOT1_SAVEEXEC_B64 = 49 S_OR_NOT1_SAVEEXEC_B32 = 50 S_OR_NOT1_SAVEEXEC_B64 = 51 S_AND_NOT0_WREXEC_B32 = 52 S_AND_NOT0_WREXEC_B64 = 53 S_AND_NOT1_WREXEC_B32 = 54 S_AND_NOT1_WREXEC_B64 = 55 S_MOVRELS_B32 = 64 S_MOVRELS_B64 = 65 S_MOVRELD_B32 = 66 S_MOVRELD_B64 = 67 S_MOVRELSD_2_B32 = 68 S_GETPC_B64 = 71 S_SETPC_B64 = 72 S_SWAPPC_B64 = 73 S_RFE_B64 = 74 S_SENDMSG_RTN_B32 = 76 S_SENDMSG_RTN_B64 = 77 S_CEIL_F32 = 96 S_FLOOR_F32 = 97 S_TRUNC_F32 = 98 S_RNDNE_F32 = 99 S_CVT_F32_I32 = 100 S_CVT_F32_U32 = 101 S_CVT_I32_F32 = 102 S_CVT_U32_F32 = 103 S_CVT_F16_F32 = 104 S_CVT_F32_F16 = 105 S_CVT_HI_F32_F16 = 106 S_CEIL_F16 = 107 S_FLOOR_F16 = 108 S_TRUNC_F16 = 109 S_RNDNE_F16 = 110 class SOP2Op(IntEnum): S_ADD_U32 = 0 S_SUB_U32 = 1 S_ADD_I32 = 2 S_SUB_I32 = 3 S_ADDC_U32 = 4 S_SUBB_U32 = 5 S_ABSDIFF_I32 = 6 S_LSHL_B32 = 8 S_LSHL_B64 = 9 S_LSHR_B32 = 10 S_LSHR_B64 = 11 S_ASHR_I32 = 12 S_ASHR_I64 = 13 S_LSHL1_ADD_U32 = 14 S_LSHL2_ADD_U32 = 15 S_LSHL3_ADD_U32 = 16 S_LSHL4_ADD_U32 = 17 S_MIN_I32 = 18 S_MIN_U32 = 19 S_MAX_I32 = 20 S_MAX_U32 = 21 S_AND_B32 = 22 S_AND_B64 = 23 S_OR_B32 = 24 S_OR_B64 = 25 S_XOR_B32 = 26 S_XOR_B64 = 27 S_NAND_B32 = 28 S_NAND_B64 = 29 S_NOR_B32 = 30 S_NOR_B64 = 31 S_XNOR_B32 = 32 S_XNOR_B64 = 33 S_AND_NOT1_B32 = 34 S_AND_NOT1_B64 = 35 S_OR_NOT1_B32 = 36 S_OR_NOT1_B64 = 37 S_BFE_U32 = 38 S_BFE_I32 = 39 S_BFE_U64 = 40 S_BFE_I64 = 41 S_BFM_B32 = 42 S_BFM_B64 = 43 S_MUL_I32 = 44 S_MUL_HI_U32 = 45 S_MUL_HI_I32 = 46 S_CSELECT_B32 = 48 S_CSELECT_B64 = 49 S_PACK_LL_B32_B16 = 50 S_PACK_LH_B32_B16 = 51 S_PACK_HH_B32_B16 = 52 S_PACK_HL_B32_B16 = 53 S_ADD_F32 = 64 S_SUB_F32 = 65 S_MIN_F32 = 66 S_MAX_F32 = 67 S_MUL_F32 = 68 S_FMAAK_F32 = 69 S_FMAMK_F32 = 70 S_FMAC_F32 = 71 S_CVT_PK_RTZ_F16_F32 = 72 S_ADD_F16 = 73 S_SUB_F16 = 74 S_MIN_F16 = 75 S_MAX_F16 = 76 S_MUL_F16 = 77 S_FMAC_F16 = 78 class SOPCOp(IntEnum): S_CMP_EQ_I32 = 0 S_CMP_LG_I32 = 1 S_CMP_GT_I32 = 2 S_CMP_GE_I32 = 3 S_CMP_LT_I32 = 4 S_CMP_LE_I32 = 5 S_CMP_EQ_U32 = 6 S_CMP_LG_U32 = 7 S_CMP_GT_U32 = 8 S_CMP_GE_U32 = 9 S_CMP_LT_U32 = 10 S_CMP_LE_U32 = 11 S_BITCMP0_B32 = 12 S_BITCMP1_B32 = 13 S_BITCMP0_B64 = 14 S_BITCMP1_B64 = 15 S_CMP_EQ_U64 = 16 S_CMP_LG_U64 = 17 S_CMP_LT_F32 = 65 S_CMP_EQ_F32 = 66 S_CMP_LE_F32 = 67 S_CMP_GT_F32 = 68 S_CMP_LG_F32 = 69 S_CMP_GE_F32 = 70 S_CMP_O_F32 = 71 S_CMP_U_F32 = 72 S_CMP_NGE_F32 = 73 S_CMP_NLG_F32 = 74 S_CMP_NGT_F32 = 75 S_CMP_NLE_F32 = 76 S_CMP_NEQ_F32 = 77 S_CMP_NLT_F32 = 78 S_CMP_LT_F16 = 81 S_CMP_EQ_F16 = 82 S_CMP_LE_F16 = 83 S_CMP_GT_F16 = 84 S_CMP_LG_F16 = 85 S_CMP_GE_F16 = 86 S_CMP_O_F16 = 87 S_CMP_U_F16 = 88 S_CMP_NGE_F16 = 89 S_CMP_NLG_F16 = 90 S_CMP_NGT_F16 = 91 S_CMP_NLE_F16 = 92 S_CMP_NEQ_F16 = 93 S_CMP_NLT_F16 = 94 class SOPKOp(IntEnum): S_MOVK_I32 = 0 S_VERSION = 1 S_CMOVK_I32 = 2 S_CMPK_EQ_I32 = 3 S_CMPK_LG_I32 = 4 S_CMPK_GT_I32 = 5 S_CMPK_GE_I32 = 6 S_CMPK_LT_I32 = 7 S_CMPK_LE_I32 = 8 S_CMPK_EQ_U32 = 9 S_CMPK_LG_U32 = 10 S_CMPK_GT_U32 = 11 S_CMPK_GE_U32 = 12 S_CMPK_LT_U32 = 13 S_CMPK_LE_U32 = 14 S_ADDK_I32 = 15 S_MULK_I32 = 16 S_GETREG_B32 = 17 S_SETREG_B32 = 18 S_SETREG_IMM32_B32 = 19 S_CALL_B64 = 20 S_WAITCNT_VSCNT = 24 S_WAITCNT_VMCNT = 25 S_WAITCNT_EXPCNT = 26 S_WAITCNT_LGKMCNT = 27 class SOPPOp(IntEnum): S_NOP = 0 S_SETKILL = 1 S_SETHALT = 2 S_SLEEP = 3 S_SET_INST_PREFETCH_DISTANCE = 4 S_CLAUSE = 5 S_DELAY_ALU = 7 S_WAITCNT_DEPCTR = 8 S_WAITCNT = 9 S_WAIT_IDLE = 10 S_WAIT_EVENT = 11 S_TRAP = 16 S_ROUND_MODE = 17 S_DENORM_MODE = 18 S_CODE_END = 31 S_BRANCH = 32 S_CBRANCH_SCC0 = 33 S_CBRANCH_SCC1 = 34 S_CBRANCH_VCCZ = 35 S_CBRANCH_VCCNZ = 36 S_CBRANCH_EXECZ = 37 S_CBRANCH_EXECNZ = 38 S_CBRANCH_CDBGSYS = 39 S_CBRANCH_CDBGUSER = 40 S_CBRANCH_CDBGSYS_OR_USER = 41 S_CBRANCH_CDBGSYS_AND_USER = 42 S_ENDPGM = 48 S_ENDPGM_SAVED = 49 S_ENDPGM_ORDERED_PS_DONE = 50 S_WAKEUP = 52 S_SETPRIO = 53 S_SENDMSG = 54 S_SENDMSGHALT = 55 S_INCPERFLEVEL = 56 S_DECPERFLEVEL = 57 S_ICACHE_INV = 60 S_BARRIER = 61 class VINTERPOp(IntEnum): V_INTERP_P10_F32 = 0 V_INTERP_P2_F32 = 1 V_INTERP_P10_F16_F32 = 2 V_INTERP_P2_F16_F32 = 3 V_INTERP_P10_RTZ_F16_F32 = 4 V_INTERP_P2_RTZ_F16_F32 = 5 class VOP1Op(IntEnum): V_NOP = 0 V_MOV_B32 = 1 V_READFIRSTLANE_B32 = 2 V_CVT_I32_F64 = 3 V_CVT_F64_I32 = 4 V_CVT_F32_I32 = 5 V_CVT_F32_U32 = 6 V_CVT_U32_F32 = 7 V_CVT_I32_F32 = 8 V_CVT_F16_F32 = 10 V_CVT_F32_F16 = 11 V_CVT_NEAREST_I32_F32 = 12 V_CVT_FLOOR_I32_F32 = 13 V_CVT_OFF_F32_I4 = 14 V_CVT_F32_F64 = 15 V_CVT_F64_F32 = 16 V_CVT_F32_UBYTE0 = 17 V_CVT_F32_UBYTE1 = 18 V_CVT_F32_UBYTE2 = 19 V_CVT_F32_UBYTE3 = 20 V_CVT_U32_F64 = 21 V_CVT_F64_U32 = 22 V_TRUNC_F64 = 23 V_CEIL_F64 = 24 V_RNDNE_F64 = 25 V_FLOOR_F64 = 26 V_PIPEFLUSH = 27 V_MOV_B16 = 28 V_FRACT_F32 = 32 V_TRUNC_F32 = 33 V_CEIL_F32 = 34 V_RNDNE_F32 = 35 V_FLOOR_F32 = 36 V_EXP_F32 = 37 V_LOG_F32 = 39 V_RCP_F32 = 42 V_RCP_IFLAG_F32 = 43 V_RSQ_F32 = 46 V_RCP_F64 = 47 V_RSQ_F64 = 49 V_SQRT_F32 = 51 V_SQRT_F64 = 52 V_SIN_F32 = 53 V_COS_F32 = 54 V_NOT_B32 = 55 V_BFREV_B32 = 56 V_CLZ_I32_U32 = 57 V_CTZ_I32_B32 = 58 V_CLS_I32 = 59 V_FREXP_EXP_I32_F64 = 60 V_FREXP_MANT_F64 = 61 V_FRACT_F64 = 62 V_FREXP_EXP_I32_F32 = 63 V_FREXP_MANT_F32 = 64 V_MOVRELD_B32 = 66 V_MOVRELS_B32 = 67 V_MOVRELSD_B32 = 68 V_MOVRELSD_2_B32 = 72 V_CVT_F16_U16 = 80 V_CVT_F16_I16 = 81 V_CVT_U16_F16 = 82 V_CVT_I16_F16 = 83 V_RCP_F16 = 84 V_SQRT_F16 = 85 V_RSQ_F16 = 86 V_LOG_F16 = 87 V_EXP_F16 = 88 V_FREXP_MANT_F16 = 89 V_FREXP_EXP_I16_F16 = 90 V_FLOOR_F16 = 91 V_CEIL_F16 = 92 V_TRUNC_F16 = 93 V_RNDNE_F16 = 94 V_FRACT_F16 = 95 V_SIN_F16 = 96 V_COS_F16 = 97 V_SAT_PK_U8_I16 = 98 V_CVT_NORM_I16_F16 = 99 V_CVT_NORM_U16_F16 = 100 V_SWAP_B32 = 101 V_SWAP_B16 = 102 V_PERMLANE64_B32 = 103 V_SWAPREL_B32 = 104 V_NOT_B16 = 105 V_CVT_I32_I16 = 106 V_CVT_U32_U16 = 107 class VOP2Op(IntEnum): V_CNDMASK_B32 = 1 V_DOT2ACC_F32_F16 = 2 V_ADD_F32 = 3 V_SUB_F32 = 4 V_SUBREV_F32 = 5 V_FMAC_DX9_ZERO_F32 = 6 V_MUL_DX9_ZERO_F32 = 7 V_MUL_F32 = 8 V_MUL_I32_I24 = 9 V_MUL_HI_I32_I24 = 10 V_MUL_U32_U24 = 11 V_MUL_HI_U32_U24 = 12 V_MIN_F32 = 15 V_MAX_F32 = 16 V_MIN_I32 = 17 V_MAX_I32 = 18 V_MIN_U32 = 19 V_MAX_U32 = 20 V_LSHLREV_B32 = 24 V_LSHRREV_B32 = 25 V_ASHRREV_I32 = 26 V_AND_B32 = 27 V_OR_B32 = 28 V_XOR_B32 = 29 V_XNOR_B32 = 30 V_ADD_CO_CI_U32 = 32 V_SUB_CO_CI_U32 = 33 V_SUBREV_CO_CI_U32 = 34 V_ADD_NC_U32 = 37 V_SUB_NC_U32 = 38 V_SUBREV_NC_U32 = 39 V_FMAC_F32 = 43 V_FMAMK_F32 = 44 V_FMAAK_F32 = 45 V_CVT_PK_RTZ_F16_F32 = 47 V_ADD_F16 = 50 V_SUB_F16 = 51 V_SUBREV_F16 = 52 V_MUL_F16 = 53 V_FMAC_F16 = 54 V_FMAMK_F16 = 55 V_FMAAK_F16 = 56 V_MAX_F16 = 57 V_MIN_F16 = 58 V_LDEXP_F16 = 59 V_PK_FMAC_F16 = 60 class VOP3Op(IntEnum): V_CMP_F_F16 = 0 V_CMP_LT_F16 = 1 V_CMP_EQ_F16 = 2 V_CMP_LE_F16 = 3 V_CMP_GT_F16 = 4 V_CMP_LG_F16 = 5 V_CMP_GE_F16 = 6 V_CMP_O_F16 = 7 V_CMP_U_F16 = 8 V_CMP_NGE_F16 = 9 V_CMP_NLG_F16 = 10 V_CMP_NGT_F16 = 11 V_CMP_NLE_F16 = 12 V_CMP_NEQ_F16 = 13 V_CMP_NLT_F16 = 14 V_CMP_T_F16 = 15 V_CMP_F_F32 = 16 V_CMP_LT_F32 = 17 V_CMP_EQ_F32 = 18 V_CMP_LE_F32 = 19 V_CMP_GT_F32 = 20 V_CMP_LG_F32 = 21 V_CMP_GE_F32 = 22 V_CMP_O_F32 = 23 V_CMP_U_F32 = 24 V_CMP_NGE_F32 = 25 V_CMP_NLG_F32 = 26 V_CMP_NGT_F32 = 27 V_CMP_NLE_F32 = 28 V_CMP_NEQ_F32 = 29 V_CMP_NLT_F32 = 30 V_CMP_T_F32 = 31 V_CMP_F_F64 = 32 V_CMP_LT_F64 = 33 V_CMP_EQ_F64 = 34 V_CMP_LE_F64 = 35 V_CMP_GT_F64 = 36 V_CMP_LG_F64 = 37 V_CMP_GE_F64 = 38 V_CMP_O_F64 = 39 V_CMP_U_F64 = 40 V_CMP_NGE_F64 = 41 V_CMP_NLG_F64 = 42 V_CMP_NGT_F64 = 43 V_CMP_NLE_F64 = 44 V_CMP_NEQ_F64 = 45 V_CMP_NLT_F64 = 46 V_CMP_T_F64 = 47 V_CMP_LT_I16 = 49 V_CMP_EQ_I16 = 50 V_CMP_LE_I16 = 51 V_CMP_GT_I16 = 52 V_CMP_NE_I16 = 53 V_CMP_GE_I16 = 54 V_CMP_LT_U16 = 57 V_CMP_EQ_U16 = 58 V_CMP_LE_U16 = 59 V_CMP_GT_U16 = 60 V_CMP_NE_U16 = 61 V_CMP_GE_U16 = 62 V_CMP_F_I32 = 64 V_CMP_LT_I32 = 65 V_CMP_EQ_I32 = 66 V_CMP_LE_I32 = 67 V_CMP_GT_I32 = 68 V_CMP_NE_I32 = 69 V_CMP_GE_I32 = 70 V_CMP_T_I32 = 71 V_CMP_F_U32 = 72 V_CMP_LT_U32 = 73 V_CMP_EQ_U32 = 74 V_CMP_LE_U32 = 75 V_CMP_GT_U32 = 76 V_CMP_NE_U32 = 77 V_CMP_GE_U32 = 78 V_CMP_T_U32 = 79 V_CMP_F_I64 = 80 V_CMP_LT_I64 = 81 V_CMP_EQ_I64 = 82 V_CMP_LE_I64 = 83 V_CMP_GT_I64 = 84 V_CMP_NE_I64 = 85 V_CMP_GE_I64 = 86 V_CMP_T_I64 = 87 V_CMP_F_U64 = 88 V_CMP_LT_U64 = 89 V_CMP_EQ_U64 = 90 V_CMP_LE_U64 = 91 V_CMP_GT_U64 = 92 V_CMP_NE_U64 = 93 V_CMP_GE_U64 = 94 V_CMP_T_U64 = 95 V_CMP_CLASS_F16 = 125 V_CMP_CLASS_F32 = 126 V_CMP_CLASS_F64 = 127 V_CMPX_F_F16 = 128 V_CMPX_LT_F16 = 129 V_CMPX_EQ_F16 = 130 V_CMPX_LE_F16 = 131 V_CMPX_GT_F16 = 132 V_CMPX_LG_F16 = 133 V_CMPX_GE_F16 = 134 V_CMPX_O_F16 = 135 V_CMPX_U_F16 = 136 V_CMPX_NGE_F16 = 137 V_CMPX_NLG_F16 = 138 V_CMPX_NGT_F16 = 139 V_CMPX_NLE_F16 = 140 V_CMPX_NEQ_F16 = 141 V_CMPX_NLT_F16 = 142 V_CMPX_T_F16 = 143 V_CMPX_F_F32 = 144 V_CMPX_LT_F32 = 145 V_CMPX_EQ_F32 = 146 V_CMPX_LE_F32 = 147 V_CMPX_GT_F32 = 148 V_CMPX_LG_F32 = 149 V_CMPX_GE_F32 = 150 V_CMPX_O_F32 = 151 V_CMPX_U_F32 = 152 V_CMPX_NGE_F32 = 153 V_CMPX_NLG_F32 = 154 V_CMPX_NGT_F32 = 155 V_CMPX_NLE_F32 = 156 V_CMPX_NEQ_F32 = 157 V_CMPX_NLT_F32 = 158 V_CMPX_T_F32 = 159 V_CMPX_F_F64 = 160 V_CMPX_LT_F64 = 161 V_CMPX_EQ_F64 = 162 V_CMPX_LE_F64 = 163 V_CMPX_GT_F64 = 164 V_CMPX_LG_F64 = 165 V_CMPX_GE_F64 = 166 V_CMPX_O_F64 = 167 V_CMPX_U_F64 = 168 V_CMPX_NGE_F64 = 169 V_CMPX_NLG_F64 = 170 V_CMPX_NGT_F64 = 171 V_CMPX_NLE_F64 = 172 V_CMPX_NEQ_F64 = 173 V_CMPX_NLT_F64 = 174 V_CMPX_T_F64 = 175 V_CMPX_LT_I16 = 177 V_CMPX_EQ_I16 = 178 V_CMPX_LE_I16 = 179 V_CMPX_GT_I16 = 180 V_CMPX_NE_I16 = 181 V_CMPX_GE_I16 = 182 V_CMPX_LT_U16 = 185 V_CMPX_EQ_U16 = 186 V_CMPX_LE_U16 = 187 V_CMPX_GT_U16 = 188 V_CMPX_NE_U16 = 189 V_CMPX_GE_U16 = 190 V_CMPX_F_I32 = 192 V_CMPX_LT_I32 = 193 V_CMPX_EQ_I32 = 194 V_CMPX_LE_I32 = 195 V_CMPX_GT_I32 = 196 V_CMPX_NE_I32 = 197 V_CMPX_GE_I32 = 198 V_CMPX_T_I32 = 199 V_CMPX_F_U32 = 200 V_CMPX_LT_U32 = 201 V_CMPX_EQ_U32 = 202 V_CMPX_LE_U32 = 203 V_CMPX_GT_U32 = 204 V_CMPX_NE_U32 = 205 V_CMPX_GE_U32 = 206 V_CMPX_T_U32 = 207 V_CMPX_F_I64 = 208 V_CMPX_LT_I64 = 209 V_CMPX_EQ_I64 = 210 V_CMPX_LE_I64 = 211 V_CMPX_GT_I64 = 212 V_CMPX_NE_I64 = 213 V_CMPX_GE_I64 = 214 V_CMPX_T_I64 = 215 V_CMPX_F_U64 = 216 V_CMPX_LT_U64 = 217 V_CMPX_EQ_U64 = 218 V_CMPX_LE_U64 = 219 V_CMPX_GT_U64 = 220 V_CMPX_NE_U64 = 221 V_CMPX_GE_U64 = 222 V_CMPX_T_U64 = 223 V_CMPX_CLASS_F16 = 253 V_CMPX_CLASS_F32 = 254 V_CMPX_CLASS_F64 = 255 V_CNDMASK_B32 = 257 V_ADD_F32 = 259 V_SUB_F32 = 260 V_SUBREV_F32 = 261 V_FMAC_DX9_ZERO_F32 = 262 V_MUL_DX9_ZERO_F32 = 263 V_MUL_F32 = 264 V_MUL_I32_I24 = 265 V_MUL_HI_I32_I24 = 266 V_MUL_U32_U24 = 267 V_MUL_HI_U32_U24 = 268 V_MIN_F32 = 271 V_MAX_F32 = 272 V_MIN_I32 = 273 V_MAX_I32 = 274 V_MIN_U32 = 275 V_MAX_U32 = 276 V_LSHLREV_B32 = 280 V_LSHRREV_B32 = 281 V_ASHRREV_I32 = 282 V_AND_B32 = 283 V_OR_B32 = 284 V_XOR_B32 = 285 V_XNOR_B32 = 286 V_ADD_NC_U32 = 293 V_SUB_NC_U32 = 294 V_SUBREV_NC_U32 = 295 V_FMAC_F32 = 299 V_CVT_PK_RTZ_F16_F32 = 303 V_ADD_F16 = 306 V_SUB_F16 = 307 V_SUBREV_F16 = 308 V_MUL_F16 = 309 V_FMAC_F16 = 310 V_MAX_F16 = 313 V_MIN_F16 = 314 V_LDEXP_F16 = 315 V_NOP = 384 V_MOV_B32 = 385 V_READFIRSTLANE_B32 = 386 V_CVT_I32_F64 = 387 V_CVT_F64_I32 = 388 V_CVT_F32_I32 = 389 V_CVT_F32_U32 = 390 V_CVT_U32_F32 = 391 V_CVT_I32_F32 = 392 V_CVT_F16_F32 = 394 V_CVT_F32_F16 = 395 V_CVT_NEAREST_I32_F32 = 396 V_CVT_FLOOR_I32_F32 = 397 V_CVT_OFF_F32_I4 = 398 V_CVT_F32_F64 = 399 V_CVT_F64_F32 = 400 V_CVT_F32_UBYTE0 = 401 V_CVT_F32_UBYTE1 = 402 V_CVT_F32_UBYTE2 = 403 V_CVT_F32_UBYTE3 = 404 V_CVT_U32_F64 = 405 V_CVT_F64_U32 = 406 V_TRUNC_F64 = 407 V_CEIL_F64 = 408 V_RNDNE_F64 = 409 V_FLOOR_F64 = 410 V_PIPEFLUSH = 411 V_MOV_B16 = 412 V_FRACT_F32 = 416 V_TRUNC_F32 = 417 V_CEIL_F32 = 418 V_RNDNE_F32 = 419 V_FLOOR_F32 = 420 V_EXP_F32 = 421 V_LOG_F32 = 423 V_RCP_F32 = 426 V_RCP_IFLAG_F32 = 427 V_RSQ_F32 = 430 V_RCP_F64 = 431 V_RSQ_F64 = 433 V_SQRT_F32 = 435 V_SQRT_F64 = 436 V_SIN_F32 = 437 V_COS_F32 = 438 V_NOT_B32 = 439 V_BFREV_B32 = 440 V_CLZ_I32_U32 = 441 V_CTZ_I32_B32 = 442 V_CLS_I32 = 443 V_FREXP_EXP_I32_F64 = 444 V_FREXP_MANT_F64 = 445 V_FRACT_F64 = 446 V_FREXP_EXP_I32_F32 = 447 V_FREXP_MANT_F32 = 448 V_MOVRELD_B32 = 450 V_MOVRELS_B32 = 451 V_MOVRELSD_B32 = 452 V_MOVRELSD_2_B32 = 456 V_CVT_F16_U16 = 464 V_CVT_F16_I16 = 465 V_CVT_U16_F16 = 466 V_CVT_I16_F16 = 467 V_RCP_F16 = 468 V_SQRT_F16 = 469 V_RSQ_F16 = 470 V_LOG_F16 = 471 V_EXP_F16 = 472 V_FREXP_MANT_F16 = 473 V_FREXP_EXP_I16_F16 = 474 V_FLOOR_F16 = 475 V_CEIL_F16 = 476 V_TRUNC_F16 = 477 V_RNDNE_F16 = 478 V_FRACT_F16 = 479 V_SIN_F16 = 480 V_COS_F16 = 481 V_SAT_PK_U8_I16 = 482 V_CVT_NORM_I16_F16 = 483 V_CVT_NORM_U16_F16 = 484 V_NOT_B16 = 489 V_CVT_I32_I16 = 490 V_CVT_U32_U16 = 491 V_FMA_DX9_ZERO_F32 = 521 V_MAD_I32_I24 = 522 V_MAD_U32_U24 = 523 V_CUBEID_F32 = 524 V_CUBESC_F32 = 525 V_CUBETC_F32 = 526 V_CUBEMA_F32 = 527 V_BFE_U32 = 528 V_BFE_I32 = 529 V_BFI_B32 = 530 V_FMA_F32 = 531 V_FMA_F64 = 532 V_LERP_U8 = 533 V_ALIGNBIT_B32 = 534 V_ALIGNBYTE_B32 = 535 V_MULLIT_F32 = 536 V_MIN3_F32 = 537 V_MIN3_I32 = 538 V_MIN3_U32 = 539 V_MAX3_F32 = 540 V_MAX3_I32 = 541 V_MAX3_U32 = 542 V_MED3_F32 = 543 V_MED3_I32 = 544 V_MED3_U32 = 545 V_SAD_U8 = 546 V_SAD_HI_U8 = 547 V_SAD_U16 = 548 V_SAD_U32 = 549 V_CVT_PK_U8_F32 = 550 V_DIV_FIXUP_F32 = 551 V_DIV_FIXUP_F64 = 552 V_DIV_FMAS_F32 = 567 V_DIV_FMAS_F64 = 568 V_MSAD_U8 = 569 V_QSAD_PK_U16_U8 = 570 V_MQSAD_PK_U16_U8 = 571 V_MQSAD_U32_U8 = 573 V_XOR3_B32 = 576 V_MAD_U16 = 577 V_PERM_B32 = 580 V_XAD_U32 = 581 V_LSHL_ADD_U32 = 582 V_ADD_LSHL_U32 = 583 V_FMA_F16 = 584 V_MIN3_F16 = 585 V_MIN3_I16 = 586 V_MIN3_U16 = 587 V_MAX3_F16 = 588 V_MAX3_I16 = 589 V_MAX3_U16 = 590 V_MED3_F16 = 591 V_MED3_I16 = 592 V_MED3_U16 = 593 V_MAD_I16 = 595 V_DIV_FIXUP_F16 = 596 V_ADD3_U32 = 597 V_LSHL_OR_B32 = 598 V_AND_OR_B32 = 599 V_OR3_B32 = 600 V_MAD_U32_U16 = 601 V_MAD_I32_I16 = 602 V_PERMLANE16_B32 = 603 V_PERMLANEX16_B32 = 604 V_CNDMASK_B16 = 605 V_MAXMIN_F32 = 606 V_MINMAX_F32 = 607 V_MAXMIN_F16 = 608 V_MINMAX_F16 = 609 V_MAXMIN_U32 = 610 V_MINMAX_U32 = 611 V_MAXMIN_I32 = 612 V_MINMAX_I32 = 613 V_DOT2_F16_F16 = 614 V_DOT2_BF16_BF16 = 615 V_ADD_NC_U16 = 771 V_SUB_NC_U16 = 772 V_MUL_LO_U16 = 773 V_CVT_PK_I16_F32 = 774 V_CVT_PK_U16_F32 = 775 V_MAX_U16 = 777 V_MAX_I16 = 778 V_MIN_U16 = 779 V_MIN_I16 = 780 V_ADD_NC_I16 = 781 V_SUB_NC_I16 = 782 V_PACK_B32_F16 = 785 V_CVT_PK_NORM_I16_F16 = 786 V_CVT_PK_NORM_U16_F16 = 787 V_LDEXP_F32 = 796 V_BFM_B32 = 797 V_BCNT_U32_B32 = 798 V_MBCNT_LO_U32_B32 = 799 V_MBCNT_HI_U32_B32 = 800 V_CVT_PK_NORM_I16_F32 = 801 V_CVT_PK_NORM_U16_F32 = 802 V_CVT_PK_U16_U32 = 803 V_CVT_PK_I16_I32 = 804 V_SUB_NC_I32 = 805 V_ADD_NC_I32 = 806 V_ADD_F64 = 807 V_MUL_F64 = 808 V_MIN_F64 = 809 V_MAX_F64 = 810 V_LDEXP_F64 = 811 V_MUL_LO_U32 = 812 V_MUL_HI_U32 = 813 V_MUL_HI_I32 = 814 V_TRIG_PREOP_F64 = 815 V_LSHLREV_B16 = 824 V_LSHRREV_B16 = 825 V_ASHRREV_I16 = 826 V_LSHLREV_B64 = 828 V_LSHRREV_B64 = 829 V_ASHRREV_I64 = 830 V_READLANE_B32 = 864 V_WRITELANE_B32 = 865 V_AND_B16 = 866 V_OR_B16 = 867 V_XOR_B16 = 868 class VOP3POp(IntEnum): V_PK_MAD_I16 = 0 V_PK_MUL_LO_U16 = 1 V_PK_ADD_I16 = 2 V_PK_SUB_I16 = 3 V_PK_LSHLREV_B16 = 4 V_PK_LSHRREV_B16 = 5 V_PK_ASHRREV_I16 = 6 V_PK_MAX_I16 = 7 V_PK_MIN_I16 = 8 V_PK_MAD_U16 = 9 V_PK_ADD_U16 = 10 V_PK_SUB_U16 = 11 V_PK_MAX_U16 = 12 V_PK_MIN_U16 = 13 V_PK_FMA_F16 = 14 V_PK_ADD_F16 = 15 V_PK_MUL_F16 = 16 V_PK_MIN_F16 = 17 V_PK_MAX_F16 = 18 V_DOT2_F32_F16 = 19 V_DOT4_I32_IU8 = 22 V_DOT4_U32_U8 = 23 V_DOT8_I32_IU4 = 24 V_DOT8_U32_U4 = 25 V_DOT2_F32_BF16 = 26 V_FMA_MIX_F32 = 32 V_FMA_MIXLO_F16 = 33 V_FMA_MIXHI_F16 = 34 V_WMMA_F32_16X16X16_F16 = 64 V_WMMA_F32_16X16X16_BF16 = 65 V_WMMA_F16_16X16X16_F16 = 66 V_WMMA_BF16_16X16X16_BF16 = 67 V_WMMA_I32_16X16X16_IU8 = 68 V_WMMA_I32_16X16X16_IU4 = 69 class VOP3SDOp(IntEnum): DWORD = 1 V_ADD_CO_CI_U32 = 288 V_SUB_CO_CI_U32 = 289 V_SUBREV_CO_CI_U32 = 290 V_DIV_SCALE_F32 = 764 V_DIV_SCALE_F64 = 765 V_MAD_U64_U32 = 766 V_MAD_I64_I32 = 767 V_ADD_CO_U32 = 768 V_SUB_CO_U32 = 769 V_SUBREV_CO_U32 = 770 class VOPCOp(IntEnum): V_CMP_F_F16 = 0 V_CMP_LT_F16 = 1 V_CMP_EQ_F16 = 2 V_CMP_LE_F16 = 3 V_CMP_GT_F16 = 4 V_CMP_LG_F16 = 5 V_CMP_GE_F16 = 6 V_CMP_O_F16 = 7 V_CMP_U_F16 = 8 V_CMP_NGE_F16 = 9 V_CMP_NLG_F16 = 10 V_CMP_NGT_F16 = 11 V_CMP_NLE_F16 = 12 V_CMP_NEQ_F16 = 13 V_CMP_NLT_F16 = 14 V_CMP_T_F16 = 15 V_CMP_F_F32 = 16 V_CMP_LT_F32 = 17 V_CMP_EQ_F32 = 18 V_CMP_LE_F32 = 19 V_CMP_GT_F32 = 20 V_CMP_LG_F32 = 21 V_CMP_GE_F32 = 22 V_CMP_O_F32 = 23 V_CMP_U_F32 = 24 V_CMP_NGE_F32 = 25 V_CMP_NLG_F32 = 26 V_CMP_NGT_F32 = 27 V_CMP_NLE_F32 = 28 V_CMP_NEQ_F32 = 29 V_CMP_NLT_F32 = 30 V_CMP_T_F32 = 31 V_CMP_F_F64 = 32 V_CMP_LT_F64 = 33 V_CMP_EQ_F64 = 34 V_CMP_LE_F64 = 35 V_CMP_GT_F64 = 36 V_CMP_LG_F64 = 37 V_CMP_GE_F64 = 38 V_CMP_O_F64 = 39 V_CMP_U_F64 = 40 V_CMP_NGE_F64 = 41 V_CMP_NLG_F64 = 42 V_CMP_NGT_F64 = 43 V_CMP_NLE_F64 = 44 V_CMP_NEQ_F64 = 45 V_CMP_NLT_F64 = 46 V_CMP_T_F64 = 47 V_CMP_LT_I16 = 49 V_CMP_EQ_I16 = 50 V_CMP_LE_I16 = 51 V_CMP_GT_I16 = 52 V_CMP_NE_I16 = 53 V_CMP_GE_I16 = 54 V_CMP_LT_U16 = 57 V_CMP_EQ_U16 = 58 V_CMP_LE_U16 = 59 V_CMP_GT_U16 = 60 V_CMP_NE_U16 = 61 V_CMP_GE_U16 = 62 V_CMP_F_I32 = 64 V_CMP_LT_I32 = 65 V_CMP_EQ_I32 = 66 V_CMP_LE_I32 = 67 V_CMP_GT_I32 = 68 V_CMP_NE_I32 = 69 V_CMP_GE_I32 = 70 V_CMP_T_I32 = 71 V_CMP_F_U32 = 72 V_CMP_LT_U32 = 73 V_CMP_EQ_U32 = 74 V_CMP_LE_U32 = 75 V_CMP_GT_U32 = 76 V_CMP_NE_U32 = 77 V_CMP_GE_U32 = 78 V_CMP_T_U32 = 79 V_CMP_F_I64 = 80 V_CMP_LT_I64 = 81 V_CMP_EQ_I64 = 82 V_CMP_LE_I64 = 83 V_CMP_GT_I64 = 84 V_CMP_NE_I64 = 85 V_CMP_GE_I64 = 86 V_CMP_T_I64 = 87 V_CMP_F_U64 = 88 V_CMP_LT_U64 = 89 V_CMP_EQ_U64 = 90 V_CMP_LE_U64 = 91 V_CMP_GT_U64 = 92 V_CMP_NE_U64 = 93 V_CMP_GE_U64 = 94 V_CMP_T_U64 = 95 V_CMP_CLASS_F16 = 125 V_CMP_CLASS_F32 = 126 V_CMP_CLASS_F64 = 127 V_CMPX_F_F16 = 128 V_CMPX_LT_F16 = 129 V_CMPX_EQ_F16 = 130 V_CMPX_LE_F16 = 131 V_CMPX_GT_F16 = 132 V_CMPX_LG_F16 = 133 V_CMPX_GE_F16 = 134 V_CMPX_O_F16 = 135 V_CMPX_U_F16 = 136 V_CMPX_NGE_F16 = 137 V_CMPX_NLG_F16 = 138 V_CMPX_NGT_F16 = 139 V_CMPX_NLE_F16 = 140 V_CMPX_NEQ_F16 = 141 V_CMPX_NLT_F16 = 142 V_CMPX_T_F16 = 143 V_CMPX_F_F32 = 144 V_CMPX_LT_F32 = 145 V_CMPX_EQ_F32 = 146 V_CMPX_LE_F32 = 147 V_CMPX_GT_F32 = 148 V_CMPX_LG_F32 = 149 V_CMPX_GE_F32 = 150 V_CMPX_O_F32 = 151 V_CMPX_U_F32 = 152 V_CMPX_NGE_F32 = 153 V_CMPX_NLG_F32 = 154 V_CMPX_NGT_F32 = 155 V_CMPX_NLE_F32 = 156 V_CMPX_NEQ_F32 = 157 V_CMPX_NLT_F32 = 158 V_CMPX_T_F32 = 159 V_CMPX_F_F64 = 160 V_CMPX_LT_F64 = 161 V_CMPX_EQ_F64 = 162 V_CMPX_LE_F64 = 163 V_CMPX_GT_F64 = 164 V_CMPX_LG_F64 = 165 V_CMPX_GE_F64 = 166 V_CMPX_O_F64 = 167 V_CMPX_U_F64 = 168 V_CMPX_NGE_F64 = 169 V_CMPX_NLG_F64 = 170 V_CMPX_NGT_F64 = 171 V_CMPX_NLE_F64 = 172 V_CMPX_NEQ_F64 = 173 V_CMPX_NLT_F64 = 174 V_CMPX_T_F64 = 175 V_CMPX_LT_I16 = 177 V_CMPX_EQ_I16 = 178 V_CMPX_LE_I16 = 179 V_CMPX_GT_I16 = 180 V_CMPX_NE_I16 = 181 V_CMPX_GE_I16 = 182 V_CMPX_LT_U16 = 185 V_CMPX_EQ_U16 = 186 V_CMPX_LE_U16 = 187 V_CMPX_GT_U16 = 188 V_CMPX_NE_U16 = 189 V_CMPX_GE_U16 = 190 V_CMPX_F_I32 = 192 V_CMPX_LT_I32 = 193 V_CMPX_EQ_I32 = 194 V_CMPX_LE_I32 = 195 V_CMPX_GT_I32 = 196 V_CMPX_NE_I32 = 197 V_CMPX_GE_I32 = 198 V_CMPX_T_I32 = 199 V_CMPX_F_U32 = 200 V_CMPX_LT_U32 = 201 V_CMPX_EQ_U32 = 202 V_CMPX_LE_U32 = 203 V_CMPX_GT_U32 = 204 V_CMPX_NE_U32 = 205 V_CMPX_GE_U32 = 206 V_CMPX_T_U32 = 207 V_CMPX_F_I64 = 208 V_CMPX_LT_I64 = 209 V_CMPX_EQ_I64 = 210 V_CMPX_LE_I64 = 211 V_CMPX_GT_I64 = 212 V_CMPX_NE_I64 = 213 V_CMPX_GE_I64 = 214 V_CMPX_T_I64 = 215 V_CMPX_F_U64 = 216 V_CMPX_LT_U64 = 217 V_CMPX_EQ_U64 = 218 V_CMPX_LE_U64 = 219 V_CMPX_GT_U64 = 220 V_CMPX_NE_U64 = 221 V_CMPX_GE_U64 = 222 V_CMPX_T_U64 = 223 V_CMPX_CLASS_F16 = 253 V_CMPX_CLASS_F32 = 254 V_CMPX_CLASS_F64 = 255 class VOPDOp(IntEnum): V_DUAL_FMAC_F32 = 0 V_DUAL_FMAAK_F32 = 1 V_DUAL_FMAMK_F32 = 2 V_DUAL_MUL_F32 = 3 V_DUAL_ADD_F32 = 4 V_DUAL_SUB_F32 = 5 V_DUAL_SUBREV_F32 = 6 V_DUAL_MUL_DX9_ZERO_F32 = 7 V_DUAL_MOV_B32 = 8 V_DUAL_CNDMASK_B32 = 9 V_DUAL_MAX_F32 = 10 V_DUAL_MIN_F32 = 11 V_DUAL_DOT2ACC_F32_F16 = 12 V_DUAL_DOT2ACC_F32_BF16 = 13 V_DUAL_ADD_NC_U32 = 16 V_DUAL_LSHLREV_B32 = 17 V_DUAL_AND_B32 = 18 # instruction formats class DPP16(Inst64): src0:Src = bits[39:32] dpp_ctrl = bits[48:40] fi = bits[50] bc = bits[51] src0_neg = bits[52] src0_abs = bits[53] src1_neg = bits[54] src1_abs = bits[55] bank_mask = bits[59:56] row_mask = bits[63:60] class DPP8(Inst64): src0:Src = bits[39:32] lane_sel0 = bits[42:40] lane_sel1 = bits[45:43] lane_sel2 = bits[48:46] lane_sel3 = bits[51:49] lane_sel4 = bits[54:52] lane_sel5 = bits[57:55] lane_sel6 = bits[60:58] lane_sel7 = bits[63:61] class DS(Inst64): encoding = bits[31:26] == 0b110110 op:Annotated[BitField, DSOp] = bits[25:18] vdst:VGPRField = bits[63:56] addr:VGPRField = bits[39:32] data0:VGPRField = bits[47:40] data1:VGPRField = bits[55:48] offset0 = bits[7:0] offset1 = bits[15:8] gds = bits[17] class EXP(Inst64): encoding = bits[31:26] == 0b111110 en = bits[3:0] target = bits[9:4] vsrc0 = bits[39:32] vsrc1:VGPRField = bits[47:40] vsrc2 = bits[55:48] vsrc3 = bits[63:56] done = bits[11] row = bits[13] class FLAT(Inst64): encoding = bits[31:26] == 0b110111 op:Annotated[BitField, FLATOp] = bits[24:18] vdst:VGPRField = bits[63:56] addr:VGPRField = bits[39:32] data:VGPRField = bits[47:40] saddr:SSrc = bits[54:48] offset:Imm = bits[12:0] seg = bits[17:16] dlc = bits[13] glc = bits[14] slc = bits[15] sve = bits[55] class LDSDIR(Inst32): encoding = bits[31:24] == 0b11001110 op = bits[21:20] vdst:VGPRField = bits[7:0] attr = bits[15:10] attr_chan = bits[9:8] wait_va = bits[19:16] class MIMG(Inst64): encoding = bits[31:26] == 0b111100 op:Annotated[BitField, MIMGOp] = bits[25:18] vdata:VGPRField = bits[47:40] vaddr:VGPRField = bits[39:32] srsrc:SGPRField = bits[52:48] ssamp = bits[62:58] dmask = bits[11:8] dim = bits[4:2] unrm = bits[7] dlc = bits[13] glc = bits[14] slc = bits[12] nsa = bits[0] r128 = bits[15] a16 = bits[16] d16 = bits[17] tfe = bits[53] lwe = bits[54] addr1 = bits[71:64] addr2 = bits[79:72] class MTBUF(Inst64): encoding = bits[31:26] == 0b111010 op:Annotated[BitField, MTBUFOp] = bits[18:15] vdata:VGPRField = bits[47:40] vaddr:VGPRField = bits[39:32] srsrc:SGPRField = bits[52:48] soffset:SSrc = bits[63:56] offset:Imm = bits[11:0] format = bits[25:19] offen = bits[54] idxen = bits[55] glc = bits[14] dlc = bits[13] slc = bits[12] tfe = bits[53] class MUBUF(Inst64): encoding = bits[31:26] == 0b111000 op:Annotated[BitField, MUBUFOp] = bits[25:18] vdata:VGPRField = bits[47:40] vaddr:VGPRField = bits[39:32] srsrc:SGPRField = bits[52:48] soffset:SSrc = bits[63:56] offset:Imm = bits[11:0] offen = bits[54] idxen = bits[55] glc = bits[14] dlc = bits[13] slc = bits[12] tfe = bits[53] class SMEM(Inst64): encoding = bits[31:26] == 0b111101 op:Annotated[BitField, SMEMOp] = bits[25:18] sdata:SGPRField = bits[12:6] sbase:SGPRField = bits[5:0] soffset:SSrc = bits[63:57] offset:Imm = bits[52:32] glc = bits[14] dlc = bits[13] class SOP1(Inst32): encoding = bits[31:23] == 0b101111101 op:Annotated[BitField, SOP1Op] = bits[15:8] sdst:SGPRField = bits[22:16] ssrc0:SSrc = bits[7:0] class SOP2(Inst32): encoding = bits[31:30] == 0b10 op:Annotated[BitField, SOP2Op] = bits[29:23] sdst:SGPRField = bits[22:16] ssrc0:SSrc = bits[7:0] ssrc1:SSrc = bits[15:8] class SOPC(Inst32): encoding = bits[31:23] == 0b101111110 op:Annotated[BitField, SOPCOp] = bits[22:16] ssrc0:SSrc = bits[7:0] ssrc1:SSrc = bits[15:8] class SOPK(Inst32): encoding = bits[31:28] == 0b1011 op:Annotated[BitField, SOPKOp] = bits[27:23] sdst:SGPRField = bits[22:16] simm16:SImm = bits[15:0] class SOPP(Inst32): encoding = bits[31:23] == 0b101111111 op:Annotated[BitField, SOPPOp] = bits[22:16] simm16:SImm = bits[15:0] class VINTERP(Inst64): encoding = bits[31:24] == 0b11001101 op:Annotated[BitField, VINTERPOp] = bits[22:16] vdst:VGPRField = bits[7:0] src0:Src = bits[40:32] src1:Src = bits[49:41] src2:Src = bits[58:50] waitexp = bits[10:8] clmp = bits[15] opsel = bits[14:11] neg = bits[63:61] class VOP1(Inst32): encoding = bits[31:25] == 0b111111 op:Annotated[BitField, VOP1Op] = bits[16:9] vdst:VGPRField = bits[24:17] src0:Src = bits[8:0] class VOP2(Inst32): encoding = bits[31] == 0 op:Annotated[BitField, VOP2Op] = bits[30:25] vdst:VGPRField = bits[24:17] src0:Src = bits[8:0] vsrc1:VGPRField = bits[16:9] class VOP3(Inst64): encoding = bits[31:26] == 0b110101 op:Annotated[BitField, VOP3Op] = bits[25:16] vdst:VGPRField = bits[7:0] src0:Src = bits[40:32] src1:Src = bits[49:41] src2:Src = bits[58:50] omod = bits[60:59] neg = bits[63:61] abs = bits[10:8] clmp = bits[15] opsel = bits[14:11] class VOP3P(Inst64): encoding = bits[31:24] == 0b11001100 _defaults = {'opsel_hi': 3, 'opsel_hi2': 1} op:Annotated[BitField, VOP3POp] = bits[22:16] vdst:VGPRField = bits[7:0] src0:Src = bits[40:32] src1:Src = bits[49:41] src2:Src = bits[58:50] neg = bits[63:61] neg_hi = bits[10:8] opsel = bits[13:11] opsel_hi = bits[60:59] clmp = bits[15] opsel_hi2 = bits[14] class VOP3SD(Inst64): encoding = bits[31:26] == 0b110101 op:Annotated[BitField, VOP3SDOp] = bits[25:16] vdst:VGPRField = bits[7:0] sdst:SGPRField = bits[14:8] src0:Src = bits[40:32] src1:Src = bits[49:41] src2:Src = bits[58:50] clmp = bits[15] omod = bits[60:59] neg = bits[63:61] class VOPC(Inst32): encoding = bits[31:25] == 0b111110 op:Annotated[BitField, VOPCOp] = bits[24:17] src0:Src = bits[8:0] vsrc1:VGPRField = bits[16:9] class VOPD(Inst64): encoding = bits[31:26] == 0b110010 opx:Annotated[BitField, VOPDOp] = bits[25:22] opy:Annotated[BitField, VOPDOp] = bits[21:17] vdstx:VGPRField = bits[63:56] vdsty:VDSTYEnc = bits[55:49] srcx0:Src = bits[8:0] vsrcx1:VGPRField = bits[16:9] srcy0:Src = bits[40:32] vsrcy1:VGPRField = bits[48:41] # 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) 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) global_load_addtid_b32 = functools.partial(FLAT, FLATOp.GLOBAL_LOAD_ADDTID_B32) global_store_addtid_b32 = functools.partial(FLAT, FLATOp.GLOBAL_STORE_ADDTID_B32) 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(FLAT, GLOBALOp.GLOBAL_LOAD_U8, seg=2) global_load_i8 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_I8, seg=2) global_load_u16 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_U16, seg=2) global_load_i16 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_I16, seg=2) global_load_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_B32, seg=2) global_load_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_B64, seg=2) global_load_b96 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_B96, seg=2) global_load_b128 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_B128, seg=2) global_store_b8 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_B8, seg=2) global_store_b16 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_B16, seg=2) global_store_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_B32, seg=2) global_store_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_B64, seg=2) global_store_b96 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_B96, seg=2) global_store_b128 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_B128, seg=2) global_load_d16_u8 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_D16_U8, seg=2) global_load_d16_i8 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_D16_I8, seg=2) global_load_d16_b16 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_D16_B16, seg=2) global_load_d16_hi_u8 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_D16_HI_U8, seg=2) global_load_d16_hi_i8 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_D16_HI_I8, seg=2) global_load_d16_hi_b16 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_D16_HI_B16, seg=2) global_store_d16_hi_b8 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_D16_HI_B8, seg=2) global_store_d16_hi_b16 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_D16_HI_B16, seg=2) global_load_addtid_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_LOAD_ADDTID_B32, seg=2) global_store_addtid_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_STORE_ADDTID_B32, seg=2) global_atomic_swap_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_SWAP_B32, seg=2) global_atomic_cmpswap_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_B32, seg=2) global_atomic_add_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_ADD_U32, seg=2) global_atomic_sub_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_SUB_U32, seg=2) global_atomic_csub_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_CSUB_U32, seg=2) global_atomic_min_i32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MIN_I32, seg=2) global_atomic_min_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MIN_U32, seg=2) global_atomic_max_i32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MAX_I32, seg=2) global_atomic_max_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MAX_U32, seg=2) global_atomic_and_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_AND_B32, seg=2) global_atomic_or_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_OR_B32, seg=2) global_atomic_xor_b32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_XOR_B32, seg=2) global_atomic_inc_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_INC_U32, seg=2) global_atomic_dec_u32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_DEC_U32, seg=2) global_atomic_swap_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_SWAP_B64, seg=2) global_atomic_cmpswap_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_B64, seg=2) global_atomic_add_u64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_ADD_U64, seg=2) global_atomic_sub_u64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_SUB_U64, seg=2) global_atomic_min_i64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MIN_I64, seg=2) global_atomic_min_u64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MIN_U64, seg=2) global_atomic_max_i64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MAX_I64, seg=2) global_atomic_max_u64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MAX_U64, seg=2) global_atomic_and_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_AND_B64, seg=2) global_atomic_or_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_OR_B64, seg=2) global_atomic_xor_b64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_XOR_B64, seg=2) global_atomic_inc_u64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_INC_U64, seg=2) global_atomic_dec_u64 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_DEC_U64, seg=2) global_atomic_cmpswap_f32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_CMPSWAP_F32, seg=2) global_atomic_min_f32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MIN_F32, seg=2) global_atomic_max_f32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_MAX_F32, seg=2) global_atomic_add_f32 = functools.partial(FLAT, GLOBALOp.GLOBAL_ATOMIC_ADD_F32, seg=2) 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_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(FLAT, SCRATCHOp.SCRATCH_LOAD_U8, seg=1) scratch_load_i8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_I8, seg=1) scratch_load_u16 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_U16, seg=1) scratch_load_i16 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_I16, seg=1) scratch_load_b32 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_B32, seg=1) scratch_load_b64 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_B64, seg=1) scratch_load_b96 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_B96, seg=1) scratch_load_b128 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_B128, seg=1) scratch_store_b8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_B8, seg=1) scratch_store_b16 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_B16, seg=1) scratch_store_b32 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_B32, seg=1) scratch_store_b64 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_B64, seg=1) scratch_store_b96 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_B96, seg=1) scratch_store_b128 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_B128, seg=1) scratch_load_d16_u8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_D16_U8, seg=1) scratch_load_d16_i8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_D16_I8, seg=1) scratch_load_d16_b16 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_D16_B16, seg=1) scratch_load_d16_hi_u8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_D16_HI_U8, seg=1) scratch_load_d16_hi_i8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_D16_HI_I8, seg=1) scratch_load_d16_hi_b16 = functools.partial(FLAT, SCRATCHOp.SCRATCH_LOAD_D16_HI_B16, seg=1) scratch_store_d16_hi_b8 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_D16_HI_B8, seg=1) scratch_store_d16_hi_b16 = functools.partial(FLAT, SCRATCHOp.SCRATCH_STORE_D16_HI_B16, seg=1) 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_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, SOP2Op.S_FMAAK_F32) s_fmamk_f32 = functools.partial(SOP2, 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, SOPKOp.S_SETREG_IMM32_B32) s_call_b64 = functools.partial(SOPK, SOPKOp.S_CALL_B64) 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_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) v_mov_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOV_B32) v_readfirstlane_b32_e32 = functools.partial(VOP1, VOP1Op.V_READFIRSTLANE_B32) v_cvt_i32_f64_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I32_F64) v_cvt_f64_i32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F64_I32) v_cvt_f32_i32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_I32) v_cvt_f32_u32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_U32) v_cvt_u32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U32_F32) v_cvt_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I32_F32) v_cvt_f16_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F16_F32) v_cvt_f32_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_F16) v_cvt_nearest_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_NEAREST_I32_F32) v_cvt_floor_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_FLOOR_I32_F32) v_cvt_off_f32_i4_e32 = functools.partial(VOP1, VOP1Op.V_CVT_OFF_F32_I4) v_cvt_f32_f64_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_F64) v_cvt_f64_f32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F64_F32) v_cvt_f32_ubyte0_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE0) v_cvt_f32_ubyte1_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE1) v_cvt_f32_ubyte2_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE2) v_cvt_f32_ubyte3_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F32_UBYTE3) v_cvt_u32_f64_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U32_F64) v_cvt_f64_u32_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F64_U32) v_trunc_f64_e32 = functools.partial(VOP1, VOP1Op.V_TRUNC_F64) v_ceil_f64_e32 = functools.partial(VOP1, VOP1Op.V_CEIL_F64) v_rndne_f64_e32 = functools.partial(VOP1, VOP1Op.V_RNDNE_F64) v_floor_f64_e32 = functools.partial(VOP1, VOP1Op.V_FLOOR_F64) v_pipeflush_e32 = functools.partial(VOP1, VOP1Op.V_PIPEFLUSH) v_mov_b16_e32 = functools.partial(VOP1, VOP1Op.V_MOV_B16) v_fract_f32_e32 = functools.partial(VOP1, VOP1Op.V_FRACT_F32) v_trunc_f32_e32 = functools.partial(VOP1, VOP1Op.V_TRUNC_F32) v_ceil_f32_e32 = functools.partial(VOP1, VOP1Op.V_CEIL_F32) v_rndne_f32_e32 = functools.partial(VOP1, VOP1Op.V_RNDNE_F32) v_floor_f32_e32 = functools.partial(VOP1, VOP1Op.V_FLOOR_F32) v_exp_f32_e32 = functools.partial(VOP1, VOP1Op.V_EXP_F32) v_log_f32_e32 = functools.partial(VOP1, VOP1Op.V_LOG_F32) v_rcp_f32_e32 = functools.partial(VOP1, VOP1Op.V_RCP_F32) v_rcp_iflag_f32_e32 = functools.partial(VOP1, VOP1Op.V_RCP_IFLAG_F32) v_rsq_f32_e32 = functools.partial(VOP1, VOP1Op.V_RSQ_F32) v_rcp_f64_e32 = functools.partial(VOP1, VOP1Op.V_RCP_F64) v_rsq_f64_e32 = functools.partial(VOP1, VOP1Op.V_RSQ_F64) v_sqrt_f32_e32 = functools.partial(VOP1, VOP1Op.V_SQRT_F32) v_sqrt_f64_e32 = functools.partial(VOP1, VOP1Op.V_SQRT_F64) v_sin_f32_e32 = functools.partial(VOP1, VOP1Op.V_SIN_F32) v_cos_f32_e32 = functools.partial(VOP1, VOP1Op.V_COS_F32) v_not_b32_e32 = functools.partial(VOP1, VOP1Op.V_NOT_B32) v_bfrev_b32_e32 = functools.partial(VOP1, VOP1Op.V_BFREV_B32) v_clz_i32_u32_e32 = functools.partial(VOP1, VOP1Op.V_CLZ_I32_U32) v_ctz_i32_b32_e32 = functools.partial(VOP1, VOP1Op.V_CTZ_I32_B32) v_cls_i32_e32 = functools.partial(VOP1, VOP1Op.V_CLS_I32) v_frexp_exp_i32_f64_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_EXP_I32_F64) v_frexp_mant_f64_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_MANT_F64) v_fract_f64_e32 = functools.partial(VOP1, VOP1Op.V_FRACT_F64) v_frexp_exp_i32_f32_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_EXP_I32_F32) v_frexp_mant_f32_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_MANT_F32) v_movreld_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELD_B32) v_movrels_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELS_B32) v_movrelsd_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELSD_B32) v_movrelsd_2_b32_e32 = functools.partial(VOP1, VOP1Op.V_MOVRELSD_2_B32) v_cvt_f16_u16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F16_U16) v_cvt_f16_i16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_F16_I16) v_cvt_u16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U16_F16) v_cvt_i16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I16_F16) v_rcp_f16_e32 = functools.partial(VOP1, VOP1Op.V_RCP_F16) v_sqrt_f16_e32 = functools.partial(VOP1, VOP1Op.V_SQRT_F16) v_rsq_f16_e32 = functools.partial(VOP1, VOP1Op.V_RSQ_F16) v_log_f16_e32 = functools.partial(VOP1, VOP1Op.V_LOG_F16) v_exp_f16_e32 = functools.partial(VOP1, VOP1Op.V_EXP_F16) v_frexp_mant_f16_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_MANT_F16) v_frexp_exp_i16_f16_e32 = functools.partial(VOP1, VOP1Op.V_FREXP_EXP_I16_F16) v_floor_f16_e32 = functools.partial(VOP1, VOP1Op.V_FLOOR_F16) v_ceil_f16_e32 = functools.partial(VOP1, VOP1Op.V_CEIL_F16) v_trunc_f16_e32 = functools.partial(VOP1, VOP1Op.V_TRUNC_F16) v_rndne_f16_e32 = functools.partial(VOP1, VOP1Op.V_RNDNE_F16) v_fract_f16_e32 = functools.partial(VOP1, VOP1Op.V_FRACT_F16) v_sin_f16_e32 = functools.partial(VOP1, VOP1Op.V_SIN_F16) v_cos_f16_e32 = functools.partial(VOP1, VOP1Op.V_COS_F16) v_sat_pk_u8_i16_e32 = functools.partial(VOP1, VOP1Op.V_SAT_PK_U8_I16) v_cvt_norm_i16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_NORM_I16_F16) v_cvt_norm_u16_f16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_NORM_U16_F16) v_swap_b32_e32 = functools.partial(VOP1, VOP1Op.V_SWAP_B32) v_swap_b16_e32 = functools.partial(VOP1, VOP1Op.V_SWAP_B16) v_permlane64_b32_e32 = functools.partial(VOP1, VOP1Op.V_PERMLANE64_B32) v_swaprel_b32_e32 = functools.partial(VOP1, VOP1Op.V_SWAPREL_B32) v_not_b16_e32 = functools.partial(VOP1, VOP1Op.V_NOT_B16) v_cvt_i32_i16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_I32_I16) v_cvt_u32_u16_e32 = functools.partial(VOP1, VOP1Op.V_CVT_U32_U16) v_cndmask_b32_e32 = functools.partial(VOP2, VOP2Op.V_CNDMASK_B32) v_dot2acc_f32_f16_e32 = functools.partial(VOP2, VOP2Op.V_DOT2ACC_F32_F16) v_add_f32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_F32) v_sub_f32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_F32) v_subrev_f32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_F32) v_fmac_dx9_zero_f32_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_DX9_ZERO_F32) v_mul_dx9_zero_f32_e32 = functools.partial(VOP2, VOP2Op.V_MUL_DX9_ZERO_F32) v_mul_f32_e32 = functools.partial(VOP2, VOP2Op.V_MUL_F32) v_mul_i32_i24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_I32_I24) v_mul_hi_i32_i24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_HI_I32_I24) v_mul_u32_u24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_U32_U24) v_mul_hi_u32_u24_e32 = functools.partial(VOP2, VOP2Op.V_MUL_HI_U32_U24) v_min_f32_e32 = functools.partial(VOP2, VOP2Op.V_MIN_F32) v_max_f32_e32 = functools.partial(VOP2, VOP2Op.V_MAX_F32) v_min_i32_e32 = functools.partial(VOP2, VOP2Op.V_MIN_I32) v_max_i32_e32 = functools.partial(VOP2, VOP2Op.V_MAX_I32) v_min_u32_e32 = functools.partial(VOP2, VOP2Op.V_MIN_U32) v_max_u32_e32 = functools.partial(VOP2, VOP2Op.V_MAX_U32) v_lshlrev_b32_e32 = functools.partial(VOP2, VOP2Op.V_LSHLREV_B32) v_lshrrev_b32_e32 = functools.partial(VOP2, VOP2Op.V_LSHRREV_B32) v_ashrrev_i32_e32 = functools.partial(VOP2, VOP2Op.V_ASHRREV_I32) v_and_b32_e32 = functools.partial(VOP2, VOP2Op.V_AND_B32) v_or_b32_e32 = functools.partial(VOP2, VOP2Op.V_OR_B32) v_xor_b32_e32 = functools.partial(VOP2, VOP2Op.V_XOR_B32) v_xnor_b32_e32 = functools.partial(VOP2, VOP2Op.V_XNOR_B32) v_add_co_ci_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_CO_CI_U32) v_sub_co_ci_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_CO_CI_U32) v_subrev_co_ci_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_CO_CI_U32) v_add_nc_u32_e32 = functools.partial(VOP2, VOP2Op.V_ADD_NC_U32) v_sub_nc_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUB_NC_U32) v_subrev_nc_u32_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_NC_U32) v_fmac_f32_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_F32) def v_fmamk_f32_e32(vdst, src0, K, vsrc1): return VOP2(VOP2Op.V_FMAMK_F32, vdst, src0, vsrc1, literal=K) def v_fmaak_f32_e32(vdst, src0, vsrc1, K): return VOP2(VOP2Op.V_FMAAK_F32, vdst, src0, vsrc1, literal=K) v_cvt_pk_rtz_f16_f32_e32 = functools.partial(VOP2, VOP2Op.V_CVT_PK_RTZ_F16_F32) v_add_f16_e32 = functools.partial(VOP2, VOP2Op.V_ADD_F16) v_sub_f16_e32 = functools.partial(VOP2, VOP2Op.V_SUB_F16) v_subrev_f16_e32 = functools.partial(VOP2, VOP2Op.V_SUBREV_F16) v_mul_f16_e32 = functools.partial(VOP2, VOP2Op.V_MUL_F16) v_fmac_f16_e32 = functools.partial(VOP2, VOP2Op.V_FMAC_F16) def v_fmamk_f16_e32(vdst, src0, K, vsrc1): return VOP2(VOP2Op.V_FMAMK_F16, vdst, src0, vsrc1, literal=K) def v_fmaak_f16_e32(vdst, src0, vsrc1, K): return VOP2(VOP2Op.V_FMAAK_F16, vdst, src0, vsrc1, literal=K) v_max_f16_e32 = functools.partial(VOP2, VOP2Op.V_MAX_F16) v_min_f16_e32 = functools.partial(VOP2, VOP2Op.V_MIN_F16) v_ldexp_f16_e32 = functools.partial(VOP2, VOP2Op.V_LDEXP_F16) v_pk_fmac_f16_e32 = functools.partial(VOP2, VOP2Op.V_PK_FMAC_F16) v_cmp_f_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_F16) v_cmp_lt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_F16) v_cmp_eq_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_F16) v_cmp_le_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_F16) v_cmp_gt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_F16) v_cmp_lg_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LG_F16) v_cmp_ge_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_F16) v_cmp_o_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_O_F16) v_cmp_u_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_U_F16) v_cmp_nge_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NGE_F16) v_cmp_nlg_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLG_F16) v_cmp_ngt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NGT_F16) v_cmp_nle_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLE_F16) v_cmp_neq_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NEQ_F16) v_cmp_nlt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLT_F16) v_cmp_t_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_F16) v_cmp_f_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_F32) v_cmp_lt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_F32) v_cmp_eq_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_F32) v_cmp_le_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_F32) v_cmp_gt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_F32) v_cmp_lg_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LG_F32) v_cmp_ge_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_F32) v_cmp_o_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_O_F32) v_cmp_u_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_U_F32) v_cmp_nge_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NGE_F32) v_cmp_nlg_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLG_F32) v_cmp_ngt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NGT_F32) v_cmp_nle_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLE_F32) v_cmp_neq_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NEQ_F32) v_cmp_nlt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLT_F32) v_cmp_t_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_F32) v_cmp_f_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_F64) v_cmp_lt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_F64) v_cmp_eq_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_F64) v_cmp_le_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_F64) v_cmp_gt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_F64) v_cmp_lg_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LG_F64) v_cmp_ge_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_F64) v_cmp_o_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_O_F64) v_cmp_u_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_U_F64) v_cmp_nge_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NGE_F64) v_cmp_nlg_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLG_F64) v_cmp_ngt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NGT_F64) v_cmp_nle_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLE_F64) v_cmp_neq_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NEQ_F64) v_cmp_nlt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NLT_F64) v_cmp_t_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_F64) v_cmp_lt_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_I16) v_cmp_eq_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_I16) v_cmp_le_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_I16) v_cmp_gt_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_I16) v_cmp_ne_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NE_I16) v_cmp_ge_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_I16) v_cmp_lt_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_U16) v_cmp_eq_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_U16) v_cmp_le_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_U16) v_cmp_gt_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_U16) v_cmp_ne_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NE_U16) v_cmp_ge_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_U16) v_cmp_f_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_I32) v_cmp_lt_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_I32) v_cmp_eq_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_I32) v_cmp_le_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_I32) v_cmp_gt_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_I32) v_cmp_ne_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NE_I32) v_cmp_ge_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_I32) v_cmp_t_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_I32) v_cmp_f_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_U32) v_cmp_lt_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_U32) v_cmp_eq_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_U32) v_cmp_le_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_U32) v_cmp_gt_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_U32) v_cmp_ne_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NE_U32) v_cmp_ge_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_U32) v_cmp_t_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_U32) v_cmp_f_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_I64) v_cmp_lt_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_I64) v_cmp_eq_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_I64) v_cmp_le_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_I64) v_cmp_gt_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_I64) v_cmp_ne_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NE_I64) v_cmp_ge_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_I64) v_cmp_t_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_I64) v_cmp_f_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_F_U64) v_cmp_lt_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LT_U64) v_cmp_eq_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_EQ_U64) v_cmp_le_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_LE_U64) v_cmp_gt_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GT_U64) v_cmp_ne_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_NE_U64) v_cmp_ge_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_GE_U64) v_cmp_t_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_T_U64) v_cmp_class_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMP_CLASS_F16) v_cmp_class_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMP_CLASS_F32) v_cmp_class_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMP_CLASS_F64) v_cmpx_f_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_F16) v_cmpx_lt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_F16) v_cmpx_eq_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_F16) v_cmpx_le_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_F16) v_cmpx_gt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_F16) v_cmpx_lg_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LG_F16) v_cmpx_ge_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_F16) v_cmpx_o_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_O_F16) v_cmpx_u_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_U_F16) v_cmpx_nge_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NGE_F16) v_cmpx_nlg_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLG_F16) v_cmpx_ngt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NGT_F16) v_cmpx_nle_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLE_F16) v_cmpx_neq_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NEQ_F16) v_cmpx_nlt_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLT_F16) v_cmpx_t_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_F16) v_cmpx_f_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_F32) v_cmpx_lt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_F32) v_cmpx_eq_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_F32) v_cmpx_le_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_F32) v_cmpx_gt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_F32) v_cmpx_lg_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LG_F32) v_cmpx_ge_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_F32) v_cmpx_o_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_O_F32) v_cmpx_u_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_U_F32) v_cmpx_nge_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NGE_F32) v_cmpx_nlg_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLG_F32) v_cmpx_ngt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NGT_F32) v_cmpx_nle_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLE_F32) v_cmpx_neq_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NEQ_F32) v_cmpx_nlt_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLT_F32) v_cmpx_t_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_F32) v_cmpx_f_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_F64) v_cmpx_lt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_F64) v_cmpx_eq_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_F64) v_cmpx_le_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_F64) v_cmpx_gt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_F64) v_cmpx_lg_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LG_F64) v_cmpx_ge_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_F64) v_cmpx_o_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_O_F64) v_cmpx_u_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_U_F64) v_cmpx_nge_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NGE_F64) v_cmpx_nlg_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLG_F64) v_cmpx_ngt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NGT_F64) v_cmpx_nle_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLE_F64) v_cmpx_neq_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NEQ_F64) v_cmpx_nlt_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NLT_F64) v_cmpx_t_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_F64) v_cmpx_lt_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_I16) v_cmpx_eq_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_I16) v_cmpx_le_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_I16) v_cmpx_gt_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_I16) v_cmpx_ne_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NE_I16) v_cmpx_ge_i16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_I16) v_cmpx_lt_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_U16) v_cmpx_eq_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_U16) v_cmpx_le_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_U16) v_cmpx_gt_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_U16) v_cmpx_ne_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NE_U16) v_cmpx_ge_u16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_U16) v_cmpx_f_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_I32) v_cmpx_lt_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_I32) v_cmpx_eq_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_I32) v_cmpx_le_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_I32) v_cmpx_gt_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_I32) v_cmpx_ne_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NE_I32) v_cmpx_ge_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_I32) v_cmpx_t_i32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_I32) v_cmpx_f_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_U32) v_cmpx_lt_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_U32) v_cmpx_eq_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_U32) v_cmpx_le_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_U32) v_cmpx_gt_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_U32) v_cmpx_ne_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NE_U32) v_cmpx_ge_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_U32) v_cmpx_t_u32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_U32) v_cmpx_f_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_I64) v_cmpx_lt_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_I64) v_cmpx_eq_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_I64) v_cmpx_le_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_I64) v_cmpx_gt_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_I64) v_cmpx_ne_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NE_I64) v_cmpx_ge_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_I64) v_cmpx_t_i64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_I64) v_cmpx_f_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_F_U64) v_cmpx_lt_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LT_U64) v_cmpx_eq_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_EQ_U64) v_cmpx_le_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_LE_U64) v_cmpx_gt_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GT_U64) v_cmpx_ne_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_NE_U64) v_cmpx_ge_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_GE_U64) v_cmpx_t_u64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_T_U64) v_cmpx_class_f16_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_CLASS_F16) v_cmpx_class_f32_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_CLASS_F32) v_cmpx_class_f64_e64 = functools.partial(VOP3, VOP3Op.V_CMPX_CLASS_F64) v_cndmask_b32_e64 = functools.partial(VOP3, VOP3Op.V_CNDMASK_B32) v_add_f32_e64 = functools.partial(VOP3, VOP3Op.V_ADD_F32) v_sub_f32_e64 = functools.partial(VOP3, VOP3Op.V_SUB_F32) v_subrev_f32_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_F32) v_fmac_dx9_zero_f32_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_DX9_ZERO_F32) v_mul_dx9_zero_f32_e64 = functools.partial(VOP3, VOP3Op.V_MUL_DX9_ZERO_F32) v_mul_f32_e64 = functools.partial(VOP3, VOP3Op.V_MUL_F32) v_mul_i32_i24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_I32_I24) v_mul_hi_i32_i24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_HI_I32_I24) v_mul_u32_u24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_U32_U24) v_mul_hi_u32_u24_e64 = functools.partial(VOP3, VOP3Op.V_MUL_HI_U32_U24) v_min_f32_e64 = functools.partial(VOP3, VOP3Op.V_MIN_F32) v_max_f32_e64 = functools.partial(VOP3, VOP3Op.V_MAX_F32) v_min_i32_e64 = functools.partial(VOP3, VOP3Op.V_MIN_I32) v_max_i32_e64 = functools.partial(VOP3, VOP3Op.V_MAX_I32) v_min_u32_e64 = functools.partial(VOP3, VOP3Op.V_MIN_U32) v_max_u32_e64 = functools.partial(VOP3, VOP3Op.V_MAX_U32) v_lshlrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_LSHLREV_B32) v_lshrrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_LSHRREV_B32) v_ashrrev_i32_e64 = functools.partial(VOP3, VOP3Op.V_ASHRREV_I32) v_and_b32_e64 = functools.partial(VOP3, VOP3Op.V_AND_B32) v_or_b32_e64 = functools.partial(VOP3, VOP3Op.V_OR_B32) v_xor_b32_e64 = functools.partial(VOP3, VOP3Op.V_XOR_B32) v_xnor_b32_e64 = functools.partial(VOP3, VOP3Op.V_XNOR_B32) v_add_nc_u32_e64 = functools.partial(VOP3, VOP3Op.V_ADD_NC_U32) v_sub_nc_u32_e64 = functools.partial(VOP3, VOP3Op.V_SUB_NC_U32) v_subrev_nc_u32_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_NC_U32) v_fmac_f32_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_F32) v_cvt_pk_rtz_f16_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_PK_RTZ_F16_F32) v_add_f16_e64 = functools.partial(VOP3, VOP3Op.V_ADD_F16) v_sub_f16_e64 = functools.partial(VOP3, VOP3Op.V_SUB_F16) v_subrev_f16_e64 = functools.partial(VOP3, VOP3Op.V_SUBREV_F16) v_mul_f16_e64 = functools.partial(VOP3, VOP3Op.V_MUL_F16) v_fmac_f16_e64 = functools.partial(VOP3, VOP3Op.V_FMAC_F16) v_max_f16_e64 = functools.partial(VOP3, VOP3Op.V_MAX_F16) v_min_f16_e64 = functools.partial(VOP3, VOP3Op.V_MIN_F16) v_ldexp_f16_e64 = functools.partial(VOP3, VOP3Op.V_LDEXP_F16) v_nop_e64 = functools.partial(VOP3, VOP3Op.V_NOP) v_mov_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOV_B32) v_readfirstlane_b32_e64 = functools.partial(VOP3, VOP3Op.V_READFIRSTLANE_B32) v_cvt_i32_f64_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I32_F64) v_cvt_f64_i32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F64_I32) v_cvt_f32_i32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_I32) v_cvt_f32_u32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_U32) v_cvt_u32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U32_F32) v_cvt_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I32_F32) v_cvt_f16_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F16_F32) v_cvt_f32_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_F16) v_cvt_nearest_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_NEAREST_I32_F32) v_cvt_floor_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_FLOOR_I32_F32) v_cvt_off_f32_i4_e64 = functools.partial(VOP3, VOP3Op.V_CVT_OFF_F32_I4) v_cvt_f32_f64_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_F64) v_cvt_f64_f32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F64_F32) v_cvt_f32_ubyte0_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE0) v_cvt_f32_ubyte1_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE1) v_cvt_f32_ubyte2_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE2) v_cvt_f32_ubyte3_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F32_UBYTE3) v_cvt_u32_f64_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U32_F64) v_cvt_f64_u32_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F64_U32) v_trunc_f64_e64 = functools.partial(VOP3, VOP3Op.V_TRUNC_F64) v_ceil_f64_e64 = functools.partial(VOP3, VOP3Op.V_CEIL_F64) v_rndne_f64_e64 = functools.partial(VOP3, VOP3Op.V_RNDNE_F64) v_floor_f64_e64 = functools.partial(VOP3, VOP3Op.V_FLOOR_F64) v_pipeflush_e64 = functools.partial(VOP3, VOP3Op.V_PIPEFLUSH) v_mov_b16_e64 = functools.partial(VOP3, VOP3Op.V_MOV_B16) v_fract_f32_e64 = functools.partial(VOP3, VOP3Op.V_FRACT_F32) v_trunc_f32_e64 = functools.partial(VOP3, VOP3Op.V_TRUNC_F32) v_ceil_f32_e64 = functools.partial(VOP3, VOP3Op.V_CEIL_F32) v_rndne_f32_e64 = functools.partial(VOP3, VOP3Op.V_RNDNE_F32) v_floor_f32_e64 = functools.partial(VOP3, VOP3Op.V_FLOOR_F32) v_exp_f32_e64 = functools.partial(VOP3, VOP3Op.V_EXP_F32) v_log_f32_e64 = functools.partial(VOP3, VOP3Op.V_LOG_F32) v_rcp_f32_e64 = functools.partial(VOP3, VOP3Op.V_RCP_F32) v_rcp_iflag_f32_e64 = functools.partial(VOP3, VOP3Op.V_RCP_IFLAG_F32) v_rsq_f32_e64 = functools.partial(VOP3, VOP3Op.V_RSQ_F32) v_rcp_f64_e64 = functools.partial(VOP3, VOP3Op.V_RCP_F64) v_rsq_f64_e64 = functools.partial(VOP3, VOP3Op.V_RSQ_F64) v_sqrt_f32_e64 = functools.partial(VOP3, VOP3Op.V_SQRT_F32) v_sqrt_f64_e64 = functools.partial(VOP3, VOP3Op.V_SQRT_F64) v_sin_f32_e64 = functools.partial(VOP3, VOP3Op.V_SIN_F32) v_cos_f32_e64 = functools.partial(VOP3, VOP3Op.V_COS_F32) v_not_b32_e64 = functools.partial(VOP3, VOP3Op.V_NOT_B32) v_bfrev_b32_e64 = functools.partial(VOP3, VOP3Op.V_BFREV_B32) v_clz_i32_u32_e64 = functools.partial(VOP3, VOP3Op.V_CLZ_I32_U32) v_ctz_i32_b32_e64 = functools.partial(VOP3, VOP3Op.V_CTZ_I32_B32) v_cls_i32_e64 = functools.partial(VOP3, VOP3Op.V_CLS_I32) v_frexp_exp_i32_f64_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_EXP_I32_F64) v_frexp_mant_f64_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_MANT_F64) v_fract_f64_e64 = functools.partial(VOP3, VOP3Op.V_FRACT_F64) v_frexp_exp_i32_f32_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_EXP_I32_F32) v_frexp_mant_f32_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_MANT_F32) v_movreld_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELD_B32) v_movrels_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELS_B32) v_movrelsd_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELSD_B32) v_movrelsd_2_b32_e64 = functools.partial(VOP3, VOP3Op.V_MOVRELSD_2_B32) v_cvt_f16_u16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F16_U16) v_cvt_f16_i16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_F16_I16) v_cvt_u16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U16_F16) v_cvt_i16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I16_F16) v_rcp_f16_e64 = functools.partial(VOP3, VOP3Op.V_RCP_F16) v_sqrt_f16_e64 = functools.partial(VOP3, VOP3Op.V_SQRT_F16) v_rsq_f16_e64 = functools.partial(VOP3, VOP3Op.V_RSQ_F16) v_log_f16_e64 = functools.partial(VOP3, VOP3Op.V_LOG_F16) v_exp_f16_e64 = functools.partial(VOP3, VOP3Op.V_EXP_F16) v_frexp_mant_f16_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_MANT_F16) v_frexp_exp_i16_f16_e64 = functools.partial(VOP3, VOP3Op.V_FREXP_EXP_I16_F16) v_floor_f16_e64 = functools.partial(VOP3, VOP3Op.V_FLOOR_F16) v_ceil_f16_e64 = functools.partial(VOP3, VOP3Op.V_CEIL_F16) v_trunc_f16_e64 = functools.partial(VOP3, VOP3Op.V_TRUNC_F16) v_rndne_f16_e64 = functools.partial(VOP3, VOP3Op.V_RNDNE_F16) v_fract_f16_e64 = functools.partial(VOP3, VOP3Op.V_FRACT_F16) v_sin_f16_e64 = functools.partial(VOP3, VOP3Op.V_SIN_F16) v_cos_f16_e64 = functools.partial(VOP3, VOP3Op.V_COS_F16) v_sat_pk_u8_i16_e64 = functools.partial(VOP3, VOP3Op.V_SAT_PK_U8_I16) v_cvt_norm_i16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_NORM_I16_F16) v_cvt_norm_u16_f16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_NORM_U16_F16) v_not_b16_e64 = functools.partial(VOP3, VOP3Op.V_NOT_B16) v_cvt_i32_i16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_I32_I16) v_cvt_u32_u16_e64 = functools.partial(VOP3, VOP3Op.V_CVT_U32_U16) 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, 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) dword = functools.partial(VOP3SD, VOP3SDOp.DWORD) 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) v_cmp_lt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_F16) v_cmp_eq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_F16) v_cmp_le_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_F16) v_cmp_gt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_F16) v_cmp_lg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LG_F16) v_cmp_ge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_F16) v_cmp_o_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_O_F16) v_cmp_u_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_U_F16) v_cmp_nge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGE_F16) v_cmp_nlg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLG_F16) v_cmp_ngt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGT_F16) v_cmp_nle_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLE_F16) v_cmp_neq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NEQ_F16) v_cmp_nlt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLT_F16) v_cmp_t_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_F16) v_cmp_f_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_F32) v_cmp_lt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_F32) v_cmp_eq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_F32) v_cmp_le_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_F32) v_cmp_gt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_F32) v_cmp_lg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LG_F32) v_cmp_ge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_F32) v_cmp_o_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_O_F32) v_cmp_u_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_U_F32) v_cmp_nge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGE_F32) v_cmp_nlg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLG_F32) v_cmp_ngt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGT_F32) v_cmp_nle_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLE_F32) v_cmp_neq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NEQ_F32) v_cmp_nlt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLT_F32) v_cmp_t_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_F32) v_cmp_f_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_F64) v_cmp_lt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_F64) v_cmp_eq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_F64) v_cmp_le_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_F64) v_cmp_gt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_F64) v_cmp_lg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LG_F64) v_cmp_ge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_F64) v_cmp_o_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_O_F64) v_cmp_u_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_U_F64) v_cmp_nge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGE_F64) v_cmp_nlg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLG_F64) v_cmp_ngt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NGT_F64) v_cmp_nle_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLE_F64) v_cmp_neq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NEQ_F64) v_cmp_nlt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NLT_F64) v_cmp_t_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_F64) v_cmp_lt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_I16) v_cmp_eq_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_I16) v_cmp_le_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_I16) v_cmp_gt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_I16) v_cmp_ne_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_I16) v_cmp_ge_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_I16) v_cmp_lt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_U16) v_cmp_eq_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_U16) v_cmp_le_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_U16) v_cmp_gt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_U16) v_cmp_ne_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_U16) v_cmp_ge_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_U16) v_cmp_f_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_I32) v_cmp_lt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_I32) v_cmp_eq_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_I32) v_cmp_le_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_I32) v_cmp_gt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_I32) v_cmp_ne_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_I32) v_cmp_ge_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_I32) v_cmp_t_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_I32) v_cmp_f_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_U32) v_cmp_lt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_U32) v_cmp_eq_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_U32) v_cmp_le_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_U32) v_cmp_gt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_U32) v_cmp_ne_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_U32) v_cmp_ge_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_U32) v_cmp_t_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_U32) v_cmp_f_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_I64) v_cmp_lt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_I64) v_cmp_eq_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_I64) v_cmp_le_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_I64) v_cmp_gt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_I64) v_cmp_ne_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_I64) v_cmp_ge_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_I64) v_cmp_t_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_I64) v_cmp_f_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_F_U64) v_cmp_lt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LT_U64) v_cmp_eq_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_EQ_U64) v_cmp_le_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_LE_U64) v_cmp_gt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GT_U64) v_cmp_ne_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_NE_U64) v_cmp_ge_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_GE_U64) v_cmp_t_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_T_U64) v_cmp_class_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F16) v_cmp_class_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F32) v_cmp_class_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMP_CLASS_F64) v_cmpx_f_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_F16) v_cmpx_lt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_F16) v_cmpx_eq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_F16) v_cmpx_le_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_F16) v_cmpx_gt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_F16) v_cmpx_lg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LG_F16) v_cmpx_ge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_F16) v_cmpx_o_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_O_F16) v_cmpx_u_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_U_F16) v_cmpx_nge_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGE_F16) v_cmpx_nlg_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLG_F16) v_cmpx_ngt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGT_F16) v_cmpx_nle_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLE_F16) v_cmpx_neq_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NEQ_F16) v_cmpx_nlt_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLT_F16) v_cmpx_t_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_F16) v_cmpx_f_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_F32) v_cmpx_lt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_F32) v_cmpx_eq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_F32) v_cmpx_le_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_F32) v_cmpx_gt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_F32) v_cmpx_lg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LG_F32) v_cmpx_ge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_F32) v_cmpx_o_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_O_F32) v_cmpx_u_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_U_F32) v_cmpx_nge_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGE_F32) v_cmpx_nlg_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLG_F32) v_cmpx_ngt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGT_F32) v_cmpx_nle_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLE_F32) v_cmpx_neq_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NEQ_F32) v_cmpx_nlt_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLT_F32) v_cmpx_t_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_F32) v_cmpx_f_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_F64) v_cmpx_lt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_F64) v_cmpx_eq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_F64) v_cmpx_le_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_F64) v_cmpx_gt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_F64) v_cmpx_lg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LG_F64) v_cmpx_ge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_F64) v_cmpx_o_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_O_F64) v_cmpx_u_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_U_F64) v_cmpx_nge_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGE_F64) v_cmpx_nlg_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLG_F64) v_cmpx_ngt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NGT_F64) v_cmpx_nle_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLE_F64) v_cmpx_neq_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NEQ_F64) v_cmpx_nlt_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NLT_F64) v_cmpx_t_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_F64) v_cmpx_lt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_I16) v_cmpx_eq_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_I16) v_cmpx_le_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_I16) v_cmpx_gt_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_I16) v_cmpx_ne_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_I16) v_cmpx_ge_i16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_I16) v_cmpx_lt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_U16) v_cmpx_eq_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_U16) v_cmpx_le_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_U16) v_cmpx_gt_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_U16) v_cmpx_ne_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_U16) v_cmpx_ge_u16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_U16) v_cmpx_f_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_I32) v_cmpx_lt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_I32) v_cmpx_eq_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_I32) v_cmpx_le_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_I32) v_cmpx_gt_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_I32) v_cmpx_ne_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_I32) v_cmpx_ge_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_I32) v_cmpx_t_i32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_I32) v_cmpx_f_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_U32) v_cmpx_lt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_U32) v_cmpx_eq_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_U32) v_cmpx_le_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_U32) v_cmpx_gt_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_U32) v_cmpx_ne_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_U32) v_cmpx_ge_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_U32) v_cmpx_t_u32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_U32) v_cmpx_f_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_I64) v_cmpx_lt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_I64) v_cmpx_eq_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_I64) v_cmpx_le_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_I64) v_cmpx_gt_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_I64) v_cmpx_ne_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_I64) v_cmpx_ge_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_I64) v_cmpx_t_i64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_I64) v_cmpx_f_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_F_U64) v_cmpx_lt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LT_U64) v_cmpx_eq_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_EQ_U64) v_cmpx_le_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_LE_U64) v_cmpx_gt_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GT_U64) v_cmpx_ne_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_NE_U64) v_cmpx_ge_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_GE_U64) v_cmpx_t_u64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_T_U64) v_cmpx_class_f16_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F16) v_cmpx_class_f32_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F32) v_cmpx_class_f64_e32 = functools.partial(VOPC, VOPCOp.V_CMPX_CLASS_F64) v_dual_fmac_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_FMAC_F32) v_dual_fmaak_f32 = functools.partial(VOPD, VOPDOp.V_DUAL_FMAAK_F32) v_dual_fmamk_f32 = functools.partial(VOPD, 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) VCC_LO = SrcEnum.VCC_LO VCC_HI = SrcEnum.VCC_HI NULL = SrcEnum.NULL M0 = SrcEnum.M0 EXEC_LO = SrcEnum.EXEC_LO EXEC_HI = SrcEnum.EXEC_HI ZERO = SrcEnum.ZERO DPP8FI = SrcEnum.DPP8FI SHARED_BASE = SrcEnum.SHARED_BASE SHARED_LIMIT = SrcEnum.SHARED_LIMIT PRIVATE_BASE = SrcEnum.PRIVATE_BASE PRIVATE_LIMIT = SrcEnum.PRIVATE_LIMIT POS_HALF = SrcEnum.POS_HALF NEG_HALF = SrcEnum.NEG_HALF POS_ONE = SrcEnum.POS_ONE NEG_ONE = SrcEnum.NEG_ONE POS_TWO = SrcEnum.POS_TWO NEG_TWO = SrcEnum.NEG_TWO POS_FOUR = SrcEnum.POS_FOUR NEG_FOUR = SrcEnum.NEG_FOUR INV_2PI = SrcEnum.INV_2PI VCCZ = SrcEnum.VCCZ EXECZ = SrcEnum.EXECZ SCC = SrcEnum.SCC LDS_DIRECT = SrcEnum.LDS_DIRECT OFF = NULL