Files
tinygrad/extra/assembly/amd/autogen/rdna3/__init__.py
George Hotz 49d1bf93d6 assembly/amd: refactor asm.py to be simpler (#13900)
* assembly/amd: refactor asm.py

* assembly/amd: refactor asm.py to be simpler

* multiple fxns

* fast

* more tests pass

* regen

* stop decode
2025-12-30 13:51:40 -05:00

3383 lines
139 KiB
Python

# 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