package core:rexcode/isa/mips

⌘K
Ctrl+K
or
/

    Overview

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    rexcode · Brendan Punsky (dotbmp@github), original author

    Index

    Procedures (4176)
    Procedure Groups (0)

    This section is empty.

    Types

    CP0_Reg ¶

    CP0_Reg :: enum u8 {
    	INDEX    = 0, 
    	RANDOM   = 1, 
    	ENTRYLO0 = 2, 
    	ENTRYLO1 = 3, 
    	CONTEXT  = 4, 
    	PAGEMASK = 5, 
    	WIRED    = 6, 
    	HWRENA   = 7, 
    	BADVADDR = 8, 
    	COUNT    = 9, 
    	ENTRYHI  = 10, 
    	COMPARE  = 11, 
    	STATUS   = 12, 
    	CAUSE    = 13, 
    	EPC      = 14, 
    	PRID     = 15, 
    	CONFIG   = 16, 
    	LLADDR   = 17, 
    	WATCHLO  = 18, 
    	WATCHHI  = 19, 
    	XCONTEXT = 20, 
    	DEBUG    = 23, 
    	DEPC     = 24, 
    	PERFCNT  = 25, 
    	ERRCTL   = 26, 
    	CACHEERR = 27, 
    	TAGLO    = 28, 
    	TAGHI    = 29, 
    	ERROREPC = 30, 
    	DESAVE   = 31, 
    }
    Related Procedures With Parameters

    Decode_Entry ¶

    Decode_Entry :: struct #packed {
    	mnemonic: Mnemonic,
    	// 2 bytes
    	ops:      [4]Operand_Type,
    	// 4 bytes
    	enc:      [4]Operand_Encoding,
    	// 4 bytes
    	bits:     u32,
    	// 4 bytes — static bit pattern
    	mask:     u32,
    	// 4 bytes — which bits are static
    	feature:  Feature,
    	// 1 byte  — metadata
    	flags:    Encoding_Flags,
    }

    Decode_Index ¶

    Decode_Index :: struct #packed {
    	start: u16,
    	count: u16,
    }

    Encode_Run ¶

    Encode_Run :: struct {
    	start: u32,
    	count: u32,
    }
     

    Companion run index: ENCODE_RUNS[mnemonic] -> contiguous run in ENCODE_FORMS.

    Encoding ¶

    Encoding :: struct #packed {
    	mnemonic: Mnemonic,
    	// 2 bytes
    	ops:      [4]Operand_Type,
    	// 4 bytes
    	enc:      [4]Operand_Encoding,
    	// 4 bytes
    	bits:     u32,
    	// 4 bytes — static bit pattern
    	mask:     u32,
    	// 4 bytes — which bits are static
    	feature:  Feature,
    	// 1 byte  — metadata
    	flags:    Encoding_Flags,
    }
     

    A single instruction encoding. bits holds the static pattern; mask marks which bits are static (so operand-derived bits OR in over zeros). Together they form a complete bit-level description.

    Encoding_Flags ¶

    Encoding_Flags :: distinct bit_field u8 {
    	delay_slot:  bool | 1,
    	likely:      bool | 1,
    	only_64:     bool | 1,
    	writes_hilo: bool | 1,
    	compact:     bool | 1,
    	_:           u8 | 3,
    }

    Endianness ¶

    Endianness :: enum u8 {
    	LITTLE = 0, 
    	BIG    = 1, 
    }
     

    Endianness flag (controls how the encoder serialises 32-bit words to bytes). Console targets: PS1, PS2, PSP = LITTLE; N64 = BIG; "MIPS canonical" = BIG.

    Related Procedures With Parameters

    Error ¶

    Error :: rexcode_isa.Error
     

    Re-exports from isa.

    Error_Code ¶

    Error_Code :: rexcode_isa.Error_Code

    FPR ¶

    FPR :: enum u8 {
    	F0  = 0, 
    	F1  = 1, 
    	F2  = 2, 
    	F3  = 3, 
    	F4  = 4, 
    	F5  = 5, 
    	F6  = 6, 
    	F7  = 7, 
    	F8  = 8, 
    	F9  = 9, 
    	F10 = 10, 
    	F11 = 11, 
    	F12 = 12, 
    	F13 = 13, 
    	F14 = 14, 
    	F15 = 15, 
    	F16 = 16, 
    	F17 = 17, 
    	F18 = 18, 
    	F19 = 19, 
    	F20 = 20, 
    	F21 = 21, 
    	F22 = 22, 
    	F23 = 23, 
    	F24 = 24, 
    	F25 = 25, 
    	F26 = 26, 
    	F27 = 27, 
    	F28 = 28, 
    	F29 = 29, 
    	F30 = 30, 
    	F31 = 31, 
    }
    Related Procedures With Parameters

    Feature ¶

    Feature :: enum u8 {
    	MIPS_I, 
    	MIPS_II, 
    	MIPS_III, 
    	MIPS_IV, 
    	MIPS_V, 
    	MIPS32_R1, 
    	MIPS32_R2, 
    	MIPS32_R5, 
    	MIPS32_R6, 
    	MIPS64_R1, 
    	MIPS64_R2, 
    	MIPS64_R5, 
    	MIPS64_R6, 
    	COP0,      // system control coprocessor
    	FPU,       // COP1 (any MIPS with FPU)
    	DSP_R1, 
    	DSP_R2, 
    	MSA,       // MIPS SIMD
    	GTE_PS1,   // PS1 R3000A Geometry Transformation Engine (COP2)
    	MMI_PS2,   // PS2 R5900 Multimedia Instructions
    	VU_PS2,    // PS2 VU0 macro-mode COP2 ops
    	VFPU_PSP,  // PSP Allegrex Vector FPU
    }
     

    ISA version + extension classification. Metadata: the matcher can optionally restrict picks to a chosen ISA level, and the printer can label disassembly with the introducing extension.

    GPR ¶

    GPR :: enum u8 {
    	ZERO = 0, 
    	AT   = 1, 
    	V0   = 2, 
    	V1   = 3, 
    	A0   = 4, 
    	A1   = 5, 
    	A2   = 6, 
    	A3   = 7, 
    	T0   = 8, 
    	T1   = 9, 
    	T2   = 10, 
    	T3   = 11, 
    	T4   = 12, 
    	T5   = 13, 
    	T6   = 14, 
    	T7   = 15, 
    	S0   = 16, 
    	S1   = 17, 
    	S2   = 18, 
    	S3   = 19, 
    	S4   = 20, 
    	S5   = 21, 
    	S6   = 22, 
    	S7   = 23, 
    	T8   = 24, 
    	T9   = 25, 
    	K0   = 26, 
    	K1   = 27, 
    	GP   = 28, 
    	SP   = 29, 
    	FP   = 30, 
    	RA   = 31, 
    }
    Related Procedures With Parameters

    GTE_CtrlReg ¶

    GTE_CtrlReg :: enum u8 {
    	R11R12 = 0, 
    	R13R21 = 1, 
    	R22R23 = 2, 
    	R31R32 = 3, 
    	R33    = 4, 
    	TRX    = 5, 
    	TRY    = 6, 
    	TRZ    = 7, 
    	L11L12 = 8, 
    	L13L21 = 9, 
    	L22L23 = 10, 
    	L31L32 = 11, 
    	L33    = 12, 
    	RBK    = 13, 
    	GBK    = 14, 
    	BBK    = 15, 
    	LR1LR2 = 16, 
    	LR3LG1 = 17, 
    	LG2LG3 = 18, 
    	LB1LB2 = 19, 
    	LB3    = 20, 
    	RFC    = 21, 
    	GFC    = 22, 
    	BFC    = 23, 
    	OFX    = 24, 
    	OFY    = 25, 
    	H      = 26, 
    	DQA    = 27, 
    	DQB    = 28, 
    	ZSF3   = 29, 
    	ZSF4   = 30, 
    	FLAG   = 31, 
    }
     

    PS1 GTE control registers (CFC2/CTC2).

    Related Procedures With Parameters

    GTE_DataReg ¶

    GTE_DataReg :: enum u8 {
    	VXY0 = 0, 
    	VZ0  = 1, 
    	VXY1 = 2, 
    	VZ1  = 3, 
    	VXY2 = 4, 
    	VZ2  = 5, 
    	RGBC = 6, 
    	OTZ  = 7, 
    	IR0  = 8, 
    	IR1  = 9, 
    	IR2  = 10, 
    	IR3  = 11, 
    	SXY0 = 12, 
    	SXY1 = 13, 
    	SXY2 = 14, 
    	SXYP = 15, 
    	SZ0  = 16, 
    	SZ1  = 17, 
    	SZ2  = 18, 
    	SZ3  = 19, 
    	RGB0 = 20, 
    	RGB1 = 21, 
    	RGB2 = 22, 
    	RES1 = 23, 
    	MAC0 = 24, 
    	MAC1 = 25, 
    	MAC2 = 26, 
    	MAC3 = 27, 
    	IRGB = 28, 
    	ORGB = 29, 
    	LZCS = 30, 
    	LZCR = 31, 
    }
    Related Procedures With Parameters

    Instruction ¶

    Instruction :: struct #packed {
    	ops:           [4]Operand `fmt:"v,operand_count"`,
    	// 64 bytes
    	mnemonic:      Mnemonic,
    	//  2 bytes
    	operand_count: u8,
    	//  1 byte
    	flags:         Instruction_Flags,
    	//  1 byte
    	length:        u8,
    	//  1 byte — always 4 for now; will be 2 for future μMIPS / MIPS16e
    	_:             [3]u8,
    }
    Related Procedures With Returns

    Instruction_Flags ¶

    Instruction_Flags :: distinct bit_field u8 {
    	_: u8 | 8,
    }

    Instruction_Info ¶

    Instruction_Info :: struct {
    	offset:       u32,
    	decode_entry: u16,
    	_:            u16,
    }
     

    ----------------------------------------------------------------------------- Per-decoded-instruction metadata (parallel to []Instruction). -----------------------------------------------------------------------------

    offset -- byte offset within data where this instruction starts. decode_entry -- index into DECODE_ENTRIES of the matched form; lets a printer query the Feature tag / flags without re-scanning.

    Label_Definition ¶

    Label_Definition :: rexcode_isa.Label_Definition
    Related Constants

    Label_Map ¶

    Label_Map :: rexcode_isa.Label_Map

    Memory ¶

    Memory :: struct #packed {
    	base: Register,
    	// 2 bytes
    	_:    u16,
    	// 2 bytes pad (keeps the struct power-of-two)
    	disp: i32,
    }
     

    Memory operand: GPR base + signed 16-bit displacement. Stored with a 32-bit disp slot to make the type comfortable to construct, even though only -32768..32767 actually encode.

    Related Procedures With Parameters
    Related Procedures With Returns

    Mnemonic ¶

    Mnemonic :: enum u16 {
    	INVALID         = 0, 
    	// R-type arithmetic
    	ADD, 
    	ADDU, 
    	SUB, 
    	SUBU, 
    	MULT, 
    	MULTU, 
    	DIV, 
    	DIVU, 
    	MFHI, 
    	MFLO, 
    	MTHI, 
    	MTLO, 
    	AND, 
    	OR, 
    	XOR, 
    	NOR, 
    	SLT, 
    	SLTU, 
    	// R-type shifts
    	SLL, 
    	SRL, 
    	SRA, 
    	SLLV, 
    	SRLV, 
    	SRAV, 
    	// I-type arithmetic
    	ADDI, 
    	ADDIU, 
    	SLTI, 
    	SLTIU, 
    	ANDI, 
    	ORI, 
    	XORI, 
    	LUI, 
    	// I-type branches
    	BEQ, 
    	BNE, 
    	BLEZ, 
    	BGTZ, 
    	// REGIMM branches
    	BLTZ, 
    	BGEZ, 
    	BLTZAL, 
    	BGEZAL, 
    	// J-type
    	J, 
    	JAL, 
    	// R-type jumps
    	JR, 
    	JALR, 
    	// Loads
    	LB, 
    	LH, 
    	LW, 
    	LBU, 
    	LHU, 
    	LWL, 
    	LWR, 
    	// Stores
    	SB, 
    	SH, 
    	SW, 
    	SWL, 
    	SWR, 
    	// System
    	SYSCALL, 
    	BREAK, 
    	NOP, 
    	// Atomic
    	LL, 
    	SC, 
    	// Synchronization
    	SYNC, 
    	// Traps (immediate and register variants)
    	TGEI, 
    	TGEIU, 
    	TLTI, 
    	TLTIU, 
    	TEQI, 
    	TNEI, 
    	TGE, 
    	TGEU, 
    	TLT, 
    	TLTU, 
    	TEQ, 
    	TNE, 
    	// Branch-likely (skip delay slot if not taken)
    	BEQL, 
    	BNEL, 
    	BLEZL, 
    	BGTZL, 
    	BLTZL, 
    	BGEZL, 
    	BLTZALL, 
    	BGEZALL, 
    	DADD, 
    	DADDU, 
    	DSUB, 
    	DSUBU, 
    	DADDI, 
    	DADDIU, 
    	DMULT, 
    	DMULTU, 
    	DDIV, 
    	DDIVU, 
    	DSLL, 
    	DSRL, 
    	DSRA, 
    	DSLLV, 
    	DSRLV, 
    	DSRAV, 
    	DSLL32, 
    	DSRL32, 
    	DSRA32, 
    	LD, 
    	LDL, 
    	LDR, 
    	LWU, 
    	SD, 
    	SDL, 
    	SDR, 
    	LLD, 
    	SCD, 
    	MOVN, 
    	MOVZ, 
    	MOVF, 
    	MOVT,                // FP-condition-based GPR move
    	PREF, 
    	PREFX, 
    	LWXC1, 
    	SWXC1, 
    	LDXC1, 
    	SDXC1,               // indexed FP load/store
    	CLZ, 
    	CLO, 
    	DCLZ, 
    	DCLO, 
    	MUL,                 // SPECIAL2 multiply-to-rd (doesn't touch HI/LO)
    	MADD, 
    	MADDU, 
    	MSUB, 
    	MSUBU, 
    	SDBBP, 
    	SSNOP, 
    	EHB, 
    	PAUSE, 
    	// R2 bitfield + shuffle
    	EXT, 
    	INS, 
    	DEXT, 
    	DEXTM, 
    	DEXTU, 
    	DINS, 
    	DINSM, 
    	DINSU, 
    	ROTR, 
    	ROTRV, 
    	DROTR, 
    	DROTRV, 
    	DROTR32, 
    	WSBH, 
    	DSBH, 
    	DSHD, 
    	SEB, 
    	SEH, 
    	// R2 misc
    	RDHWR, 
    	RDPGPR, 
    	WRPGPR, 
    	DI, 
    	EI, 
    	ERET, 
    	DERET, 
    	WAIT, 
    	// Compact (no delay slot)
    	BC, 
    	BALC,                // 26-bit
    	BEQC, 
    	BNEC, 
    	BLTC, 
    	BGEC, 
    	BLTUC, 
    	BGEUC, 
    	BLEZC, 
    	BGEZC, 
    	BGTZC, 
    	BLTZC, 
    	BEQZC, 
    	BNEZC, 
    	BC1EQZ, 
    	BC1NEZ, 
    	BC2EQZ, 
    	BC2NEZ, 
    	JIC, 
    	JIALC, 
    	// R6 mul/div (replaces MULT/MULTU/DIV/DIVU; results in single GPR)
    	MUH, 
    	MULU, 
    	MUHU, 
    	MOD, 
    	MODU, 
    	DMUL_R6, 
    	DMUH, 
    	DMULU, 
    	DMUHU, 
    	DDIV_R6, 
    	DMOD, 
    	DDIVU_R6, 
    	DMODU, 
    	// R6 PC-relative immediates
    	AUI, 
    	AUIPC, 
    	ALUIPC, 
    	DAUI, 
    	DAHI, 
    	DATI, 
    	// R6 misc
    	ALIGN, 
    	DALIGN, 
    	BITSWAP, 
    	DBITSWAP, 
    	LSA, 
    	DLSA, 
    	LWPC, 
    	LWUPC, 
    	LDPC, 
    	SELEQZ, 
    	SELNEZ, 
    	// R6 CRC32 (optional in MIPS32 R6)
    	CRC32B, 
    	CRC32H, 
    	CRC32W, 
    	CRC32D, 
    	CRC32CB, 
    	CRC32CH, 
    	CRC32CW, 
    	CRC32CD, 
    	SIGRIE,              // signal reserved instruction exception
    	MFC1, 
    	MTC1, 
    	DMFC1, 
    	DMTC1, 
    	CFC1, 
    	CTC1, 
    	MFHC1, 
    	MTHC1,               // R2: high word of paired single
    	LWC1, 
    	SWC1, 
    	LDC1, 
    	SDC1, 
    	ADD_S, 
    	ADD_D, 
    	ADD_PS, 
    	SUB_S, 
    	SUB_D, 
    	SUB_PS, 
    	MUL_S, 
    	MUL_D, 
    	MUL_PS, 
    	DIV_S, 
    	DIV_D, 
    	SQRT_S, 
    	SQRT_D, 
    	ABS_S, 
    	ABS_D, 
    	ABS_PS, 
    	NEG_S, 
    	NEG_D, 
    	NEG_PS, 
    	MOV_S, 
    	MOV_D, 
    	MOV_PS, 
    	RECIP_S, 
    	RECIP_D, 
    	RSQRT_S, 
    	RSQRT_D, 
    	// FMA family (MIPS IV+)
    	MADD_S, 
    	MADD_D, 
    	MADD_PS, 
    	MSUB_S, 
    	MSUB_D, 
    	MSUB_PS, 
    	NMADD_S, 
    	NMADD_D, 
    	NMADD_PS, 
    	NMSUB_S, 
    	NMSUB_D, 
    	NMSUB_PS, 
    	// Conditional move (FPR by GPR / FCC)
    	MOVN_S, 
    	MOVN_D, 
    	MOVN_PS, 
    	MOVZ_S, 
    	MOVZ_D, 
    	MOVZ_PS, 
    	MOVF_S, 
    	MOVF_D, 
    	MOVF_PS, 
    	MOVT_S, 
    	MOVT_D, 
    	MOVT_PS, 
    	CVT_S_D, 
    	CVT_S_W, 
    	CVT_S_L, 
    	CVT_D_S, 
    	CVT_D_W, 
    	CVT_D_L, 
    	CVT_W_S, 
    	CVT_W_D, 
    	CVT_L_S, 
    	CVT_L_D, 
    	CVT_PS_S, 
    	CVT_S_PU, 
    	CVT_S_PL, 
    	PLL_PS, 
    	PLU_PS, 
    	PUL_PS, 
    	PUU_PS, 
    	// FPU round-to-fixed-point
    	ROUND_W_S, 
    	ROUND_W_D, 
    	ROUND_L_S, 
    	ROUND_L_D, 
    	TRUNC_W_S, 
    	TRUNC_W_D, 
    	TRUNC_L_S, 
    	TRUNC_L_D, 
    	CEIL_W_S, 
    	CEIL_W_D, 
    	CEIL_L_S, 
    	CEIL_L_D, 
    	FLOOR_W_S, 
    	FLOOR_W_D, 
    	FLOOR_L_S, 
    	FLOOR_L_D, 
    	C_F_S, 
    	C_F_D, 
    	C_F_PS, 
    	C_UN_S, 
    	C_UN_D, 
    	C_UN_PS, 
    	C_EQ_S, 
    	C_EQ_D, 
    	C_EQ_PS, 
    	C_UEQ_S, 
    	C_UEQ_D, 
    	C_UEQ_PS, 
    	C_OLT_S, 
    	C_OLT_D, 
    	C_OLT_PS, 
    	C_ULT_S, 
    	C_ULT_D, 
    	C_ULT_PS, 
    	C_OLE_S, 
    	C_OLE_D, 
    	C_OLE_PS, 
    	C_ULE_S, 
    	C_ULE_D, 
    	C_ULE_PS, 
    	C_SF_S, 
    	C_SF_D, 
    	C_SF_PS, 
    	C_NGLE_S, 
    	C_NGLE_D, 
    	C_NGLE_PS, 
    	C_SEQ_S, 
    	C_SEQ_D, 
    	C_SEQ_PS, 
    	C_NGL_S, 
    	C_NGL_D, 
    	C_NGL_PS, 
    	C_LT_S, 
    	C_LT_D, 
    	C_LT_PS, 
    	C_NGE_S, 
    	C_NGE_D, 
    	C_NGE_PS, 
    	C_LE_S, 
    	C_LE_D, 
    	C_LE_PS, 
    	C_NGT_S, 
    	C_NGT_D, 
    	C_NGT_PS, 
    	// FPU branches
    	BC1F, 
    	BC1T, 
    	BC1FL, 
    	BC1TL, 
    	MFC0, 
    	MTC0, 
    	DMFC0, 
    	DMTC0, 
    	MFHC0, 
    	MTHC0,               // R5+ high half of 64-bit registers
    	TLBP, 
    	TLBR, 
    	TLBWI, 
    	TLBWR, 
    	CACHE, 
    	// Standard COP2 moves (GTE registers via these)
    	MFC2, 
    	MTC2, 
    	CFC2, 
    	CTC2, 
    	LWC2, 
    	SWC2, 
    	LDC2, 
    	SDC2,                // LDC2/SDC2 exist on MIPS II+; PS1 R3000A does not implement
    	// GTE ops (cofun-encoded, no GPR operands)
    	RTPS, 
    	RTPT, 
    	DPCS, 
    	DPCT, 
    	INTPL, 
    	MVMVA, 
    	NCDS, 
    	NCDT, 
    	NCCS, 
    	NCCT, 
    	NCS, 
    	NCT, 
    	CDP, 
    	CC, 
    	NCLIP, 
    	AVSZ3, 
    	AVSZ4, 
    	OP_GTE,              // "OP" (cross product) — disambiguated from MIPS R6 OP
    	GPF, 
    	GPL, 
    	SQR_GTE,             // "SQR" — disambiguated from generic
    	DCPL,                // depth-cue per light
    	// 128-bit GPR load/store
    	LQ, 
    	SQ, 
    	// VU0 macro-mode 128-bit COP2 moves
    	LQC2, 
    	SQC2, 
    	// Second HI/LO pair (R5900 dual MAC)
    	MFHI1, 
    	MFLO1, 
    	MTHI1, 
    	MTLO1, 
    	MULT1, 
    	MULTU1, 
    	DIV1, 
    	DIVU1, 
    	MADD_EE, 
    	MADDU_EE, 
    	MSUB_EE, 
    	MSUBU_EE, 
    	MADD1, 
    	MADDU1, 
    	MSUB1, 
    	MSUBU1, 
    	// Packed pack/unpack HI:LO
    	PMFHL_LW, 
    	PMFHL_UW, 
    	PMFHL_LH, 
    	PMFHL_SH, 
    	PMFHL_SLW, 
    	PMTHL_LW, 
    	// Parallel arithmetic (byte/halfword/word lanes)
    	PADDB, 
    	PADDH, 
    	PADDW, 
    	PADDSB, 
    	PADDSH, 
    	PADDSW, 
    	PADDUB, 
    	PADDUH, 
    	PADDUW, 
    	PSUBB, 
    	PSUBH, 
    	PSUBW, 
    	PSUBSB, 
    	PSUBSH, 
    	PSUBSW, 
    	PSUBUB, 
    	PSUBUH, 
    	PSUBUW, 
    	// Parallel shifts
    	PSLLH, 
    	PSRLH, 
    	PSRAH, 
    	PSLLW, 
    	PSRLW, 
    	PSRAW, 
    	PSLLVW, 
    	PSRLVW, 
    	PSRAVW, 
    	QFSRV,               // quad funnel shift right (across 128 bits)
    	// Parallel logical
    	PAND, 
    	POR, 
    	PXOR, 
    	PNOR, 
    	// Parallel compare
    	PCEQB, 
    	PCEQH, 
    	PCEQW, 
    	PCGTB, 
    	PCGTH, 
    	PCGTW, 
    	// Parallel multiply / divide
    	PMULTW, 
    	PMULTUW, 
    	PMULTH, 
    	PMADDW, 
    	PMADDUW, 
    	PMADDH, 
    	PMSUBW, 
    	PMSUBH, 
    	PHMADH, 
    	PHMSBH, 
    	PDIVW, 
    	PDIVUW, 
    	PDIVBW, 
    	// Pack / rearrange
    	PCPYLD, 
    	PCPYUD, 
    	PCPYH, 
    	PINTH, 
    	PINTOH, 
    	PEXEH, 
    	PEXEW, 
    	PEXCH, 
    	PEXCW, 
    	PROT3W, 
    	PPACB, 
    	PPACH, 
    	PPACW, 
    	PPAC5, 
    	PEXT5, 
    	PEXTLB, 
    	PEXTLH, 
    	PEXTLW, 
    	PEXTUB, 
    	PEXTUH, 
    	PEXTUW, 
    	// MMI HI/LO helpers
    	PMFHI, 
    	PMFLO, 
    	PMTHI, 
    	PMTLO, 
    	// Misc MMI
    	PLZCW, 
    	PABSH, 
    	PABSW, 
    	PMAXH, 
    	PMAXW, 
    	PMINH, 
    	PMINW, 
    	// Shift-amount register
    	MFSA, 
    	MTSA, 
    	MTSAB, 
    	MTSAH, 
    	// Packed add/sub (saturating)
    	ADDQ_PH, 
    	ADDQ_S_PH, 
    	ADDQ_S_W, 
    	SUBQ_PH, 
    	SUBQ_S_PH, 
    	SUBQ_S_W, 
    	ADDU_QB, 
    	ADDU_S_QB, 
    	ADDU_PH, 
    	ADDU_S_PH, 
    	SUBU_QB, 
    	SUBU_S_QB, 
    	SUBU_PH, 
    	SUBU_S_PH, 
    	ADDSC, 
    	ADDWC,               // 32-bit + carry/borrow
    	// Packed multiply / dot-product / accumulate
    	MULEU_S_PH_QBL, 
    	MULEU_S_PH_QBR, 
    	MULEQ_S_W_PHL, 
    	MULEQ_S_W_PHR, 
    	MULQ_RS_PH, 
    	MULQ_S_PH, 
    	MULSAQ_S_W_PH, 
    	DPAQ_S_W_PH, 
    	DPSQ_S_W_PH, 
    	DPAQ_SA_L_W, 
    	DPSQ_SA_L_W, 
    	DPAU_H_QBL, 
    	DPAU_H_QBR, 
    	DPSU_H_QBL, 
    	DPSU_H_QBR, 
    	DPA_W_PH, 
    	DPS_W_PH,            // R2
    	DPAX_W_PH, 
    	DPSX_W_PH,           // R2
    	MAQ_S_W_PHL, 
    	MAQ_S_W_PHR, 
    	MAQ_SA_W_PHL, 
    	MAQ_SA_W_PHR, 
    	// Extract / position / accumulator helpers
    	EXTR_W, 
    	EXTR_R_W, 
    	EXTR_RS_W, 
    	EXTR_S_H, 
    	EXTRV_W, 
    	EXTRV_R_W, 
    	EXTRV_RS_W, 
    	EXTRV_S_H, 
    	EXTP, 
    	EXTPV, 
    	EXTPDP, 
    	EXTPDPV, 
    	SHILO, 
    	SHILOV, 
    	MTHLIP, 
    	WRDSP, 
    	RDDSP, 
    	// Pack / unpack
    	PRECRQ_QB_PH, 
    	PRECRQ_PH_W, 
    	PRECRQU_S_QB_PH, 
    	PRECEQ_W_PHL, 
    	PRECEQ_W_PHR, 
    	PRECEQU_PH_QBL, 
    	PRECEQU_PH_QBR, 
    	PRECEQU_PH_QBLA, 
    	PRECEQU_PH_QBRA, 
    	PRECEU_PH_QBL, 
    	PRECEU_PH_QBR, 
    	PRECEU_PH_QBLA, 
    	PRECEU_PH_QBRA, 
    	PRECRQ_RS_PH_W, 
    	// Compare / pick
    	CMPU_EQ_QB, 
    	CMPU_LT_QB, 
    	CMPU_LE_QB, 
    	CMP_EQ_PH, 
    	CMP_LT_PH, 
    	CMP_LE_PH, 
    	CMPGU_EQ_QB, 
    	CMPGU_LT_QB, 
    	CMPGU_LE_QB, 
    	PICK_QB, 
    	PICK_PH, 
    	// Shift
    	SHLL_QB, 
    	SHLL_PH, 
    	SHLL_S_PH, 
    	SHLL_S_W, 
    	SHLLV_QB, 
    	SHLLV_PH, 
    	SHLLV_S_PH, 
    	SHLLV_S_W, 
    	SHRL_QB, 
    	SHRL_PH, 
    	SHRLV_QB, 
    	SHRLV_PH, 
    	SHRA_QB, 
    	SHRA_R_QB, 
    	SHRA_PH, 
    	SHRA_R_PH, 
    	SHRA_R_W, 
    	SHRAV_QB, 
    	SHRAV_R_QB, 
    	SHRAV_PH, 
    	SHRAV_R_PH, 
    	SHRAV_R_W, 
    	// Indexed loads (rs+rt addressing) — register-register addressing.
    	LBUX, 
    	LHX, 
    	LWX, 
    	// DSP control / branch
    	BPOSGE32,            // branch if DSPControl.pos >= 32
    	INSV,                // insert variable position
    	BITREV,              // R2 bit reversal
    	ABSQ_S_PH, 
    	ABSQ_S_W, 
    	REPL_PH, 
    	REPLV_PH, 
    	REPL_QB, 
    	REPLV_QB, 
    	// Vector register-register integer arithmetic (.B/.H/.W/.D lane width)
    	ADDV_B, 
    	ADDV_H, 
    	ADDV_W, 
    	ADDV_D, 
    	SUBV_B, 
    	SUBV_H, 
    	SUBV_W, 
    	SUBV_D, 
    	ADDS_S_B, 
    	ADDS_S_H, 
    	ADDS_S_W, 
    	ADDS_S_D, 
    	ADDS_U_B, 
    	ADDS_U_H, 
    	ADDS_U_W, 
    	ADDS_U_D, 
    	SUBS_S_B, 
    	SUBS_S_H, 
    	SUBS_S_W, 
    	SUBS_S_D, 
    	SUBS_U_B, 
    	SUBS_U_H, 
    	SUBS_U_W, 
    	SUBS_U_D, 
    	MULV_B, 
    	MULV_H, 
    	MULV_W, 
    	MULV_D, 
    	DIV_S_B, 
    	DIV_S_H, 
    	DIV_S_W, 
    	DIV_S_D, 
    	DIV_U_B, 
    	DIV_U_H, 
    	DIV_U_W, 
    	DIV_U_D, 
    	MOD_S_B, 
    	MOD_S_H, 
    	MOD_S_W, 
    	MOD_S_D, 
    	MOD_U_B, 
    	MOD_U_H, 
    	MOD_U_W, 
    	MOD_U_D, 
    	MADDV_B, 
    	MADDV_H, 
    	MADDV_W, 
    	MADDV_D, 
    	MSUBV_B, 
    	MSUBV_H, 
    	MSUBV_W, 
    	MSUBV_D, 
    	DOTP_S_H, 
    	DOTP_S_W, 
    	DOTP_S_D, 
    	DOTP_U_H, 
    	DOTP_U_W, 
    	DOTP_U_D, 
    	// Vector logical
    	AND_V, 
    	OR_V, 
    	NOR_V, 
    	XOR_V, 
    	ANDI_B, 
    	ORI_B, 
    	NORI_B, 
    	XORI_B, 
    	BSEL_V, 
    	BSELI_B, 
    	BMNZ_V, 
    	BMNZI_B, 
    	BMZ_V, 
    	BMZI_B, 
    	// Vector compare
    	CEQ_B, 
    	CEQ_H, 
    	CEQ_W, 
    	CEQ_D, 
    	CLT_S_B, 
    	CLT_S_H, 
    	CLT_S_W, 
    	CLT_S_D, 
    	CLT_U_B, 
    	CLT_U_H, 
    	CLT_U_W, 
    	CLT_U_D, 
    	CLE_S_B, 
    	CLE_S_H, 
    	CLE_S_W, 
    	CLE_S_D, 
    	CLE_U_B, 
    	CLE_U_H, 
    	CLE_U_W, 
    	CLE_U_D, 
    	// Vector min/max
    	MIN_S_B, 
    	MIN_S_H, 
    	MIN_S_W, 
    	MIN_S_D, 
    	MIN_U_B, 
    	MIN_U_H, 
    	MIN_U_W, 
    	MIN_U_D, 
    	MAX_S_B, 
    	MAX_S_H, 
    	MAX_S_W, 
    	MAX_S_D, 
    	MAX_U_B, 
    	MAX_U_H, 
    	MAX_U_W, 
    	MAX_U_D, 
    	// Vector shifts
    	SLL_B, 
    	SLL_H, 
    	SLL_W, 
    	SLL_D, 
    	SRL_B, 
    	SRL_H, 
    	SRL_W, 
    	SRL_D, 
    	SRA_B, 
    	SRA_H, 
    	SRA_W, 
    	SRA_D, 
    	SLLI_B, 
    	SLLI_H, 
    	SLLI_W, 
    	SLLI_D, 
    	SRLI_B, 
    	SRLI_H, 
    	SRLI_W, 
    	SRLI_D, 
    	SRAI_B, 
    	SRAI_H, 
    	SRAI_W, 
    	SRAI_D, 
    	// Vector FP arithmetic
    	FADD_W, 
    	FADD_D, 
    	FSUB_W, 
    	FSUB_D, 
    	FMUL_W, 
    	FMUL_D, 
    	FDIV_W, 
    	FDIV_D, 
    	FSQRT_W, 
    	FSQRT_D, 
    	FRSQRT_W, 
    	FRSQRT_D, 
    	FRCP_W, 
    	FRCP_D, 
    	FRINT_W, 
    	FRINT_D, 
    	FMAX_W, 
    	FMAX_D, 
    	FMIN_W, 
    	FMIN_D, 
    	FCEQ_W, 
    	FCEQ_D, 
    	FCNE_W, 
    	FCNE_D, 
    	FCLT_W, 
    	FCLT_D, 
    	FCLE_W, 
    	FCLE_D, 
    	// Vector conversion
    	FFINT_S_W, 
    	FFINT_S_D, 
    	FFINT_U_W, 
    	FFINT_U_D, 
    	FTRUNC_S_W, 
    	FTRUNC_S_D, 
    	FTRUNC_U_W, 
    	FTRUNC_U_D, 
    	FCVT_S_W, 
    	FCVT_S_D, 
    	FCVT_D_W, 
    	// Vector load/store + immediate
    	LD_B, 
    	LD_H, 
    	LD_W, 
    	LD_D, 
    	ST_B, 
    	ST_H, 
    	ST_W, 
    	ST_D, 
    	LDI_B, 
    	LDI_H, 
    	LDI_W, 
    	LDI_D, 
    	// Vector shuffle / copy / insert
    	COPY_S_B, 
    	COPY_S_H, 
    	COPY_S_W, 
    	COPY_U_B, 
    	COPY_U_H, 
    	COPY_U_W, 
    	INSERT_B, 
    	INSERT_H, 
    	INSERT_W, 
    	INSERT_D, 
    	INSVE_B, 
    	INSVE_H, 
    	INSVE_W, 
    	INSVE_D, 
    	SHF_B, 
    	SHF_H, 
    	SHF_W, 
    	VSHF_B, 
    	VSHF_H, 
    	VSHF_W, 
    	VSHF_D, 
    	SLD_B, 
    	SLD_H, 
    	SLD_W, 
    	SLD_D, 
    	SLDI_B, 
    	SLDI_H, 
    	SLDI_W, 
    	SLDI_D, 
    	SPLAT_B, 
    	SPLAT_H, 
    	SPLAT_W, 
    	SPLAT_D, 
    	SPLATI_B, 
    	SPLATI_H, 
    	SPLATI_W, 
    	SPLATI_D, 
    	// MSA branches (vector all-zero / any-non-zero across all lanes / per-lane)
    	BZ_V, 
    	BNZ_V, 
    	BZ_B, 
    	BZ_H, 
    	BZ_W, 
    	BZ_D, 
    	BNZ_B, 
    	BNZ_H, 
    	BNZ_W, 
    	BNZ_D, 
    	// Element-permute / count / bit-ops
    	NLOC_B, 
    	NLOC_H, 
    	NLOC_W, 
    	NLOC_D, 
    	NLZC_B, 
    	NLZC_H, 
    	NLZC_W, 
    	NLZC_D, 
    	PCNT_B, 
    	PCNT_H, 
    	PCNT_W, 
    	PCNT_D, 
    	// Move / load / store / immediates
    	VMOV_S, 
    	VMOV_P, 
    	VMOV_T, 
    	VMOV_Q, 
    	LV_S, 
    	LV_Q, 
    	SV_S, 
    	SV_Q, 
    	LVL_Q, 
    	LVR_Q, 
    	SVL_Q, 
    	SVR_Q, 
    	VIIM_S, 
    	VFIM_S, 
    	// Arithmetic
    	VADD_S, 
    	VADD_P, 
    	VADD_T, 
    	VADD_Q, 
    	VSUB_S, 
    	VSUB_P, 
    	VSUB_T, 
    	VSUB_Q, 
    	VMUL_S, 
    	VMUL_P, 
    	VMUL_T, 
    	VMUL_Q, 
    	VDIV_S, 
    	VDIV_P, 
    	VDIV_T, 
    	VDIV_Q, 
    	VABS_S, 
    	VABS_P, 
    	VABS_T, 
    	VABS_Q, 
    	VNEG_S, 
    	VNEG_P, 
    	VNEG_T, 
    	VNEG_Q, 
    	VSQRT_S, 
    	VRCP_S, 
    	VRCP_P, 
    	VRCP_T, 
    	VRCP_Q, 
    	VRSQ_S, 
    	VRSQ_P, 
    	VRSQ_T, 
    	VRSQ_Q, 
    	// Reductions / dot / scale
    	VDOT_P, 
    	VDOT_T, 
    	VDOT_Q, 
    	VSCL_P, 
    	VSCL_T, 
    	VSCL_Q, 
    	VHDP_P, 
    	VHDP_T, 
    	VHDP_Q, 
    	VAVG_P, 
    	VAVG_T, 
    	VAVG_Q, 
    	VFAD_P, 
    	VFAD_T, 
    	VFAD_Q, 
    	// Matrix ops
    	VMMUL_P, 
    	VMMUL_T, 
    	VMMUL_Q, 
    	VTFM2_P, 
    	VTFM3_T, 
    	VTFM4_Q, 
    	VHTFM2_P, 
    	VHTFM3_T, 
    	VHTFM4_Q, 
    	VMSCL_P, 
    	VMSCL_T, 
    	VMSCL_Q, 
    	VMMOV_P, 
    	VMMOV_T, 
    	VMMOV_Q, 
    	VMIDT_P, 
    	VMIDT_T, 
    	VMIDT_Q, 
    	VMZERO_P, 
    	VMZERO_T, 
    	VMZERO_Q, 
    	VMONE_P, 
    	VMONE_T, 
    	VMONE_Q, 
    	// Cross / quaternion
    	VCRS_T, 
    	VCRSP_T, 
    	VQMUL_Q, 
    	// Compares & sel
    	VCMP_S, 
    	VCMP_P, 
    	VCMP_T, 
    	VCMP_Q, 
    	VMIN_S, 
    	VMIN_P, 
    	VMIN_T, 
    	VMIN_Q, 
    	VMAX_S, 
    	VMAX_P, 
    	VMAX_T, 
    	VMAX_Q, 
    	// Transcendentals
    	VSIN_S, 
    	VCOS_S, 
    	VEXP2_S, 
    	VLOG2_S, 
    	VASIN_S, 
    	VNRCP_S, 
    	VNSIN_S, 
    	VREXP2_S, 
    	VSGN_S, 
    	// Conversion
    	VI2F_S, 
    	VI2F_P, 
    	VI2F_T, 
    	VI2F_Q, 
    	VF2IN_S, 
    	VF2IN_P, 
    	VF2IN_T, 
    	VF2IN_Q, 
    	VF2IZ_S, 
    	VF2IZ_P, 
    	VF2IZ_T, 
    	VF2IZ_Q, 
    	VF2IU_S, 
    	VF2IU_P, 
    	VF2IU_T, 
    	VF2IU_Q, 
    	VF2ID_S, 
    	VF2ID_P, 
    	VF2ID_T, 
    	VF2ID_Q, 
    	VF2H_P, 
    	VH2F_S, 
    	// Control / move-between
    	VFLUSH, 
    	VSYNC, 
    	VNOP, 
    	VPFXS, 
    	VPFXT, 
    	VPFXD, 
    	VCST_S, 
    	VCST_P, 
    	VCST_T, 
    	VCST_Q, 
    	MFV, 
    	MTV, 
    	MFVC, 
    	MTVC, 
    	BVF, 
    	BVT, 
    	BVFL, 
    	BVTL, 
    }
    Related Procedures With Parameters

    Operand ¶

    Operand :: struct #packed {
    	using _: struct #raw_union {
    		reg:       Register,
    		// 2 bytes
    		mem:       Memory,
    		// 8 bytes
    		immediate: i64,
    		// 8 bytes
    		relative:  i64,
    	},
    	kind: Operand_Kind,
    	// 1 byte
    	size: u8,
    }
     

    Operand: kind-tagged union, 16 bytes.

    Related Procedures With Returns

    Operand_Encoding ¶

    Operand_Encoding :: enum u8 {
    	NONE, 
    	// Standard MIPS field placements (R/I-type)
    	RS,                // bits 25-21
    	RT,                // bits 20-16
    	RD,                // bits 15-11
    	SHAMT,             // bits 10-6
    	// FP register placements (FR-format; overlap RS/RT/RD/SHAMT positions)
    	FT,                // bits 20-16
    	FS,                // bits 15-11
    	FD,                // bits 10-6
    	// Immediates
    	IMM_16,            // bits 15-0
    	IMM_5,             // bits 10-6 (same slot as SHAMT)
    	IMM_20,            // bits 25-6 (SYSCALL/BREAK code)
    	IMM_26,            // bits 25-0 (J-type target word)
    	// Memory: implicit RS + IMM_16
    	OFFSET_BASE, 
    	// PC-relative
    	BRANCH_16,         // bits 15-0 as PC-relative word offset (delay-slot adjusted)
    	BRANCH_21,         // R6 compact branch: bits 20-0
    	BRANCH_26,         // R6 compact branch: bits 25-0
    	BRANCH_19,         // R6 PC-relative load: bits 18-0 (LWPC/LWUPC)
    	BRANCH_18,         // R6 PC-relative load: bits 17-0 (LDPC)
    	// FP condition code
    	FCC_BC,            // bits 20-18 (FP branches, MOVF/MOVT)
    	FCC_CC,            // bits 10-8 (C.cond compare results)
    	// CP0 selector
    	SEL,               // bits 2-0
    	// Implicit (operand exists in the asm syntax but is not encoded;
    	// e.g. $zero in branch-likely synthetic forms).
    	IMPL, 
    	// GTE cofun selectors (bit positions within the 25-bit cofun field)
    	GTE_SF_BIT,        // bit 19
    	GTE_MX_BITS,       // bits 18-17
    	GTE_V_BITS,        // bits 16-15
    	GTE_CV_BITS,       // bits 14-13
    	GTE_LM_BIT,        // bit 10
    	// ---- PSP VFPU register slots ------------------------------------------
    	// 
    	// VFPU registers use 7-bit IDs (0..127). The standard 3-operand layout:
    	//   bits 22:16 = vt   (7-bit register ID)
    	//   bits 14:8  = vs   (7-bit register ID)
    	//   bits  6:0  = vd   (7-bit register ID)
    	// The width-modifier bits (bit 15 + bit 7) are NOT operand-driven --
    	// they're baked into the form's static `bits` per the .s/.p/.t/.q
    	// mnemonic suffix, so:
    	//   .s = bit15=0, bit7=0
    	//   .p = bit15=0, bit7=1
    	//   .t = bit15=1, bit7=0
    	//   .q = bit15=1, bit7=1
    	VFPU_VD, 
    	VFPU_VS, 
    	VFPU_VT, 
    	// VFPU register for memory ops where the 7-bit ID is SPLIT:
    	//   bits 20:16 = vt[6:2]   (top 5 bits at the rt position)
    	//   bits  1:0  = vt[1:0]   (bottom 2 bits at the very low position)
    	// Used by LV.S / SV.S / LV.Q / SV.Q.
    	VFPU_VT_MEM, 
    	// VFPU SP-style memory operand: base GPR at bits 25:21 + signed-16
    	// displacement at bits 15:2 (low 2 bits forced 0 = multiple of 4 for S,
    	// multiple of 16 for Q -- user responsible for alignment).
    	VFPU_OFFSET_BASE, 
    	// VFPU prefix immediate: 20-bit prefix mask at bits 19:0 (VPFXS/T/D).
    	VFPU_PFX, 
    	// VFPU constant selector / 5-bit immediate at bits 20:16 (VCST, VF2I*).
    	VFPU_CONST, 
    	// VFPU 4-bit condition code at bits 3:0 (VCMP).
    	VFPU_COND4, 
    	// VFPU 3-bit VCC selector at bits 18:16 (BVF / BVT / BVFL / BVTL).
    	VFPU_CC3, 
    	// MSA 3R-format register slots:
    	//   wd at bits 10:6 (alias of RD/SHAMT bit positions)
    	//   ws at bits 15:11 (alias of RD)
    	//   wt at bits 20:16 (alias of RT)
    	WD, 
    	WS, 
    	WT, 
    	// MSA element-index / immediate fields used by some forms (ELM/I5/BIT)
    	MSA_I5,            // 5-bit immediate at bits 20:16 (LDI/I5 forms)
    	MSA_S10,           // signed 10-bit displacement at bits 25:16 (MI10 load/store)
    	MSA_BIT5,          // bit position (5-bit) at bits 16:11 (BIT form)
    	// The shift amount / element index sits at bits 22:16 / 21:16 with the data
    	// format encoded by the high (marker) bits; the operand drives the low bits
    	// (the marker is fixed in the entry `bits`). Decode infers df from the marker.
    	MSA_BIT_SHIFT,     // BIT-format shift amount (.B m=0x70|sh, .H 0x60|sh, .W 0x40|sh, .D sh)
    	MSA_ELM_IDX,       // ELM-format element index (.B n, .H 0x20|n, .W 0x30|n, .D 0x38|n)
    	MSA_I8,            // 8-bit immediate at bits 23:16 (I8 forms: ANDI.B/SHF/...)
    	FR,                // FP register at bits 25:21 (COP1X 4-register FMA: fr)
    	GPR_AT_6,          // GPR at bits 10:6 (MSA COPY destination)
    	GPR_AT_11,         // GPR at bits 15:11 (MSA INSERT source)
    	DSP_SA,            // DSP shift amount at bits 24:21 (.PH 4-bit, .QB 3-bit)
    	RS_RT,             // same GPR in both rs (25:21) and rt (20:16) (R6 BGEZC/BLTZC)
    	AC_NUM,            // DSP accumulator number ac0..ac3 at bits 12:11 (immediate)
    	SHILO_IMM,         // DSP SHILO signed 6-bit shift at bits 25:20
    	EXT_SIZE,          // DSP EXTPDP extract size, 5-bit immediate at bits 25:21
    	// MSA memory operand: base GPR at bits 15:11 + signed 10-bit disp at 25:16,
    	// scaled by element size (1/2/4/8 for B/H/W/D).
    	MSA_OFFSET_BASE_B, 
    	MSA_OFFSET_BASE_H, 
    	MSA_OFFSET_BASE_W, 
    	MSA_OFFSET_BASE_D, 
    }
     

    Operand ENCODING — where each operand's bits go in the instruction word.

    Operand_Kind ¶

    Operand_Kind :: enum u8 {
    	NONE, 
    	REGISTER, 
    	MEMORY, 
    	IMMEDIATE, 
    	RELATIVE,  // PC-relative target (label or raw offset)
    }

    Operand_Type ¶

    Operand_Type :: enum u8 {
    	NONE, 
    	// Integer registers
    	GPR, 
    	GPR_ZERO, // implicit $zero (rare; for disambiguation)
    	// FP register, format-tagged
    	FPR_S, 
    	FPR_D, 
    	FPR_W, 
    	FPR_L, 
    	FPR_PS, 
    	FCR,      // FP control reg ($fcr0/$fccr/$fexr/$fenr/$fcsr)
    	// Coprocessor registers
    	CP0_REG,  // CP0 register (0-31), with optional sel
    	CP2_REG,  // COP2 data register (GTE V*/MAC*/SXY*; VU vf*)
    	CP2_CTRL, // COP2 control register
    	// VFPU registers (PSP) — single, pair, triple, quad
    	VFPU_S, 
    	VFPU_P, 
    	VFPU_T, 
    	VFPU_Q, 
    	VFPU_M_P, 
    	VFPU_M_T, 
    	VFPU_M_Q, // matrix forms
    	// MSA vector register (W0..W31). Format suffix (.B/.H/.W/.D) is baked
    	// into the mnemonic, so a single operand-type is enough at match time.
    	MSA_VEC, 
    	// Immediates
    	IMM5,     // 5-bit shift amount or small literal
    	IMM16S,   // signed 16-bit
    	IMM16U,   // unsigned (zero-extended) 16-bit
    	IMM20,    // 20-bit SYSCALL/BREAK/SDBBP code
    	IMM26,    // 26-bit J-type target word
    	SEL,      // CP0 selector (3 bits, R2+)
    	// PC-relative branch targets
    	REL16,    // 16-bit signed offset (<<2), I-type branches
    	REL_J26,  // 26-bit region jump (J / JAL)
    	REL21,    // R6 21-bit compact branch (BC1EQZ/NEZ)
    	REL26,    // R6 26-bit compact branch (BC/BALC)
    	REL19,    // R6 PC-relative load (LWPC/LWUPC, 19-bit << 2)
    	REL18,    // R6 PC-relative load (LDPC, 18-bit << 3)
    	// Memory: base GPR + 16-bit signed displacement
    	MEM, 
    	// Condition codes / cofun selectors
    	FCC,      // FP condition-code field (3 bits)
    	// GTE-specific cofun selectors (the few that are user-visible)
    	GTE_SF, 
    	GTE_MX, 
    	GTE_V, 
    	GTE_CV, 
    	GTE_LM, 
    }
     

    Operand TYPES — what the user passes in.

    Print_Result :: rexcode_isa.Print_Result

    Register ¶

    Register :: distinct u16
    Related Procedures With Parameters
    Related Procedures With Returns
    Related Constants

    Relocation ¶

    Relocation :: struct #packed {
    	offset:   u32,
    	label_id: u32,
    	addend:   i32,
    	type:     Relocation_Type,
    	size:     u8,
    	inst_idx: u16,
    }

    Relocation_Type ¶

    Relocation_Type :: enum u8 {
    	NONE     = 0, 
    	REL16,        // 16-bit signed PC-rel branch offset (BEQ/BNE/BLEZ/BGTZ/...)
    	REL21,        // 21-bit signed PC-rel compact branch (R6 BEQZC/BNEZC)
    	REL26,        // 26-bit signed PC-rel compact branch (R6 BC/BALC)
    	REL_PC19,     // 19-bit R6 PC-relative load offset ((target - PC) >> 2)  (LWPC/LWUPC)
    	REL_PC18,     // 18-bit R6 PC-relative load offset ((target - (PC & ~7)) >> 3)  (LDPC)
    	J26,          // 26-bit J-type region target ((target_addr >> 2) & 0x3FFFFFF)
    	HI16,         // upper 16 of 32-bit absolute (LUI rt, %hi(sym)+0x8000 if LO16 paired)
    	LO16,         // lower 16 of 32-bit absolute (ADDIU rt, rt, %lo(sym))
    }

    Token ¶

    Token :: rexcode_isa.Token
     

    Re-exports.

    Token_Kind ¶

    Token_Kind :: rexcode_isa.Token_Kind

    Constants

    A0 ¶

    A0 :: Register(REG_GPR | 4)

    A1 ¶

    A1 :: Register(REG_GPR | 5)

    A2 ¶

    A2 :: Register(REG_GPR | 6)

    A3 ¶

    A3 :: Register(REG_GPR | 7)

    AT ¶

    AT :: Register(REG_GPR | 1)

    DEFAULT_PRINT_OPTIONS ¶

    DEFAULT_PRINT_OPTIONS: rexcode_isa.Print_Options : isa.DEFAULT_PRINT_OPTIONS

    F0 ¶

    F0 :: Register(REG_FPR | 0)

    F1 ¶

    F1 :: Register(REG_FPR | 1)

    F10 ¶

    F10 :: Register(REG_FPR | 10)

    F11 ¶

    F11 :: Register(REG_FPR | 11)

    F12 ¶

    F12 :: Register(REG_FPR | 12)

    F13 ¶

    F13 :: Register(REG_FPR | 13)

    F14 ¶

    F14 :: Register(REG_FPR | 14)

    F15 ¶

    F15 :: Register(REG_FPR | 15)

    F16 ¶

    F16 :: Register(REG_FPR | 16)

    F17 ¶

    F17 :: Register(REG_FPR | 17)

    F18 ¶

    F18 :: Register(REG_FPR | 18)

    F19 ¶

    F19 :: Register(REG_FPR | 19)

    F2 ¶

    F2 :: Register(REG_FPR | 2)

    F20 ¶

    F20 :: Register(REG_FPR | 20)

    F21 ¶

    F21 :: Register(REG_FPR | 21)

    F22 ¶

    F22 :: Register(REG_FPR | 22)

    F23 ¶

    F23 :: Register(REG_FPR | 23)

    F24 ¶

    F24 :: Register(REG_FPR | 24)

    F25 ¶

    F25 :: Register(REG_FPR | 25)

    F26 ¶

    F26 :: Register(REG_FPR | 26)

    F27 ¶

    F27 :: Register(REG_FPR | 27)

    F28 ¶

    F28 :: Register(REG_FPR | 28)

    F29 ¶

    F29 :: Register(REG_FPR | 29)

    F3 ¶

    F3 :: Register(REG_FPR | 3)

    F30 ¶

    F30 :: Register(REG_FPR | 30)

    F31 ¶

    F31 :: Register(REG_FPR | 31)

    F4 ¶

    F4 :: Register(REG_FPR | 4)

    F5 ¶

    F5 :: Register(REG_FPR | 5)

    F6 ¶

    F6 :: Register(REG_FPR | 6)

    F7 ¶

    F7 :: Register(REG_FPR | 7)

    F8 ¶

    F8 :: Register(REG_FPR | 8)

    F9 ¶

    F9 :: Register(REG_FPR | 9)

    FCR0 ¶

    FCR0 :: Register(REG_FCR | 0)
     

    FIR (FP implementation/revision)

    FCR25 ¶

    FCR25 :: Register(REG_FCR | 25)
     

    FCCR (FP condition codes, R2+)

    FCR26 ¶

    FCR26 :: Register(REG_FCR | 26)
     

    FEXR (FP exceptions, R2+)

    FCR28 ¶

    FCR28 :: Register(REG_FCR | 28)
     

    FENR (FP enables, R2+)

    FCR31 ¶

    FCR31 :: Register(REG_FCR | 31)
     

    FCSR (FP control/status)

    FP ¶

    FP :: Register(REG_GPR | 30)

    GP ¶

    GP :: Register(REG_GPR | 28)

    HI ¶

    HI :: Register(REG_HILO | 0)

    HI1 ¶

    HI1 :: Register(REG_HILO | 2)
     

    PS2 second hi/lo pair (R5900 has two MAC units).

    K0 ¶

    K0 :: Register(REG_GPR | 26)

    K1 ¶

    K1 :: Register(REG_GPR | 27)

    LABEL_UNDEFINED ¶

    LABEL_UNDEFINED: rexcode_isa.Label_Definition : isa.LABEL_UNDEFINED

    LO ¶

    LO :: Register(REG_HILO | 1)

    LO1 ¶

    LO1 :: Register(REG_HILO | 3)

    MASK_COP_RS ¶

    MASK_COP_RS: u32 : MASK_OPCODE | MASK_RS
     

    COP0/1/2 with fixed rs (rs selects the operation).

    MASK_FCC_BC ¶

    MASK_FCC_BC :: u32(0x001C0000)
     

    bits 20-18

    MASK_FCC_CC ¶

    MASK_FCC_CC :: u32(0x00000700)
     

    bits 10-8

    MASK_FI ¶

    MASK_FI: u32 : MASK_OPCODE | MASK_RS | u32(0x00030000)
     

    COP1 FI-format (BC1*): opcode + rs(=0x08) + tf/nd fixed bits (17-16).

    MASK_FR ¶

    MASK_FR: u32 : MASK_OPCODE | MASK_RS | MASK_FUNCT
     

    COP1 FR-format: opcode + fmt(rs) + funct.

    MASK_FUNCT ¶

    MASK_FUNCT :: u32(0x0000003F)
     

    bits 5-0

    MASK_I ¶

    MASK_I: u32 : MASK_OPCODE
     

    I-type fixed bits = opcode only.

    MASK_IMM16 ¶

    MASK_IMM16 :: u32(0x0000FFFF)
     

    bits 15-0

    MASK_IMM26 ¶

    MASK_IMM26 :: u32(0x03FFFFFF)
     

    bits 25-0

    MASK_J ¶

    MASK_J: u32 : MASK_OPCODE
     

    J-type fixed bits = opcode only.

    MASK_OPCODE ¶

    MASK_OPCODE :: u32(0xFC000000)
     

    Field masks (operand-bit positions, kept here so the future encoder can use them by name).

    MASK_R ¶

    MASK_R: u32 : MASK_OPCODE | MASK_FUNCT
     

    Static masks for common pattern combinations. R-type fixed bits = opcode (6) + funct (6).

    MASK_RD ¶

    MASK_RD :: u32(0x0000F800)
     

    bits 15-11

    MASK_REGIMM ¶

    MASK_REGIMM: u32 : MASK_OPCODE | MASK_RT
     

    REGIMM fixed bits = opcode + rt (the funct field for REGIMM).

    MASK_RS ¶

    MASK_RS :: u32(0x03E00000)
     

    bits 25-21

    MASK_RT ¶

    MASK_RT :: u32(0x001F0000)
     

    bits 20-16

    MASK_R_NOSH ¶

    MASK_R_NOSH: u32 : MASK_R | MASK_SHAMT
     

    R-type with fixed shamt=0 (most ADD/AND/etc.).

    MASK_SEL ¶

    MASK_SEL :: u32(0x00000007)
     

    bits 2-0

    MASK_SHAMT ¶

    MASK_SHAMT :: u32(0x000007C0)
     

    bits 10-6

    MAX_INST_SIZE ¶

    MAX_INST_SIZE :: 4
     

    Largest instruction we ever emit (MIPS is fixed at 4).

    NONE ¶

    NONE :: Register(0xFFFF)

    RA ¶

    RA :: Register(REG_GPR | 31)

    REG_CP0 ¶

    REG_CP0 :: 0x0400
     

    system control coprocessor 0 registers

    REG_CP2C ¶

    REG_CP2C :: 0x0600
     

    COP2 control register

    REG_CP2D ¶

    REG_CP2D :: 0x0500
     

    COP2 data register (GTE V/MAC/SXY; VU vf)

    REG_FCR ¶

    REG_FCR :: 0x0300
     

    FP control ($fcr0..$fcr31)

    REG_FPR ¶

    REG_FPR :: 0x0200
     

    $f0-$f31 floating-point

    REG_GPR ¶

    REG_GPR :: 0x0100
     

    $0-$31 general-purpose

    REG_HILO ¶

    REG_HILO :: 0x0700
     

    HI / LO multiply-divide accumulators

    REG_MSA ¶

    REG_MSA :: 0x0900
     

    MIPS SIMD Architecture $w0-$w31 (128-bit vectors)

    REG_NONE ¶

    REG_NONE :: 0x0000

    REG_VFPU ¶

    REG_VFPU :: 0x0800
     

    PSP Allegrex VFPU (matrix-organised)

    S0 ¶

    S0 :: Register(REG_GPR | 16)

    S1 ¶

    S1 :: Register(REG_GPR | 17)

    S2 ¶

    S2 :: Register(REG_GPR | 18)

    S3 ¶

    S3 :: Register(REG_GPR | 19)

    S4 ¶

    S4 :: Register(REG_GPR | 20)

    S5 ¶

    S5 :: Register(REG_GPR | 21)

    S6 ¶

    S6 :: Register(REG_GPR | 22)

    S7 ¶

    S7 :: Register(REG_GPR | 23)

    S8 ¶

    S8 :: Register(REG_GPR | 30)
     

    alias of FP per the canonical o32/n32 ABIs

    SP ¶

    SP :: Register(REG_GPR | 29)

    T0 ¶

    T0 :: Register(REG_GPR | 8)

    T1 ¶

    T1 :: Register(REG_GPR | 9)

    T2 ¶

    T2 :: Register(REG_GPR | 10)

    T3 ¶

    T3 :: Register(REG_GPR | 11)

    T4 ¶

    T4 :: Register(REG_GPR | 12)

    T5 ¶

    T5 :: Register(REG_GPR | 13)

    T6 ¶

    T6 :: Register(REG_GPR | 14)

    T7 ¶

    T7 :: Register(REG_GPR | 15)

    T8 ¶

    T8 :: Register(REG_GPR | 24)

    T9 ¶

    T9 :: Register(REG_GPR | 25)

    V0 ¶

    V0 :: Register(REG_GPR | 2)

    V1 ¶

    V1 :: Register(REG_GPR | 3)

    W0 ¶

    W0 :: Register(REG_MSA | 0)
     

    MSA $w0..$w31 constants for ergonomic use.

    W1 ¶

    W1 :: Register(REG_MSA | 1)

    W10 ¶

    W10 :: Register(REG_MSA | 10)

    W11 ¶

    W11 :: Register(REG_MSA | 11)

    W12 ¶

    W12 :: Register(REG_MSA | 12)

    W13 ¶

    W13 :: Register(REG_MSA | 13)

    W14 ¶

    W14 :: Register(REG_MSA | 14)

    W15 ¶

    W15 :: Register(REG_MSA | 15)

    W16 ¶

    W16 :: Register(REG_MSA | 16)

    W17 ¶

    W17 :: Register(REG_MSA | 17)

    W18 ¶

    W18 :: Register(REG_MSA | 18)

    W19 ¶

    W19 :: Register(REG_MSA | 19)

    W2 ¶

    W2 :: Register(REG_MSA | 2)

    W20 ¶

    W20 :: Register(REG_MSA | 20)

    W21 ¶

    W21 :: Register(REG_MSA | 21)

    W22 ¶

    W22 :: Register(REG_MSA | 22)

    W23 ¶

    W23 :: Register(REG_MSA | 23)

    W24 ¶

    W24 :: Register(REG_MSA | 24)

    W25 ¶

    W25 :: Register(REG_MSA | 25)

    W26 ¶

    W26 :: Register(REG_MSA | 26)

    W27 ¶

    W27 :: Register(REG_MSA | 27)

    W28 ¶

    W28 :: Register(REG_MSA | 28)

    W29 ¶

    W29 :: Register(REG_MSA | 29)

    W3 ¶

    W3 :: Register(REG_MSA | 3)

    W30 ¶

    W30 :: Register(REG_MSA | 30)

    W31 ¶

    W31 :: Register(REG_MSA | 31)

    W4 ¶

    W4 :: Register(REG_MSA | 4)

    W5 ¶

    W5 :: Register(REG_MSA | 5)

    W6 ¶

    W6 :: Register(REG_MSA | 6)

    W7 ¶

    W7 :: Register(REG_MSA | 7)

    W8 ¶

    W8 :: Register(REG_MSA | 8)

    W9 ¶

    W9 :: Register(REG_MSA | 9)

    ZERO ¶

    ZERO :: Register(REG_GPR | 0)

    Variables

    DECODE_ENTRIES ¶

    @(rodata)
    DECODE_ENTRIES: []Decode_Entry = …

    DECODE_INDEX_COP1 ¶

    @(rodata)
    DECODE_INDEX_COP1: []Decode_Index = …

    DECODE_INDEX_PRIMARY ¶

    @(rodata)
    DECODE_INDEX_PRIMARY: []Decode_Index = …

    DECODE_INDEX_REGIMM ¶

    @(rodata)
    DECODE_INDEX_REGIMM: []Decode_Index = …

    DECODE_INDEX_SPECIAL ¶

    @(rodata)
    DECODE_INDEX_SPECIAL: []Decode_Index = …

    DECODE_INDEX_SPECIAL2 ¶

    @(rodata)
    DECODE_INDEX_SPECIAL2: []Decode_Index = …

    DECODE_INDEX_SPECIAL3 ¶

    @(rodata)
    DECODE_INDEX_SPECIAL3: []Decode_Index = …

    ENCODE_FORMS ¶

    @(rodata)
    ENCODE_FORMS: []Encoding = …

    ENCODE_RUNS ¶

    @(rodata)
    ENCODE_RUNS: []Encode_Run = …

    Procedures

    aprint ¶

    aprint :: proc(
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    	allocator := context.allocator, 
    ) -> string {…}

    aprintln ¶

    aprintln :: proc(
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    	allocator := context.allocator, 
    ) -> string {…}

    bprint ¶

    bprint :: proc(
    	buf:          []u8, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) -> string {…}

    bprintln ¶

    bprintln :: proc(
    	buf:          []u8, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) -> string {…}

    cp0_from_num ¶

    cp0_from_num :: proc "contextless" (num: u8) -> Register {…}

    cp2c_from_num ¶

    cp2c_from_num :: proc "contextless" (num: u8) -> Register {…}

    cp2d_from_num ¶

    cp2d_from_num :: proc "contextless" (num: u8) -> Register {…}

    decode ¶

    decode :: proc(
    	data:         []u8, 
    	relocs:       []Relocation, 
    	instructions: ^[dynamic]Instruction, 
    	inst_info:    ^[dynamic]Instruction_Info, 
    	label_defs:   ^[dynamic]rexcode_isa.Label_Definition, 
    	errors:       ^[dynamic]rexcode_isa.Error, 
    	endianness:   Endianness = .BIG, 
    ) -> (byte_count: u32, ok: bool) {…}

    decode_estimate_instruction_count ¶

    decode_estimate_instruction_count :: proc "contextless" (data: []u8) -> int {…}
     

    Typical-case estimate of the instruction count for data.

    decode_max_instruction_count ¶

    decode_max_instruction_count :: proc "contextless" (data: []u8) -> int {…}
     

    Instruction-count ceiling for data (MIPS instructions are 4 bytes).

    decode_reserve ¶

    decode_reserve :: proc(instructions: ^[dynamic]Instruction, inst_info: ^[dynamic]Instruction_Info, label_defs: ^[dynamic]rexcode_isa.Label_Definition, data: []u8, exact: bool = false) {…}
     

    Pre-size the caller's decode output arrays for data (reserves on top of any existing elements; nil to skip; exact=true for the ceiling, else the estimate).

    emit_abs_d_f_f ¶

    emit_abs_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_abs_ps_f_f ¶

    emit_abs_ps_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_abs_s_f_f ¶

    emit_abs_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_absq_s_ph_r_r ¶

    emit_absq_s_ph_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_absq_s_w_r_r ¶

    emit_absq_s_w_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_add_d_f_f_f ¶

    emit_add_d_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_add_ps_f_f_f ¶

    emit_add_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_add_r_r_r ¶

    emit_add_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_add_s_f_f_f ¶

    emit_add_s_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_addi_r_r_i16 ¶

    emit_addi_r_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_addiu_r_r_i16 ¶

    emit_addiu_r_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_addq_ph_r_r_r ¶

    emit_addq_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addq_s_ph_r_r_r ¶

    emit_addq_s_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addq_s_w_r_r_r ¶

    emit_addq_s_w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_adds_s_b_w_w_w ¶

    emit_adds_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_s_d_w_w_w ¶

    emit_adds_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_s_h_w_w_w ¶

    emit_adds_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_s_w_w_w_w ¶

    emit_adds_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_u_b_w_w_w ¶

    emit_adds_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_u_d_w_w_w ¶

    emit_adds_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_u_h_w_w_w ¶

    emit_adds_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_adds_u_w_w_w_w ¶

    emit_adds_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_addsc_r_r_r ¶

    emit_addsc_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addu_ph_r_r_r ¶

    emit_addu_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addu_qb_r_r_r ¶

    emit_addu_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addu_r_r_r ¶

    emit_addu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addu_s_ph_r_r_r ¶

    emit_addu_s_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addu_s_qb_r_r_r ¶

    emit_addu_s_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_addv_b_w_w_w ¶

    emit_addv_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_addv_d_w_w_w ¶

    emit_addv_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_addv_h_w_w_w ¶

    emit_addv_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_addv_w_w_w_w ¶

    emit_addv_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_addwc_r_r_r ¶

    emit_addwc_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_align_r_r_r_i5 ¶

    emit_align_r_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR, imm: i64) {…}

    emit_aluipc_r_i16 ¶

    emit_aluipc_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_and_r_r_r ¶

    emit_and_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_and_v_w_w_w ¶

    emit_and_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_andi_b_w_w_i5 ¶

    emit_andi_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_andi_r_r_u16 ¶

    emit_andi_r_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_aui_r_r_u16 ¶

    emit_aui_r_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_auipc_r_i16 ¶

    emit_auipc_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_avsz3_none ¶

    emit_avsz3_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_avsz4_none ¶

    emit_avsz4_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_balc_rel26 ¶

    emit_balc_rel26 :: proc(instructions: ^[dynamic]Instruction, target: u32) {…}

    emit_bc1eqz_f_rel ¶

    emit_bc1eqz_f_rel :: proc(instructions: ^[dynamic]Instruction, dst: FPR, target: u32) {…}

    emit_bc1f_cc_rel ¶

    emit_bc1f_cc_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bc1fl_cc_rel ¶

    emit_bc1fl_cc_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bc1nez_f_rel ¶

    emit_bc1nez_f_rel :: proc(instructions: ^[dynamic]Instruction, dst: FPR, target: u32) {…}

    emit_bc1t_cc_rel ¶

    emit_bc1t_cc_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bc1tl_cc_rel ¶

    emit_bc1tl_cc_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bc2eqz_c2_rel ¶

    emit_bc2eqz_c2_rel :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, target: u32) {…}

    emit_bc2nez_c2_rel ¶

    emit_bc2nez_c2_rel :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, target: u32) {…}

    emit_bc_rel26 ¶

    emit_bc_rel26 :: proc(instructions: ^[dynamic]Instruction, target: u32) {…}

    emit_beq_r_r_rel ¶

    emit_beq_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_beqc_r_r_rel ¶

    emit_beqc_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_beql_r_r_rel ¶

    emit_beql_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_beqzc_r_rel21 ¶

    emit_beqzc_r_rel21 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgec_r_r_rel ¶

    emit_bgec_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bgeuc_r_r_rel ¶

    emit_bgeuc_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bgez_r_rel ¶

    emit_bgez_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgezal_r_rel ¶

    emit_bgezal_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgezall_r_rel ¶

    emit_bgezall_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgezc_r_rel ¶

    emit_bgezc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgezl_r_rel ¶

    emit_bgezl_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgtz_r_rel ¶

    emit_bgtz_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgtzc_r_rel ¶

    emit_bgtzc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bgtzl_r_rel ¶

    emit_bgtzl_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bitrev_r_r ¶

    emit_bitrev_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_bitswap_r_r ¶

    emit_bitswap_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_blez_r_rel ¶

    emit_blez_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_blezc_r_rel ¶

    emit_blezc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_blezl_r_rel ¶

    emit_blezl_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bltc_r_r_rel ¶

    emit_bltc_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bltuc_r_r_rel ¶

    emit_bltuc_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bltz_r_rel ¶

    emit_bltz_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bltzal_r_rel ¶

    emit_bltzal_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bltzall_r_rel ¶

    emit_bltzall_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bltzc_r_rel ¶

    emit_bltzc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bltzl_r_rel ¶

    emit_bltzl_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bmnz_v_w_w_w ¶

    emit_bmnz_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_bmnzi_b_w_w_i5 ¶

    emit_bmnzi_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_bmz_v_w_w_w ¶

    emit_bmz_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_bmzi_b_w_w_i5 ¶

    emit_bmzi_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_bne_r_r_rel ¶

    emit_bne_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bnec_r_r_rel ¶

    emit_bnec_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bnel_r_r_rel ¶

    emit_bnel_r_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, target: u32) {…}

    emit_bnezc_r_rel21 ¶

    emit_bnezc_r_rel21 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_bnz_b_w_rel ¶

    emit_bnz_b_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bnz_d_w_rel ¶

    emit_bnz_d_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bnz_h_w_rel ¶

    emit_bnz_h_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bnz_v_w_rel ¶

    emit_bnz_v_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bnz_w_w_rel ¶

    emit_bnz_w_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bposge32_rel ¶

    emit_bposge32_rel :: proc(instructions: ^[dynamic]Instruction, target: u32) {…}

    emit_break_i20 ¶

    emit_break_i20 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_bsel_v_w_w_w ¶

    emit_bsel_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_bseli_b_w_w_i5 ¶

    emit_bseli_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_bvf_i5_rel ¶

    emit_bvf_i5_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bvfl_i5_rel ¶

    emit_bvfl_i5_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bvt_i5_rel ¶

    emit_bvt_i5_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bvtl_i5_rel ¶

    emit_bvtl_i5_rel :: proc(instructions: ^[dynamic]Instruction, imm: i64, target: u32) {…}

    emit_bz_b_w_rel ¶

    emit_bz_b_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bz_d_w_rel ¶

    emit_bz_d_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bz_h_w_rel ¶

    emit_bz_h_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bz_v_w_rel ¶

    emit_bz_v_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_bz_w_w_rel ¶

    emit_bz_w_w_rel :: proc(instructions: ^[dynamic]Instruction, dst: Register, target: u32) {…}

    emit_c_eq_d_f_f_cc ¶

    emit_c_eq_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_eq_ps_f_f_cc ¶

    emit_c_eq_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_eq_s_f_f_cc ¶

    emit_c_eq_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_f_d_f_f_cc ¶

    emit_c_f_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_f_ps_f_f_cc ¶

    emit_c_f_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_f_s_f_f_cc ¶

    emit_c_f_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_le_d_f_f_cc ¶

    emit_c_le_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_le_ps_f_f_cc ¶

    emit_c_le_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_le_s_f_f_cc ¶

    emit_c_le_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_lt_d_f_f_cc ¶

    emit_c_lt_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_lt_ps_f_f_cc ¶

    emit_c_lt_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_lt_s_f_f_cc ¶

    emit_c_lt_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_nge_d_f_f_cc ¶

    emit_c_nge_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_nge_ps_f_f_cc ¶

    emit_c_nge_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_nge_s_f_f_cc ¶

    emit_c_nge_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngl_d_f_f_cc ¶

    emit_c_ngl_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngl_ps_f_f_cc ¶

    emit_c_ngl_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngl_s_f_f_cc ¶

    emit_c_ngl_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngle_d_f_f_cc ¶

    emit_c_ngle_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngle_ps_f_f_cc ¶

    emit_c_ngle_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngle_s_f_f_cc ¶

    emit_c_ngle_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngt_d_f_f_cc ¶

    emit_c_ngt_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngt_ps_f_f_cc ¶

    emit_c_ngt_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ngt_s_f_f_cc ¶

    emit_c_ngt_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ole_d_f_f_cc ¶

    emit_c_ole_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ole_ps_f_f_cc ¶

    emit_c_ole_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ole_s_f_f_cc ¶

    emit_c_ole_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_olt_d_f_f_cc ¶

    emit_c_olt_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_olt_ps_f_f_cc ¶

    emit_c_olt_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_olt_s_f_f_cc ¶

    emit_c_olt_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_seq_d_f_f_cc ¶

    emit_c_seq_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_seq_ps_f_f_cc ¶

    emit_c_seq_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_seq_s_f_f_cc ¶

    emit_c_seq_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_sf_d_f_f_cc ¶

    emit_c_sf_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_sf_ps_f_f_cc ¶

    emit_c_sf_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_sf_s_f_f_cc ¶

    emit_c_sf_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ueq_d_f_f_cc ¶

    emit_c_ueq_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ueq_ps_f_f_cc ¶

    emit_c_ueq_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ueq_s_f_f_cc ¶

    emit_c_ueq_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ule_d_f_f_cc ¶

    emit_c_ule_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ule_ps_f_f_cc ¶

    emit_c_ule_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ule_s_f_f_cc ¶

    emit_c_ule_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ult_d_f_f_cc ¶

    emit_c_ult_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ult_ps_f_f_cc ¶

    emit_c_ult_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_ult_s_f_f_cc ¶

    emit_c_ult_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_un_d_f_f_cc ¶

    emit_c_un_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_un_ps_f_f_cc ¶

    emit_c_un_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_c_un_s_f_f_cc ¶

    emit_c_un_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_cache_i5_m ¶

    emit_cache_i5_m :: proc(instructions: ^[dynamic]Instruction, imm: i64, mem: Memory) {…}

    emit_cc_none ¶

    emit_cc_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_cdp_none ¶

    emit_cdp_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ceil_l_d_f_f ¶

    emit_ceil_l_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_ceil_l_s_f_f ¶

    emit_ceil_l_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_ceil_w_d_f_f ¶

    emit_ceil_w_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_ceil_w_s_f_f ¶

    emit_ceil_w_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_ceq_b_w_w_w ¶

    emit_ceq_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_ceq_d_w_w_w ¶

    emit_ceq_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_ceq_h_w_w_w ¶

    emit_ceq_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_ceq_w_w_w_w ¶

    emit_ceq_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cfc1_r_fcr ¶

    emit_cfc1_r_fcr :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register) {…}

    emit_cfc2_r_c2c ¶

    emit_cfc2_r_c2c :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GTE_CtrlReg) {…}

    emit_cle_s_b_w_w_w ¶

    emit_cle_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_s_d_w_w_w ¶

    emit_cle_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_s_h_w_w_w ¶

    emit_cle_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_s_w_w_w_w ¶

    emit_cle_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_u_b_w_w_w ¶

    emit_cle_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_u_d_w_w_w ¶

    emit_cle_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_u_h_w_w_w ¶

    emit_cle_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_cle_u_w_w_w_w ¶

    emit_cle_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clo_r_r ¶

    emit_clo_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_clt_s_b_w_w_w ¶

    emit_clt_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_s_d_w_w_w ¶

    emit_clt_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_s_h_w_w_w ¶

    emit_clt_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_s_w_w_w_w ¶

    emit_clt_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_u_b_w_w_w ¶

    emit_clt_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_u_d_w_w_w ¶

    emit_clt_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_u_h_w_w_w ¶

    emit_clt_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clt_u_w_w_w_w ¶

    emit_clt_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_clz_r_r ¶

    emit_clz_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_cmp_eq_ph_r_r ¶

    emit_cmp_eq_ph_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_cmp_le_ph_r_r ¶

    emit_cmp_le_ph_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_cmp_lt_ph_r_r ¶

    emit_cmp_lt_ph_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_cmpgu_eq_qb_r_r_r ¶

    emit_cmpgu_eq_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_cmpgu_le_qb_r_r_r ¶

    emit_cmpgu_le_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_cmpgu_lt_qb_r_r_r ¶

    emit_cmpgu_lt_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_cmpu_eq_qb_r_r ¶

    emit_cmpu_eq_qb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_cmpu_le_qb_r_r ¶

    emit_cmpu_le_qb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_cmpu_lt_qb_r_r ¶

    emit_cmpu_lt_qb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_copy_s_b_r_w_i5 ¶

    emit_copy_s_b_r_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register, imm: i64) {…}

    emit_copy_s_h_r_w_i5 ¶

    emit_copy_s_h_r_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register, imm: i64) {…}

    emit_copy_s_w_r_w_i5 ¶

    emit_copy_s_w_r_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register, imm: i64) {…}

    emit_copy_u_b_r_w_i5 ¶

    emit_copy_u_b_r_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register, imm: i64) {…}

    emit_copy_u_h_r_w_i5 ¶

    emit_copy_u_h_r_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register, imm: i64) {…}

    emit_copy_u_w_r_w_i5 ¶

    emit_copy_u_w_r_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register, imm: i64) {…}

    emit_crc32b_r_r ¶

    emit_crc32b_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32cb_r_r ¶

    emit_crc32cb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32cd_r_r ¶

    emit_crc32cd_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32ch_r_r ¶

    emit_crc32ch_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32cw_r_r ¶

    emit_crc32cw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32d_r_r ¶

    emit_crc32d_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32h_r_r ¶

    emit_crc32h_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_crc32w_r_r ¶

    emit_crc32w_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_ctc1_r_fcr ¶

    emit_ctc1_r_fcr :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register) {…}

    emit_ctc2_r_c2c ¶

    emit_ctc2_r_c2c :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GTE_CtrlReg) {…}

    emit_cvt_d_l_f_f ¶

    emit_cvt_d_l_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_d_s_f_f ¶

    emit_cvt_d_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_d_w_f_f ¶

    emit_cvt_d_w_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_l_d_f_f ¶

    emit_cvt_l_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_l_s_f_f ¶

    emit_cvt_l_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_ps_s_f_f_f ¶

    emit_cvt_ps_s_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_cvt_s_d_f_f ¶

    emit_cvt_s_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_s_l_f_f ¶

    emit_cvt_s_l_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_s_pl_f_f ¶

    emit_cvt_s_pl_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_s_pu_f_f ¶

    emit_cvt_s_pu_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_s_w_f_f ¶

    emit_cvt_s_w_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_w_d_f_f ¶

    emit_cvt_w_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_cvt_w_s_f_f ¶

    emit_cvt_w_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_dadd_r_r_r ¶

    emit_dadd_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_daddi_r_r_i16 ¶

    emit_daddi_r_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_daddiu_r_r_i16 ¶

    emit_daddiu_r_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_daddu_r_r_r ¶

    emit_daddu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dahi_r_u16 ¶

    emit_dahi_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_dalign_r_r_r_i5 ¶

    emit_dalign_r_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR, imm: i64) {…}

    emit_dati_r_u16 ¶

    emit_dati_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_daui_r_r_u16 ¶

    emit_daui_r_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dbitswap_r_r ¶

    emit_dbitswap_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dclo_r_r ¶

    emit_dclo_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dclz_r_r ¶

    emit_dclz_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dcpl_none ¶

    emit_dcpl_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ddiv_r6_r_r_r ¶

    emit_ddiv_r6_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ddiv_r_r ¶

    emit_ddiv_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_ddivu_r6_r_r_r ¶

    emit_ddivu_r6_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ddivu_r_r ¶

    emit_ddivu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_deret_none ¶

    emit_deret_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_dext_r_r_i5_i5 ¶

    emit_dext_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_dextm_r_r_i5_i5 ¶

    emit_dextm_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_dextu_r_r_i5_i5 ¶

    emit_dextu_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_di_r ¶

    emit_di_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_dins_r_r_i5_i5 ¶

    emit_dins_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_dinsm_r_r_i5_i5 ¶

    emit_dinsm_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_dinsu_r_r_i5_i5 ¶

    emit_dinsu_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_div1_r_r ¶

    emit_div1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_div_d_f_f_f ¶

    emit_div_d_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_div_r_r ¶

    emit_div_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_div_s_b_w_w_w ¶

    emit_div_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_s_d_w_w_w ¶

    emit_div_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_s_f_f_f ¶

    emit_div_s_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_div_s_h_w_w_w ¶

    emit_div_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_s_w_w_w_w ¶

    emit_div_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_u_b_w_w_w ¶

    emit_div_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_u_d_w_w_w ¶

    emit_div_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_u_h_w_w_w ¶

    emit_div_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_div_u_w_w_w_w ¶

    emit_div_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_divu1_r_r ¶

    emit_divu1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_divu_r_r ¶

    emit_divu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dlsa_r_r_r_i5 ¶

    emit_dlsa_r_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR, imm: i64) {…}

    emit_dmfc0_r_c0_sel ¶

    emit_dmfc0_r_c0_sel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: CP0_Reg, imm: i64) {…}

    emit_dmfc1_r_f ¶

    emit_dmfc1_r_f :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: FPR) {…}

    emit_dmod_r_r_r ¶

    emit_dmod_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dmodu_r_r_r ¶

    emit_dmodu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dmtc0_r_c0_sel ¶

    emit_dmtc0_r_c0_sel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: CP0_Reg, imm: i64) {…}

    emit_dmtc1_r_f ¶

    emit_dmtc1_r_f :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: FPR) {…}

    emit_dmuh_r_r_r ¶

    emit_dmuh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dmuhu_r_r_r ¶

    emit_dmuhu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dmul_r6_r_r_r ¶

    emit_dmul_r6_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dmult_r_r ¶

    emit_dmult_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dmultu_r_r ¶

    emit_dmultu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dmulu_r_r_r ¶

    emit_dmulu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dotp_s_d_w_w_w ¶

    emit_dotp_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_dotp_s_h_w_w_w ¶

    emit_dotp_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_dotp_s_w_w_w_w ¶

    emit_dotp_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_dotp_u_d_w_w_w ¶

    emit_dotp_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_dotp_u_h_w_w_w ¶

    emit_dotp_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_dotp_u_w_w_w_w ¶

    emit_dotp_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_dpa_w_ph_i5_r_r ¶

    emit_dpa_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpaq_s_w_ph_i5_r_r ¶

    emit_dpaq_s_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpaq_sa_l_w_i5_r_r ¶

    emit_dpaq_sa_l_w_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpau_h_qbl_i5_r_r ¶

    emit_dpau_h_qbl_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpau_h_qbr_i5_r_r ¶

    emit_dpau_h_qbr_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpax_w_ph_i5_r_r ¶

    emit_dpax_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpcs_none ¶

    emit_dpcs_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_dpct_none ¶

    emit_dpct_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_dps_w_ph_i5_r_r ¶

    emit_dps_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpsq_s_w_ph_i5_r_r ¶

    emit_dpsq_s_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpsq_sa_l_w_i5_r_r ¶

    emit_dpsq_sa_l_w_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpsu_h_qbl_i5_r_r ¶

    emit_dpsu_h_qbl_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpsu_h_qbr_i5_r_r ¶

    emit_dpsu_h_qbr_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_dpsx_w_ph_i5_r_r ¶

    emit_dpsx_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_drotr32_r_r_i5 ¶

    emit_drotr32_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_drotr_r_r_i5 ¶

    emit_drotr_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_drotrv_r_r_r ¶

    emit_drotrv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dsbh_r_r ¶

    emit_dsbh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dshd_r_r ¶

    emit_dshd_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_dsll32_r_r_i5 ¶

    emit_dsll32_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dsll_r_r_i5 ¶

    emit_dsll_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dsllv_r_r_r ¶

    emit_dsllv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dsra32_r_r_i5 ¶

    emit_dsra32_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dsra_r_r_i5 ¶

    emit_dsra_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dsrav_r_r_r ¶

    emit_dsrav_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dsrl32_r_r_i5 ¶

    emit_dsrl32_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dsrl_r_r_i5 ¶

    emit_dsrl_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_dsrlv_r_r_r ¶

    emit_dsrlv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dsub_r_r_r ¶

    emit_dsub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_dsubu_r_r_r ¶

    emit_dsubu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ehb_none ¶

    emit_ehb_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ei_r ¶

    emit_ei_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_eret_none ¶

    emit_eret_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ext_r_r_i5_i5 ¶

    emit_ext_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_extp_r_i5_i5 ¶

    emit_extp_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, imm2: i64) {…}

    emit_extpdp_r_i5_i5 ¶

    emit_extpdp_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, imm2: i64) {…}

    emit_extpdpv_r_i5_r ¶

    emit_extpdpv_r_i5_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, src: GPR) {…}

    emit_extpv_r_i5_r ¶

    emit_extpv_r_i5_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, src: GPR) {…}

    emit_extr_r_w_r_i5_i5 ¶

    emit_extr_r_w_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, imm2: i64) {…}

    emit_extr_rs_w_r_i5_i5 ¶

    emit_extr_rs_w_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, imm2: i64) {…}

    emit_extr_s_h_r_i5_i5 ¶

    emit_extr_s_h_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, imm2: i64) {…}

    emit_extr_w_r_i5_i5 ¶

    emit_extr_w_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, imm2: i64) {…}

    emit_extrv_r_w_r_i5_r ¶

    emit_extrv_r_w_r_i5_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, src: GPR) {…}

    emit_extrv_rs_w_r_i5_r ¶

    emit_extrv_rs_w_r_i5_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, src: GPR) {…}

    emit_extrv_s_h_r_i5_r ¶

    emit_extrv_s_h_r_i5_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, src: GPR) {…}

    emit_extrv_w_r_i5_r ¶

    emit_extrv_w_r_i5_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64, src: GPR) {…}

    emit_fadd_d_w_w_w ¶

    emit_fadd_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fadd_w_w_w_w ¶

    emit_fadd_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fceq_d_w_w_w ¶

    emit_fceq_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fceq_w_w_w_w ¶

    emit_fceq_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fcle_d_w_w_w ¶

    emit_fcle_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fcle_w_w_w_w ¶

    emit_fcle_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fclt_d_w_w_w ¶

    emit_fclt_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fclt_w_w_w_w ¶

    emit_fclt_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fcne_d_w_w_w ¶

    emit_fcne_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fcne_w_w_w_w ¶

    emit_fcne_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fcvt_d_w_f_f ¶

    emit_fcvt_d_w_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_fcvt_s_d_f_f ¶

    emit_fcvt_s_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_fcvt_s_w_f_f ¶

    emit_fcvt_s_w_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_fdiv_d_w_w_w ¶

    emit_fdiv_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fdiv_w_w_w_w ¶

    emit_fdiv_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_ffint_s_d_w_w ¶

    emit_ffint_s_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_ffint_s_w_w_w ¶

    emit_ffint_s_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_ffint_u_d_w_w ¶

    emit_ffint_u_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_ffint_u_w_w_w ¶

    emit_ffint_u_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_floor_l_d_f_f ¶

    emit_floor_l_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_floor_l_s_f_f ¶

    emit_floor_l_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_floor_w_d_f_f ¶

    emit_floor_w_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_floor_w_s_f_f ¶

    emit_floor_w_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_fmax_d_w_w_w ¶

    emit_fmax_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fmax_w_w_w_w ¶

    emit_fmax_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fmin_d_w_w_w ¶

    emit_fmin_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fmin_w_w_w_w ¶

    emit_fmin_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fmul_d_w_w_w ¶

    emit_fmul_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fmul_w_w_w_w ¶

    emit_fmul_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_frcp_d_w_w ¶

    emit_frcp_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_frcp_w_w_w ¶

    emit_frcp_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_frint_d_w_w ¶

    emit_frint_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_frint_w_w_w ¶

    emit_frint_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_frsqrt_d_w_w ¶

    emit_frsqrt_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_frsqrt_w_w_w ¶

    emit_frsqrt_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_fsqrt_d_w_w ¶

    emit_fsqrt_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_fsqrt_w_w_w ¶

    emit_fsqrt_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_fsub_d_w_w_w ¶

    emit_fsub_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_fsub_w_w_w_w ¶

    emit_fsub_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_ftrunc_s_d_w_w ¶

    emit_ftrunc_s_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_ftrunc_s_w_w_w ¶

    emit_ftrunc_s_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_ftrunc_u_d_w_w ¶

    emit_ftrunc_u_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_ftrunc_u_w_w_w ¶

    emit_ftrunc_u_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_gpf_none ¶

    emit_gpf_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_gpl_none ¶

    emit_gpl_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ins_r_r_i5_i5 ¶

    emit_ins_r_r_i5_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64, imm2: i64) {…}

    emit_insert_b_w_r_i5 ¶

    emit_insert_b_w_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: GPR, imm: i64) {…}

    emit_insert_d_w_r_i5 ¶

    emit_insert_d_w_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: GPR, imm: i64) {…}

    emit_insert_h_w_r_i5 ¶

    emit_insert_h_w_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: GPR, imm: i64) {…}

    emit_insert_w_w_r_i5 ¶

    emit_insert_w_w_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: GPR, imm: i64) {…}

    emit_insv_r_r ¶

    emit_insv_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_insve_b_w_w_i5 ¶

    emit_insve_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_insve_d_w_w_i5 ¶

    emit_insve_d_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_insve_h_w_w_i5 ¶

    emit_insve_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_insve_w_w_w_i5 ¶

    emit_insve_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_intpl_none ¶

    emit_intpl_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_j_j ¶

    emit_j_j :: proc(instructions: ^[dynamic]Instruction, target: u32) {…}

    emit_jal_j ¶

    emit_jal_j :: proc(instructions: ^[dynamic]Instruction, target: u32) {…}

    emit_jalr_r_r ¶

    emit_jalr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_jialc_r_i16 ¶

    emit_jialc_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_jic_r_i16 ¶

    emit_jic_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_jr_r ¶

    emit_jr_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_lb_r_m ¶

    emit_lb_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lbu_r_m ¶

    emit_lbu_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lbux_r_r_r ¶

    emit_lbux_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ld_b_w_m ¶

    emit_ld_b_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_ld_d_w_m ¶

    emit_ld_d_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_ld_h_w_m ¶

    emit_ld_h_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_ld_r_m ¶

    emit_ld_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_ld_w_w_m ¶

    emit_ld_w_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_ldc1_f_m ¶

    emit_ldc1_f_m :: proc(instructions: ^[dynamic]Instruction, dst: FPR, mem: Memory) {…}

    emit_ldc2_c2_m ¶

    emit_ldc2_c2_m :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, mem: Memory) {…}

    emit_ldi_b_w_i5 ¶

    emit_ldi_b_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_ldi_d_w_i5 ¶

    emit_ldi_d_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_ldi_h_w_i5 ¶

    emit_ldi_h_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_ldi_w_w_i5 ¶

    emit_ldi_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_ldl_r_m ¶

    emit_ldl_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_ldpc_r_rel ¶

    emit_ldpc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_ldr_r_m ¶

    emit_ldr_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_ldxc1_f_r_r ¶

    emit_ldxc1_f_r_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: GPR, src2: GPR) {…}

    emit_lh_r_m ¶

    emit_lh_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lhu_r_m ¶

    emit_lhu_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lhx_r_r_r ¶

    emit_lhx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ll_r_m ¶

    emit_ll_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lld_r_m ¶

    emit_lld_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lq_r_m ¶

    emit_lq_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lqc2_c2_m ¶

    emit_lqc2_c2_m :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, mem: Memory) {…}

    emit_lsa_r_r_r_i5 ¶

    emit_lsa_r_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR, imm: i64) {…}

    emit_lui_r_u16 ¶

    emit_lui_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_lv_q_vq_m ¶

    emit_lv_q_vq_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_lv_s_vs_m ¶

    emit_lv_s_vs_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_lvl_q_vq_m ¶

    emit_lvl_q_vq_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_lvr_q_vq_m ¶

    emit_lvr_q_vq_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_lw_r_m ¶

    emit_lw_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lwc1_f_m ¶

    emit_lwc1_f_m :: proc(instructions: ^[dynamic]Instruction, dst: FPR, mem: Memory) {…}

    emit_lwc2_c2_m ¶

    emit_lwc2_c2_m :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, mem: Memory) {…}

    emit_lwl_r_m ¶

    emit_lwl_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lwpc_r_rel ¶

    emit_lwpc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_lwr_r_m ¶

    emit_lwr_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lwu_r_m ¶

    emit_lwu_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_lwupc_r_rel ¶

    emit_lwupc_r_rel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, target: u32) {…}

    emit_lwx_r_r_r ¶

    emit_lwx_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_lwxc1_f_r_r ¶

    emit_lwxc1_f_r_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: GPR, src2: GPR) {…}

    emit_madd1_r_r ¶

    emit_madd1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_madd_d_f_f_f_f ¶

    emit_madd_d_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_madd_ee_r_r_r ¶

    emit_madd_ee_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_madd_ps_f_f_f_f ¶

    emit_madd_ps_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_madd_r_r ¶

    emit_madd_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_madd_s_f_f_f_f ¶

    emit_madd_s_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_maddu1_r_r ¶

    emit_maddu1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_maddu_ee_r_r_r ¶

    emit_maddu_ee_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_maddu_r_r ¶

    emit_maddu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_maddv_b_w_w_w ¶

    emit_maddv_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_maddv_d_w_w_w ¶

    emit_maddv_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_maddv_h_w_w_w ¶

    emit_maddv_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_maddv_w_w_w_w ¶

    emit_maddv_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_maq_s_w_phl_i5_r_r ¶

    emit_maq_s_w_phl_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_maq_s_w_phr_i5_r_r ¶

    emit_maq_s_w_phr_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_maq_sa_w_phl_i5_r_r ¶

    emit_maq_sa_w_phl_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_maq_sa_w_phr_i5_r_r ¶

    emit_maq_sa_w_phr_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_max_s_b_w_w_w ¶

    emit_max_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_s_d_w_w_w ¶

    emit_max_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_s_h_w_w_w ¶

    emit_max_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_s_w_w_w_w ¶

    emit_max_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_u_b_w_w_w ¶

    emit_max_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_u_d_w_w_w ¶

    emit_max_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_u_h_w_w_w ¶

    emit_max_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_max_u_w_w_w_w ¶

    emit_max_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mfc0_r_c0_sel ¶

    emit_mfc0_r_c0_sel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: CP0_Reg, imm: i64) {…}

    emit_mfc1_r_f ¶

    emit_mfc1_r_f :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: FPR) {…}

    emit_mfc2_r_c2 ¶

    emit_mfc2_r_c2 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GTE_DataReg) {…}

    emit_mfhc0_r_c0_sel ¶

    emit_mfhc0_r_c0_sel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: CP0_Reg, imm: i64) {…}

    emit_mfhc1_r_f ¶

    emit_mfhc1_r_f :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: FPR) {…}

    emit_mfhi1_r ¶

    emit_mfhi1_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mfhi_r ¶

    emit_mfhi_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mflo1_r ¶

    emit_mflo1_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mflo_r ¶

    emit_mflo_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mfsa_r ¶

    emit_mfsa_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mfv_r_vs ¶

    emit_mfv_r_vs :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register) {…}

    emit_mfvc_r_i5 ¶

    emit_mfvc_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_min_s_b_w_w_w ¶

    emit_min_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_s_d_w_w_w ¶

    emit_min_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_s_h_w_w_w ¶

    emit_min_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_s_w_w_w_w ¶

    emit_min_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_u_b_w_w_w ¶

    emit_min_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_u_d_w_w_w ¶

    emit_min_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_u_h_w_w_w ¶

    emit_min_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_min_u_w_w_w_w ¶

    emit_min_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_r_r_r ¶

    emit_mod_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mod_s_b_w_w_w ¶

    emit_mod_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_s_d_w_w_w ¶

    emit_mod_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_s_h_w_w_w ¶

    emit_mod_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_s_w_w_w_w ¶

    emit_mod_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_u_b_w_w_w ¶

    emit_mod_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_u_d_w_w_w ¶

    emit_mod_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_u_h_w_w_w ¶

    emit_mod_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mod_u_w_w_w_w ¶

    emit_mod_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_modu_r_r_r ¶

    emit_modu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mov_d_f_f ¶

    emit_mov_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_mov_ps_f_f ¶

    emit_mov_ps_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_mov_s_f_f ¶

    emit_mov_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_movf_d_f_f_cc ¶

    emit_movf_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_movf_ps_f_f_cc ¶

    emit_movf_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_movf_r_r_cc ¶

    emit_movf_r_r_cc :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_movf_s_f_f_cc ¶

    emit_movf_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_movn_d_f_f_r ¶

    emit_movn_d_f_f_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: GPR) {…}

    emit_movn_ps_f_f_r ¶

    emit_movn_ps_f_f_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: GPR) {…}

    emit_movn_r_r_r ¶

    emit_movn_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_movn_s_f_f_r ¶

    emit_movn_s_f_f_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: GPR) {…}

    emit_movt_d_f_f_cc ¶

    emit_movt_d_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_movt_ps_f_f_cc ¶

    emit_movt_ps_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_movt_r_r_cc ¶

    emit_movt_r_r_cc :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_movt_s_f_f_cc ¶

    emit_movt_s_f_f_cc :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, imm: i64) {…}

    emit_movz_d_f_f_r ¶

    emit_movz_d_f_f_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: GPR) {…}

    emit_movz_ps_f_f_r ¶

    emit_movz_ps_f_f_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: GPR) {…}

    emit_movz_r_r_r ¶

    emit_movz_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_movz_s_f_f_r ¶

    emit_movz_s_f_f_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: GPR) {…}

    emit_msub1_r_r ¶

    emit_msub1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_msub_d_f_f_f_f ¶

    emit_msub_d_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_msub_ee_r_r_r ¶

    emit_msub_ee_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_msub_ps_f_f_f_f ¶

    emit_msub_ps_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_msub_r_r ¶

    emit_msub_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_msub_s_f_f_f_f ¶

    emit_msub_s_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_msubu1_r_r ¶

    emit_msubu1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_msubu_ee_r_r_r ¶

    emit_msubu_ee_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_msubu_r_r ¶

    emit_msubu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_msubv_b_w_w_w ¶

    emit_msubv_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_msubv_d_w_w_w ¶

    emit_msubv_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_msubv_h_w_w_w ¶

    emit_msubv_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_msubv_w_w_w_w ¶

    emit_msubv_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mtc0_r_c0_sel ¶

    emit_mtc0_r_c0_sel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: CP0_Reg, imm: i64) {…}

    emit_mtc1_r_f ¶

    emit_mtc1_r_f :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: FPR) {…}

    emit_mtc2_r_c2 ¶

    emit_mtc2_r_c2 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GTE_DataReg) {…}

    emit_mthc0_r_c0_sel ¶

    emit_mthc0_r_c0_sel :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: CP0_Reg, imm: i64) {…}

    emit_mthc1_r_f ¶

    emit_mthc1_r_f :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: FPR) {…}

    emit_mthi1_r ¶

    emit_mthi1_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mthi_r ¶

    emit_mthi_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mthlip_r_i5 ¶

    emit_mthlip_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_mtlo1_r ¶

    emit_mtlo1_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mtlo_r ¶

    emit_mtlo_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mtsa_r ¶

    emit_mtsa_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_mtsab_r_i16 ¶

    emit_mtsab_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_mtsah_r_i16 ¶

    emit_mtsah_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_mtv_r_vs ¶

    emit_mtv_r_vs :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: Register) {…}

    emit_mtvc_r_i5 ¶

    emit_mtvc_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_muh_r_r_r ¶

    emit_muh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_muhu_r_r_r ¶

    emit_muhu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mul_d_f_f_f ¶

    emit_mul_d_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_mul_ps_f_f_f ¶

    emit_mul_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_mul_r_r_r ¶

    emit_mul_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mul_s_f_f_f ¶

    emit_mul_s_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_muleq_s_w_phl_r_r_r ¶

    emit_muleq_s_w_phl_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_muleq_s_w_phr_r_r_r ¶

    emit_muleq_s_w_phr_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_muleu_s_ph_qbl_r_r_r ¶

    emit_muleu_s_ph_qbl_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_muleu_s_ph_qbr_r_r_r ¶

    emit_muleu_s_ph_qbr_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mulq_rs_ph_r_r_r ¶

    emit_mulq_rs_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mulq_s_ph_r_r_r ¶

    emit_mulq_s_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mulsaq_s_w_ph_i5_r_r ¶

    emit_mulsaq_s_w_ph_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_mult1_r_r ¶

    emit_mult1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_mult_r_r ¶

    emit_mult_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_multu1_r_r ¶

    emit_multu1_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_multu_r_r ¶

    emit_multu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_mulu_r_r_r ¶

    emit_mulu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_mulv_b_w_w_w ¶

    emit_mulv_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mulv_d_w_w_w ¶

    emit_mulv_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mulv_h_w_w_w ¶

    emit_mulv_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mulv_w_w_w_w ¶

    emit_mulv_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_mvmva_none ¶

    emit_mvmva_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_nccs_none ¶

    emit_nccs_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ncct_none ¶

    emit_ncct_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ncds_none ¶

    emit_ncds_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ncdt_none ¶

    emit_ncdt_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_nclip_none ¶

    emit_nclip_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_ncs_none ¶

    emit_ncs_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_nct_none ¶

    emit_nct_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_neg_d_f_f ¶

    emit_neg_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_neg_ps_f_f ¶

    emit_neg_ps_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_neg_s_f_f ¶

    emit_neg_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_nloc_b_w_w ¶

    emit_nloc_b_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nloc_d_w_w ¶

    emit_nloc_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nloc_h_w_w ¶

    emit_nloc_h_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nloc_w_w_w ¶

    emit_nloc_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nlzc_b_w_w ¶

    emit_nlzc_b_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nlzc_d_w_w ¶

    emit_nlzc_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nlzc_h_w_w ¶

    emit_nlzc_h_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nlzc_w_w_w ¶

    emit_nlzc_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_nmadd_d_f_f_f_f ¶

    emit_nmadd_d_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_nmadd_ps_f_f_f_f ¶

    emit_nmadd_ps_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_nmadd_s_f_f_f_f ¶

    emit_nmadd_s_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_nmsub_d_f_f_f_f ¶

    emit_nmsub_d_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_nmsub_ps_f_f_f_f ¶

    emit_nmsub_ps_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_nmsub_s_f_f_f_f ¶

    emit_nmsub_s_f_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR, src3: FPR) {…}

    emit_nop_none ¶

    emit_nop_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_nor_r_r_r ¶

    emit_nor_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_nor_v_w_w_w ¶

    emit_nor_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_nori_b_w_w_i5 ¶

    emit_nori_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_op_gte_none ¶

    emit_op_gte_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_or_r_r_r ¶

    emit_or_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_or_v_w_w_w ¶

    emit_or_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_ori_b_w_w_i5 ¶

    emit_ori_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_ori_r_r_u16 ¶

    emit_ori_r_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_pabsh_r_r ¶

    emit_pabsh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pabsw_r_r ¶

    emit_pabsw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_paddb_r_r_r ¶

    emit_paddb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_paddh_r_r_r ¶

    emit_paddh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_paddsb_r_r_r ¶

    emit_paddsb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_paddsh_r_r_r ¶

    emit_paddsh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_paddsw_r_r_r ¶

    emit_paddsw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_paddub_r_r_r ¶

    emit_paddub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_padduh_r_r_r ¶

    emit_padduh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_padduw_r_r_r ¶

    emit_padduw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_paddw_r_r_r ¶

    emit_paddw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pand_r_r_r ¶

    emit_pand_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pause_none ¶

    emit_pause_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_pceqb_r_r_r ¶

    emit_pceqb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pceqh_r_r_r ¶

    emit_pceqh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pceqw_r_r_r ¶

    emit_pceqw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pcgtb_r_r_r ¶

    emit_pcgtb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pcgth_r_r_r ¶

    emit_pcgth_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pcgtw_r_r_r ¶

    emit_pcgtw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pcnt_b_w_w ¶

    emit_pcnt_b_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_pcnt_d_w_w ¶

    emit_pcnt_d_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_pcnt_h_w_w ¶

    emit_pcnt_h_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_pcnt_w_w_w ¶

    emit_pcnt_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_pcpyh_r_r ¶

    emit_pcpyh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pcpyld_r_r_r ¶

    emit_pcpyld_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pcpyud_r_r_r ¶

    emit_pcpyud_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pdivbw_r_r ¶

    emit_pdivbw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pdivuw_r_r ¶

    emit_pdivuw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pdivw_r_r ¶

    emit_pdivw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pexch_r_r ¶

    emit_pexch_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pexcw_r_r ¶

    emit_pexcw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pexeh_r_r ¶

    emit_pexeh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pexew_r_r ¶

    emit_pexew_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pext5_r_r_r ¶

    emit_pext5_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pextlb_r_r_r ¶

    emit_pextlb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pextlh_r_r_r ¶

    emit_pextlh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pextlw_r_r_r ¶

    emit_pextlw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pextub_r_r_r ¶

    emit_pextub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pextuh_r_r_r ¶

    emit_pextuh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pextuw_r_r_r ¶

    emit_pextuw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_phmadh_r_r_r ¶

    emit_phmadh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_phmsbh_r_r_r ¶

    emit_phmsbh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pick_ph_r_r_r ¶

    emit_pick_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pick_qb_r_r_r ¶

    emit_pick_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pinth_r_r_r ¶

    emit_pinth_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pintoh_r_r_r ¶

    emit_pintoh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pll_ps_f_f_f ¶

    emit_pll_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_plu_ps_f_f_f ¶

    emit_plu_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_plzcw_r_r ¶

    emit_plzcw_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_pmaddh_r_r_r ¶

    emit_pmaddh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmadduw_r_r_r ¶

    emit_pmadduw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmaddw_r_r_r ¶

    emit_pmaddw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmaxh_r_r_r ¶

    emit_pmaxh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmaxw_r_r_r ¶

    emit_pmaxw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmfhi_r ¶

    emit_pmfhi_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmfhl_lh_r ¶

    emit_pmfhl_lh_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmfhl_lw_r ¶

    emit_pmfhl_lw_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmfhl_sh_r ¶

    emit_pmfhl_sh_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmfhl_slw_r ¶

    emit_pmfhl_slw_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmfhl_uw_r ¶

    emit_pmfhl_uw_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmflo_r ¶

    emit_pmflo_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pminh_r_r_r ¶

    emit_pminh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pminw_r_r_r ¶

    emit_pminw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmsubh_r_r_r ¶

    emit_pmsubh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmsubw_r_r_r ¶

    emit_pmsubw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmthi_r ¶

    emit_pmthi_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmthl_lw_r ¶

    emit_pmthl_lw_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmtlo_r ¶

    emit_pmtlo_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR) {…}

    emit_pmulth_r_r_r ¶

    emit_pmulth_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmultuw_r_r_r ¶

    emit_pmultuw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pmultw_r_r_r ¶

    emit_pmultw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pnor_r_r_r ¶

    emit_pnor_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_por_r_r_r ¶

    emit_por_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ppac5_r_r_r ¶

    emit_ppac5_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ppacb_r_r_r ¶

    emit_ppacb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ppach_r_r_r ¶

    emit_ppach_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ppacw_r_r_r ¶

    emit_ppacw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_preceq_w_phl_r_r ¶

    emit_preceq_w_phl_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_preceq_w_phr_r_r ¶

    emit_preceq_w_phr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_precequ_ph_qbl_r_r ¶

    emit_precequ_ph_qbl_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_precequ_ph_qbla_r_r ¶

    emit_precequ_ph_qbla_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_precequ_ph_qbr_r_r ¶

    emit_precequ_ph_qbr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_precequ_ph_qbra_r_r ¶

    emit_precequ_ph_qbra_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_preceu_ph_qbl_r_r ¶

    emit_preceu_ph_qbl_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_preceu_ph_qbla_r_r ¶

    emit_preceu_ph_qbla_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_preceu_ph_qbr_r_r ¶

    emit_preceu_ph_qbr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_preceu_ph_qbra_r_r ¶

    emit_preceu_ph_qbra_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_precrq_ph_w_r_r_r ¶

    emit_precrq_ph_w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_precrq_qb_ph_r_r_r ¶

    emit_precrq_qb_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_precrq_rs_ph_w_r_r_r ¶

    emit_precrq_rs_ph_w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_precrqu_s_qb_ph_r_r_r ¶

    emit_precrqu_s_qb_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pref_i5_m ¶

    emit_pref_i5_m :: proc(instructions: ^[dynamic]Instruction, imm: i64, mem: Memory) {…}

    emit_prefx_i5_r_r ¶

    emit_prefx_i5_r_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR, src: GPR) {…}

    emit_prot3w_r_r ¶

    emit_prot3w_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_psllh_r_r_i5 ¶

    emit_psllh_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_psllvw_r_r_r ¶

    emit_psllvw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psllw_r_r_i5 ¶

    emit_psllw_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_psrah_r_r_i5 ¶

    emit_psrah_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_psravw_r_r_r ¶

    emit_psravw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psraw_r_r_i5 ¶

    emit_psraw_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_psrlh_r_r_i5 ¶

    emit_psrlh_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_psrlvw_r_r_r ¶

    emit_psrlvw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psrlw_r_r_i5 ¶

    emit_psrlw_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_psubb_r_r_r ¶

    emit_psubb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubh_r_r_r ¶

    emit_psubh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubsb_r_r_r ¶

    emit_psubsb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubsh_r_r_r ¶

    emit_psubsh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubsw_r_r_r ¶

    emit_psubsw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubub_r_r_r ¶

    emit_psubub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubuh_r_r_r ¶

    emit_psubuh_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubuw_r_r_r ¶

    emit_psubuw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_psubw_r_r_r ¶

    emit_psubw_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_pul_ps_f_f_f ¶

    emit_pul_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_puu_ps_f_f_f ¶

    emit_puu_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_pxor_r_r_r ¶

    emit_pxor_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_qfsrv_r_r_r ¶

    emit_qfsrv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_rddsp_r_i5 ¶

    emit_rddsp_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_rdhwr_r_r ¶

    emit_rdhwr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_rdpgpr_r_r ¶

    emit_rdpgpr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_recip_d_f_f ¶

    emit_recip_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_recip_s_f_f ¶

    emit_recip_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_repl_ph_r_i5 ¶

    emit_repl_ph_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_repl_qb_r_i5 ¶

    emit_repl_qb_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_replv_ph_r_r ¶

    emit_replv_ph_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_replv_qb_r_r ¶

    emit_replv_qb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_rotr_r_r_i5 ¶

    emit_rotr_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_rotrv_r_r_r ¶

    emit_rotrv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_round_l_d_f_f ¶

    emit_round_l_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_round_l_s_f_f ¶

    emit_round_l_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_round_w_d_f_f ¶

    emit_round_w_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_round_w_s_f_f ¶

    emit_round_w_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_rsqrt_d_f_f ¶

    emit_rsqrt_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_rsqrt_s_f_f ¶

    emit_rsqrt_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_rtps_none ¶

    emit_rtps_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_rtpt_none ¶

    emit_rtpt_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_sb_r_m ¶

    emit_sb_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_sc_r_m ¶

    emit_sc_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_scd_r_m ¶

    emit_scd_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_sd_r_m ¶

    emit_sd_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_sdbbp_i20 ¶

    emit_sdbbp_i20 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_sdc1_f_m ¶

    emit_sdc1_f_m :: proc(instructions: ^[dynamic]Instruction, dst: FPR, mem: Memory) {…}

    emit_sdc2_c2_m ¶

    emit_sdc2_c2_m :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, mem: Memory) {…}

    emit_sdl_r_m ¶

    emit_sdl_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_sdr_r_m ¶

    emit_sdr_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_sdxc1_f_r_r ¶

    emit_sdxc1_f_r_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: GPR, src2: GPR) {…}

    emit_seb_r_r ¶

    emit_seb_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_seh_r_r ¶

    emit_seh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_seleqz_r_r_r ¶

    emit_seleqz_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_selnez_r_r_r ¶

    emit_selnez_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_sh_r_m ¶

    emit_sh_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_shf_b_w_w_i5 ¶

    emit_shf_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_shf_h_w_w_i5 ¶

    emit_shf_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_shf_w_w_w_i5 ¶

    emit_shf_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_shilo_i5_i5 ¶

    emit_shilo_i5_i5 :: proc(instructions: ^[dynamic]Instruction, imm: i64, imm2: i64) {…}

    emit_shilov_i5_r ¶

    emit_shilov_i5_r :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: GPR) {…}

    emit_shll_ph_r_r_i5 ¶

    emit_shll_ph_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shll_qb_r_r_i5 ¶

    emit_shll_qb_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shll_s_ph_r_r_i5 ¶

    emit_shll_s_ph_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shll_s_w_r_r_i5 ¶

    emit_shll_s_w_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shllv_ph_r_r_r ¶

    emit_shllv_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shllv_qb_r_r_r ¶

    emit_shllv_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shllv_s_ph_r_r_r ¶

    emit_shllv_s_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shllv_s_w_r_r_r ¶

    emit_shllv_s_w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shra_ph_r_r_i5 ¶

    emit_shra_ph_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shra_qb_r_r_i5 ¶

    emit_shra_qb_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shra_r_ph_r_r_i5 ¶

    emit_shra_r_ph_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shra_r_qb_r_r_i5 ¶

    emit_shra_r_qb_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shra_r_w_r_r_i5 ¶

    emit_shra_r_w_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shrav_ph_r_r_r ¶

    emit_shrav_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shrav_qb_r_r_r ¶

    emit_shrav_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shrav_r_ph_r_r_r ¶

    emit_shrav_r_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shrav_r_qb_r_r_r ¶

    emit_shrav_r_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shrav_r_w_r_r_r ¶

    emit_shrav_r_w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shrl_ph_r_r_i5 ¶

    emit_shrl_ph_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shrl_qb_r_r_i5 ¶

    emit_shrl_qb_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_shrlv_ph_r_r_r ¶

    emit_shrlv_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_shrlv_qb_r_r_r ¶

    emit_shrlv_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_sigrie_u16 ¶

    emit_sigrie_u16 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_sld_b_w_w_r ¶

    emit_sld_b_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_sld_d_w_w_r ¶

    emit_sld_d_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_sld_h_w_w_r ¶

    emit_sld_h_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_sld_w_w_w_r ¶

    emit_sld_w_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_sldi_b_w_w_i5 ¶

    emit_sldi_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_sldi_d_w_w_i5 ¶

    emit_sldi_d_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_sldi_h_w_w_i5 ¶

    emit_sldi_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_sldi_w_w_w_i5 ¶

    emit_sldi_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_sll_b_w_w_w ¶

    emit_sll_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sll_d_w_w_w ¶

    emit_sll_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sll_h_w_w_w ¶

    emit_sll_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sll_r_r_i5 ¶

    emit_sll_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_sll_w_w_w_w ¶

    emit_sll_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_slli_b_w_w_i5 ¶

    emit_slli_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_slli_d_w_w_i5 ¶

    emit_slli_d_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_slli_h_w_w_i5 ¶

    emit_slli_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_slli_w_w_w_i5 ¶

    emit_slli_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_sllv_r_r_r ¶

    emit_sllv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_slt_r_r_r ¶

    emit_slt_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_slti_r_r_i16 ¶

    emit_slti_r_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_sltiu_r_r_i16 ¶

    emit_sltiu_r_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_sltu_r_r_r ¶

    emit_sltu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_splat_b_w_w_r ¶

    emit_splat_b_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_splat_d_w_w_r ¶

    emit_splat_d_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_splat_h_w_w_r ¶

    emit_splat_h_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_splat_w_w_w_r ¶

    emit_splat_w_w_w_r :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: GPR) {…}

    emit_splati_b_w_w_i5 ¶

    emit_splati_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_splati_d_w_w_i5 ¶

    emit_splati_d_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_splati_h_w_w_i5 ¶

    emit_splati_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_splati_w_w_w_i5 ¶

    emit_splati_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_sq_r_m ¶

    emit_sq_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_sqc2_c2_m ¶

    emit_sqc2_c2_m :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, mem: Memory) {…}

    emit_sqr_gte_none ¶

    emit_sqr_gte_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_sqrt_d_f_f ¶

    emit_sqrt_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_sqrt_s_f_f ¶

    emit_sqrt_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_sra_b_w_w_w ¶

    emit_sra_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sra_d_w_w_w ¶

    emit_sra_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sra_h_w_w_w ¶

    emit_sra_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sra_r_r_i5 ¶

    emit_sra_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_sra_w_w_w_w ¶

    emit_sra_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_srai_b_w_w_i5 ¶

    emit_srai_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srai_d_w_w_i5 ¶

    emit_srai_d_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srai_h_w_w_i5 ¶

    emit_srai_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srai_w_w_w_i5 ¶

    emit_srai_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srav_r_r_r ¶

    emit_srav_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_srl_b_w_w_w ¶

    emit_srl_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_srl_d_w_w_w ¶

    emit_srl_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_srl_h_w_w_w ¶

    emit_srl_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_srl_r_r_i5 ¶

    emit_srl_r_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    emit_srl_w_w_w_w ¶

    emit_srl_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_srli_b_w_w_i5 ¶

    emit_srli_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srli_d_w_w_i5 ¶

    emit_srli_d_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srli_h_w_w_i5 ¶

    emit_srli_h_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srli_w_w_w_i5 ¶

    emit_srli_w_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_srlv_r_r_r ¶

    emit_srlv_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_ssnop_none ¶

    emit_ssnop_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_st_b_w_m ¶

    emit_st_b_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_st_d_w_m ¶

    emit_st_d_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_st_h_w_m ¶

    emit_st_h_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_st_w_w_m ¶

    emit_st_w_w_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_sub_d_f_f_f ¶

    emit_sub_d_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_sub_ps_f_f_f ¶

    emit_sub_ps_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_sub_r_r_r ¶

    emit_sub_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_sub_s_f_f_f ¶

    emit_sub_s_f_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR, src2: FPR) {…}

    emit_subq_ph_r_r_r ¶

    emit_subq_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subq_s_ph_r_r_r ¶

    emit_subq_s_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subq_s_w_r_r_r ¶

    emit_subq_s_w_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subs_s_b_w_w_w ¶

    emit_subs_s_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_s_d_w_w_w ¶

    emit_subs_s_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_s_h_w_w_w ¶

    emit_subs_s_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_s_w_w_w_w ¶

    emit_subs_s_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_u_b_w_w_w ¶

    emit_subs_u_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_u_d_w_w_w ¶

    emit_subs_u_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_u_h_w_w_w ¶

    emit_subs_u_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subs_u_w_w_w_w ¶

    emit_subs_u_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subu_ph_r_r_r ¶

    emit_subu_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subu_qb_r_r_r ¶

    emit_subu_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subu_r_r_r ¶

    emit_subu_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subu_s_ph_r_r_r ¶

    emit_subu_s_ph_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subu_s_qb_r_r_r ¶

    emit_subu_s_qb_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_subv_b_w_w_w ¶

    emit_subv_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subv_d_w_w_w ¶

    emit_subv_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subv_h_w_w_w ¶

    emit_subv_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_subv_w_w_w_w ¶

    emit_subv_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_sv_q_vq_m ¶

    emit_sv_q_vq_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_sv_s_vs_m ¶

    emit_sv_s_vs_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_svl_q_vq_m ¶

    emit_svl_q_vq_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_svr_q_vq_m ¶

    emit_svr_q_vq_m :: proc(instructions: ^[dynamic]Instruction, dst: Register, mem: Memory) {…}

    emit_sw_r_m ¶

    emit_sw_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_swc1_f_m ¶

    emit_swc1_f_m :: proc(instructions: ^[dynamic]Instruction, dst: FPR, mem: Memory) {…}

    emit_swc2_c2_m ¶

    emit_swc2_c2_m :: proc(instructions: ^[dynamic]Instruction, dst: GTE_DataReg, mem: Memory) {…}

    emit_swl_r_m ¶

    emit_swl_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_swr_r_m ¶

    emit_swr_r_m :: proc(instructions: ^[dynamic]Instruction, dst: GPR, mem: Memory) {…}

    emit_swxc1_f_r_r ¶

    emit_swxc1_f_r_r :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: GPR, src2: GPR) {…}

    emit_sync_i5 ¶

    emit_sync_i5 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_syscall_i20 ¶

    emit_syscall_i20 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_teq_r_r ¶

    emit_teq_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_teqi_r_i16 ¶

    emit_teqi_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_tge_r_r ¶

    emit_tge_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_tgei_r_i16 ¶

    emit_tgei_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_tgeiu_r_i16 ¶

    emit_tgeiu_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_tgeu_r_r ¶

    emit_tgeu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_tlbp_none ¶

    emit_tlbp_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_tlbr_none ¶

    emit_tlbr_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_tlbwi_none ¶

    emit_tlbwi_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_tlbwr_none ¶

    emit_tlbwr_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_tlt_r_r ¶

    emit_tlt_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_tlti_r_i16 ¶

    emit_tlti_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_tltiu_r_i16 ¶

    emit_tltiu_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_tltu_r_r ¶

    emit_tltu_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_tne_r_r ¶

    emit_tne_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_tnei_r_i16 ¶

    emit_tnei_r_i16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_trunc_l_d_f_f ¶

    emit_trunc_l_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_trunc_l_s_f_f ¶

    emit_trunc_l_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_trunc_w_d_f_f ¶

    emit_trunc_w_d_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_trunc_w_s_f_f ¶

    emit_trunc_w_s_f_f :: proc(instructions: ^[dynamic]Instruction, dst: FPR, src: FPR) {…}

    emit_vabs_p_vp_vp ¶

    emit_vabs_p_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vabs_q_vq_vq ¶

    emit_vabs_q_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vabs_s_vs_vs ¶

    emit_vabs_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vabs_t_vt_vt ¶

    emit_vabs_t_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vadd_p_vp_vp_vp ¶

    emit_vadd_p_vp_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vadd_q_vq_vq_vq ¶

    emit_vadd_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vadd_s_vs_vs_vs ¶

    emit_vadd_s_vs_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vadd_t_vt_vt_vt ¶

    emit_vadd_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vasin_s_vs_vs ¶

    emit_vasin_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vavg_p_vs_vp ¶

    emit_vavg_p_vs_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vavg_q_vs_vq ¶

    emit_vavg_q_vs_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vavg_t_vs_vt ¶

    emit_vavg_t_vs_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vcmp_p_i5_vp_vp ¶

    emit_vcmp_p_i5_vp_vp :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: Register, src: Register) {…}

    emit_vcmp_q_i5_vq_vq ¶

    emit_vcmp_q_i5_vq_vq :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: Register, src: Register) {…}

    emit_vcmp_s_i5_vs_vs ¶

    emit_vcmp_s_i5_vs_vs :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: Register, src: Register) {…}

    emit_vcmp_t_i5_vt_vt ¶

    emit_vcmp_t_i5_vt_vt :: proc(instructions: ^[dynamic]Instruction, imm: i64, dst: Register, src: Register) {…}

    emit_vcos_s_vs_vs ¶

    emit_vcos_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vcrs_t_vt_vt_vt ¶

    emit_vcrs_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vcrsp_t_vt_vt_vt ¶

    emit_vcrsp_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vcst_p_vp_i5 ¶

    emit_vcst_p_vp_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_vcst_q_vq_i5 ¶

    emit_vcst_q_vq_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_vcst_s_vs_i5 ¶

    emit_vcst_s_vs_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_vcst_t_vt_i5 ¶

    emit_vcst_t_vt_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_vdiv_p_vp_vp_vp ¶

    emit_vdiv_p_vp_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vdiv_q_vq_vq_vq ¶

    emit_vdiv_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vdiv_s_vs_vs_vs ¶

    emit_vdiv_s_vs_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vdiv_t_vt_vt_vt ¶

    emit_vdiv_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vdot_p_vs_vp_vp ¶

    emit_vdot_p_vs_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vdot_q_vs_vq_vq ¶

    emit_vdot_q_vs_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vdot_t_vs_vt_vt ¶

    emit_vdot_t_vs_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vexp2_s_vs_vs ¶

    emit_vexp2_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vf2h_p_vs_vp ¶

    emit_vf2h_p_vs_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vf2id_p_vp_vp_i5 ¶

    emit_vf2id_p_vp_vp_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2id_q_vq_vq_i5 ¶

    emit_vf2id_q_vq_vq_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2id_s_vs_vs_i5 ¶

    emit_vf2id_s_vs_vs_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2id_t_vt_vt_i5 ¶

    emit_vf2id_t_vt_vt_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2in_p_vp_vp_i5 ¶

    emit_vf2in_p_vp_vp_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2in_q_vq_vq_i5 ¶

    emit_vf2in_q_vq_vq_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2in_s_vs_vs_i5 ¶

    emit_vf2in_s_vs_vs_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2in_t_vt_vt_i5 ¶

    emit_vf2in_t_vt_vt_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iu_p_vp_vp_i5 ¶

    emit_vf2iu_p_vp_vp_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iu_q_vq_vq_i5 ¶

    emit_vf2iu_q_vq_vq_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iu_s_vs_vs_i5 ¶

    emit_vf2iu_s_vs_vs_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iu_t_vt_vt_i5 ¶

    emit_vf2iu_t_vt_vt_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iz_p_vp_vp_i5 ¶

    emit_vf2iz_p_vp_vp_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iz_q_vq_vq_i5 ¶

    emit_vf2iz_q_vq_vq_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iz_s_vs_vs_i5 ¶

    emit_vf2iz_s_vs_vs_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vf2iz_t_vt_vt_i5 ¶

    emit_vf2iz_t_vt_vt_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vfad_p_vs_vp ¶

    emit_vfad_p_vs_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vfad_q_vs_vq ¶

    emit_vfad_q_vs_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vfad_t_vs_vt ¶

    emit_vfad_t_vs_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vfim_s_vs_i16 ¶

    emit_vfim_s_vs_i16 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_vflush_none ¶

    emit_vflush_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_vh2f_s_vp_vs ¶

    emit_vh2f_s_vp_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vhdp_p_vs_vp_vp ¶

    emit_vhdp_p_vs_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vhdp_q_vs_vq_vq ¶

    emit_vhdp_q_vs_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vhdp_t_vs_vt_vt ¶

    emit_vhdp_t_vs_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vhtfm2_p_vp_vmp_vp ¶

    emit_vhtfm2_p_vp_vmp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vhtfm3_t_vt_vmt_vt ¶

    emit_vhtfm3_t_vt_vmt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vhtfm4_q_vq_vmq_vq ¶

    emit_vhtfm4_q_vq_vmq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vi2f_p_vp_vp_i5 ¶

    emit_vi2f_p_vp_vp_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vi2f_q_vq_vq_i5 ¶

    emit_vi2f_q_vq_vq_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vi2f_s_vs_vs_i5 ¶

    emit_vi2f_s_vs_vs_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_vi2f_t_vt_vt_i5 ¶

    emit_vi2f_t_vt_vt_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_viim_s_vs_i16 ¶

    emit_viim_s_vs_i16 :: proc(instructions: ^[dynamic]Instruction, dst: Register, imm: i64) {…}

    emit_vlog2_s_vs_vs ¶

    emit_vlog2_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmax_p_vp_vp_vp ¶

    emit_vmax_p_vp_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmax_q_vq_vq_vq ¶

    emit_vmax_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmax_s_vs_vs_vs ¶

    emit_vmax_s_vs_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmax_t_vt_vt_vt ¶

    emit_vmax_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmidt_p_vmp ¶

    emit_vmidt_p_vmp :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmidt_q_vmq ¶

    emit_vmidt_q_vmq :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmidt_t_vmt ¶

    emit_vmidt_t_vmt :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmin_p_vp_vp_vp ¶

    emit_vmin_p_vp_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmin_q_vq_vq_vq ¶

    emit_vmin_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmin_s_vs_vs_vs ¶

    emit_vmin_s_vs_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmin_t_vt_vt_vt ¶

    emit_vmin_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmmov_p_vmp_vmp ¶

    emit_vmmov_p_vmp_vmp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmmov_q_vmq_vmq ¶

    emit_vmmov_q_vmq_vmq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmmov_t_vmt_vmt ¶

    emit_vmmov_t_vmt_vmt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmmul_p_vmp_vmp_vmp ¶

    emit_vmmul_p_vmp_vmp_vmp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmmul_q_vmq_vmq_vmq ¶

    emit_vmmul_q_vmq_vmq_vmq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmmul_t_vmt_vmt_vmt ¶

    emit_vmmul_t_vmt_vmt_vmt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmone_p_vmp ¶

    emit_vmone_p_vmp :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmone_q_vmq ¶

    emit_vmone_q_vmq :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmone_t_vmt ¶

    emit_vmone_t_vmt :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmov_p_vp_vp ¶

    emit_vmov_p_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmov_q_vq_vq ¶

    emit_vmov_q_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmov_s_vs_vs ¶

    emit_vmov_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmov_t_vt_vt ¶

    emit_vmov_t_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vmscl_p_vmp_vmp_vs ¶

    emit_vmscl_p_vmp_vmp_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmscl_q_vmq_vmq_vs ¶

    emit_vmscl_q_vmq_vmq_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmscl_t_vmt_vmt_vs ¶

    emit_vmscl_t_vmt_vmt_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmul_p_vp_vp_vp ¶

    emit_vmul_p_vp_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmul_q_vq_vq_vq ¶

    emit_vmul_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmul_s_vs_vs_vs ¶

    emit_vmul_s_vs_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmul_t_vt_vt_vt ¶

    emit_vmul_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vmzero_p_vmp ¶

    emit_vmzero_p_vmp :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmzero_q_vmq ¶

    emit_vmzero_q_vmq :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vmzero_t_vmt ¶

    emit_vmzero_t_vmt :: proc(instructions: ^[dynamic]Instruction, dst: Register) {…}

    emit_vneg_p_vp_vp ¶

    emit_vneg_p_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vneg_q_vq_vq ¶

    emit_vneg_q_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vneg_s_vs_vs ¶

    emit_vneg_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vneg_t_vt_vt ¶

    emit_vneg_t_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vnop_none ¶

    emit_vnop_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_vnrcp_s_vs_vs ¶

    emit_vnrcp_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vnsin_s_vs_vs ¶

    emit_vnsin_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vpfxd_i20 ¶

    emit_vpfxd_i20 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_vpfxs_i20 ¶

    emit_vpfxs_i20 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_vpfxt_i20 ¶

    emit_vpfxt_i20 :: proc(instructions: ^[dynamic]Instruction, imm: i64) {…}

    emit_vqmul_q_vq_vq_vq ¶

    emit_vqmul_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vrcp_p_vp_vp ¶

    emit_vrcp_p_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrcp_q_vq_vq ¶

    emit_vrcp_q_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrcp_s_vs_vs ¶

    emit_vrcp_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrcp_t_vt_vt ¶

    emit_vrcp_t_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrexp2_s_vs_vs ¶

    emit_vrexp2_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrsq_p_vp_vp ¶

    emit_vrsq_p_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrsq_q_vq_vq ¶

    emit_vrsq_q_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrsq_s_vs_vs ¶

    emit_vrsq_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vrsq_t_vt_vt ¶

    emit_vrsq_t_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vscl_p_vp_vp_vs ¶

    emit_vscl_p_vp_vp_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vscl_q_vq_vq_vs ¶

    emit_vscl_q_vq_vq_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vscl_t_vt_vt_vs ¶

    emit_vscl_t_vt_vt_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vsgn_s_vs_vs ¶

    emit_vsgn_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vshf_b_w_w_w ¶

    emit_vshf_b_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vshf_d_w_w_w ¶

    emit_vshf_d_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vshf_h_w_w_w ¶

    emit_vshf_h_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vshf_w_w_w_w ¶

    emit_vshf_w_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vsin_s_vs_vs ¶

    emit_vsin_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vsqrt_s_vs_vs ¶

    emit_vsqrt_s_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register) {…}

    emit_vsub_p_vp_vp_vp ¶

    emit_vsub_p_vp_vp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vsub_q_vq_vq_vq ¶

    emit_vsub_q_vq_vq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vsub_s_vs_vs_vs ¶

    emit_vsub_s_vs_vs_vs :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vsub_t_vt_vt_vt ¶

    emit_vsub_t_vt_vt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vsync_none ¶

    emit_vsync_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_vtfm2_p_vp_vmp_vp ¶

    emit_vtfm2_p_vp_vmp_vp :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vtfm3_t_vt_vmt_vt ¶

    emit_vtfm3_t_vt_vmt_vt :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_vtfm4_q_vq_vmq_vq ¶

    emit_vtfm4_q_vq_vmq_vq :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_wait_none ¶

    emit_wait_none :: proc(instructions: ^[dynamic]Instruction) {…}

    emit_wrdsp_r_i5 ¶

    emit_wrdsp_r_i5 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, imm: i64) {…}

    emit_wrpgpr_r_r ¶

    emit_wrpgpr_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_wsbh_r_r ¶

    emit_wsbh_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR) {…}

    emit_xor_r_r_r ¶

    emit_xor_r_r_r :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, src2: GPR) {…}

    emit_xor_v_w_w_w ¶

    emit_xor_v_w_w_w :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, src2: Register) {…}

    emit_xori_b_w_w_i5 ¶

    emit_xori_b_w_w_i5 :: proc(instructions: ^[dynamic]Instruction, dst: Register, src: Register, imm: i64) {…}

    emit_xori_r_r_u16 ¶

    emit_xori_r_r_u16 :: proc(instructions: ^[dynamic]Instruction, dst: GPR, src: GPR, imm: i64) {…}

    encode ¶

    encode :: proc(
    	instructions: []Instruction, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	code:         []u8, 
    	relocs:       ^[dynamic]Relocation, 
    	errors:       ^[dynamic]rexcode_isa.Error, 
    	endianness:   Endianness = .BIG, 
    	resolve:      bool = true, 
    	base_address: u64 = 0, 
    ) -> (byte_count: u32, ok: bool) {…}

    encode_max_code_size ¶

    encode_max_code_size :: proc "contextless" (instructions: []Instruction) -> int {…}
     

    Upper bound on bytes emitted for n instructions.

    encode_max_relocation_count ¶

    encode_max_relocation_count :: proc "contextless" (instructions: []Instruction) -> int {…}
     

    Upper bound on pending relocations for n instructions (each instruction has at most one label-referencing operand).

    encode_reserve ¶

    encode_reserve :: proc(code: ^[dynamic]u8, relocs: ^[dynamic]Relocation, instructions: []Instruction) {…}
     

    Pre-size the caller's encode outputs (code grown by length so code[:] is a valid emit target; relocs reserved by capacity) so the encode hot path never reallocates. Allocates no new buffers; pass nil to skip either array.

    fpr_from_num ¶

    fpr_from_num :: proc "contextless" (num: u8) -> Register {…}

    fprint ¶

    fprint :: proc(
    	fd:           ^os.File, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    fprintln ¶

    fprintln :: proc(
    	fd:           ^os.File, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    gpr_from_num ¶

    gpr_from_num :: proc "contextless" (num: u8) -> Register {…}

    inst_abs_d_f_f ¶

    inst_abs_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_abs_ps_f_f ¶

    inst_abs_ps_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_abs_s_f_f ¶

    inst_abs_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_absq_s_ph_r_r ¶

    inst_absq_s_ph_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_absq_s_w_r_r ¶

    inst_absq_s_w_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_add_d_f_f_f ¶

    inst_add_d_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_add_ps_f_f_f ¶

    inst_add_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_add_r_r_r ¶

    inst_add_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_add_s_f_f_f ¶

    inst_add_s_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_addi_r_r_i16 ¶

    inst_addi_r_r_i16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_addiu_r_r_i16 ¶

    inst_addiu_r_r_i16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_addq_ph_r_r_r ¶

    inst_addq_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addq_s_ph_r_r_r ¶

    inst_addq_s_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addq_s_w_r_r_r ¶

    inst_addq_s_w_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_adds_s_b_w_w_w ¶

    inst_adds_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_s_d_w_w_w ¶

    inst_adds_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_s_h_w_w_w ¶

    inst_adds_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_s_w_w_w_w ¶

    inst_adds_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_u_b_w_w_w ¶

    inst_adds_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_u_d_w_w_w ¶

    inst_adds_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_u_h_w_w_w ¶

    inst_adds_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_adds_u_w_w_w_w ¶

    inst_adds_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_addsc_r_r_r ¶

    inst_addsc_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addu_ph_r_r_r ¶

    inst_addu_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addu_qb_r_r_r ¶

    inst_addu_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addu_r_r_r ¶

    inst_addu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addu_s_ph_r_r_r ¶

    inst_addu_s_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addu_s_qb_r_r_r ¶

    inst_addu_s_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_addv_b_w_w_w ¶

    inst_addv_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_addv_d_w_w_w ¶

    inst_addv_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_addv_h_w_w_w ¶

    inst_addv_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_addv_w_w_w_w ¶

    inst_addv_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_addwc_r_r_r ¶

    inst_addwc_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_align_r_r_r_i5 ¶

    inst_align_r_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, src2: GPR, imm: i64) -> Instruction {…}

    inst_aluipc_r_i16 ¶

    inst_aluipc_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_and_r_r_r ¶

    inst_and_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_and_v_w_w_w ¶

    inst_and_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_andi_b_w_w_i5 ¶

    inst_andi_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_andi_r_r_u16 ¶

    inst_andi_r_r_u16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_aui_r_r_u16 ¶

    inst_aui_r_r_u16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_auipc_r_i16 ¶

    inst_auipc_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_avsz3_none ¶

    inst_avsz3_none :: proc "contextless" () -> Instruction {…}

    inst_avsz4_none ¶

    inst_avsz4_none :: proc "contextless" () -> Instruction {…}

    inst_balc_rel26 ¶

    inst_balc_rel26 :: proc "contextless" (target: u32) -> Instruction {…}

    inst_bc1eqz_f_rel ¶

    inst_bc1eqz_f_rel :: proc "contextless" (dst: FPR, target: u32) -> Instruction {…}

    inst_bc1f_cc_rel ¶

    inst_bc1f_cc_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bc1fl_cc_rel ¶

    inst_bc1fl_cc_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bc1nez_f_rel ¶

    inst_bc1nez_f_rel :: proc "contextless" (dst: FPR, target: u32) -> Instruction {…}

    inst_bc1t_cc_rel ¶

    inst_bc1t_cc_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bc1tl_cc_rel ¶

    inst_bc1tl_cc_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bc2eqz_c2_rel ¶

    inst_bc2eqz_c2_rel :: proc "contextless" (dst: GTE_DataReg, target: u32) -> Instruction {…}

    inst_bc2nez_c2_rel ¶

    inst_bc2nez_c2_rel :: proc "contextless" (dst: GTE_DataReg, target: u32) -> Instruction {…}

    inst_bc_rel26 ¶

    inst_bc_rel26 :: proc "contextless" (target: u32) -> Instruction {…}

    inst_beq_r_r_rel ¶

    inst_beq_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_beqc_r_r_rel ¶

    inst_beqc_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_beql_r_r_rel ¶

    inst_beql_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_beqzc_r_rel21 ¶

    inst_beqzc_r_rel21 :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgec_r_r_rel ¶

    inst_bgec_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bgeuc_r_r_rel ¶

    inst_bgeuc_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bgez_r_rel ¶

    inst_bgez_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgezal_r_rel ¶

    inst_bgezal_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgezall_r_rel ¶

    inst_bgezall_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgezc_r_rel ¶

    inst_bgezc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgezl_r_rel ¶

    inst_bgezl_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgtz_r_rel ¶

    inst_bgtz_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgtzc_r_rel ¶

    inst_bgtzc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bgtzl_r_rel ¶

    inst_bgtzl_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bitrev_r_r ¶

    inst_bitrev_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_bitswap_r_r ¶

    inst_bitswap_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_blez_r_rel ¶

    inst_blez_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_blezc_r_rel ¶

    inst_blezc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_blezl_r_rel ¶

    inst_blezl_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bltc_r_r_rel ¶

    inst_bltc_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bltuc_r_r_rel ¶

    inst_bltuc_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bltz_r_rel ¶

    inst_bltz_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bltzal_r_rel ¶

    inst_bltzal_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bltzall_r_rel ¶

    inst_bltzall_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bltzc_r_rel ¶

    inst_bltzc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bltzl_r_rel ¶

    inst_bltzl_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bmnz_v_w_w_w ¶

    inst_bmnz_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_bmnzi_b_w_w_i5 ¶

    inst_bmnzi_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_bmz_v_w_w_w ¶

    inst_bmz_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_bmzi_b_w_w_i5 ¶

    inst_bmzi_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_bne_r_r_rel ¶

    inst_bne_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bnec_r_r_rel ¶

    inst_bnec_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bnel_r_r_rel ¶

    inst_bnel_r_r_rel :: proc "contextless" (dst: GPR, src: GPR, target: u32) -> Instruction {…}

    inst_bnezc_r_rel21 ¶

    inst_bnezc_r_rel21 :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_bnz_b_w_rel ¶

    inst_bnz_b_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bnz_d_w_rel ¶

    inst_bnz_d_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bnz_h_w_rel ¶

    inst_bnz_h_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bnz_v_w_rel ¶

    inst_bnz_v_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bnz_w_w_rel ¶

    inst_bnz_w_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bposge32_rel ¶

    inst_bposge32_rel :: proc "contextless" (target: u32) -> Instruction {…}

    inst_branch1 ¶

    inst_branch1 :: proc "contextless" (m: Mnemonic, rs: Register, label_id: u32) -> Instruction {…}
     

    One-reg branch + label (BLTZ/BGEZ/BLEZ/BGTZ/BLTZAL/BGEZAL/...).

    inst_branch2 ¶

    inst_branch2 :: proc "contextless" (m: Mnemonic, rs, rt: Register, label_id: u32) -> Instruction {…}
     

    Two-reg branch + label (BEQ/BNE: rs, rt, target).

    inst_break_i20 ¶

    inst_break_i20 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_bsel_v_w_w_w ¶

    inst_bsel_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_bseli_b_w_w_i5 ¶

    inst_bseli_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_bvf_i5_rel ¶

    inst_bvf_i5_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bvfl_i5_rel ¶

    inst_bvfl_i5_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bvt_i5_rel ¶

    inst_bvt_i5_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bvtl_i5_rel ¶

    inst_bvtl_i5_rel :: proc "contextless" (imm: i64, target: u32) -> Instruction {…}

    inst_bz_b_w_rel ¶

    inst_bz_b_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bz_d_w_rel ¶

    inst_bz_d_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bz_h_w_rel ¶

    inst_bz_h_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bz_v_w_rel ¶

    inst_bz_v_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_bz_w_w_rel ¶

    inst_bz_w_w_rel :: proc "contextless" (dst: Register, target: u32) -> Instruction {…}

    inst_c_eq_d_f_f_cc ¶

    inst_c_eq_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_eq_ps_f_f_cc ¶

    inst_c_eq_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_eq_s_f_f_cc ¶

    inst_c_eq_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_f_d_f_f_cc ¶

    inst_c_f_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_f_ps_f_f_cc ¶

    inst_c_f_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_f_s_f_f_cc ¶

    inst_c_f_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_le_d_f_f_cc ¶

    inst_c_le_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_le_ps_f_f_cc ¶

    inst_c_le_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_le_s_f_f_cc ¶

    inst_c_le_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_lt_d_f_f_cc ¶

    inst_c_lt_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_lt_ps_f_f_cc ¶

    inst_c_lt_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_lt_s_f_f_cc ¶

    inst_c_lt_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_nge_d_f_f_cc ¶

    inst_c_nge_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_nge_ps_f_f_cc ¶

    inst_c_nge_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_nge_s_f_f_cc ¶

    inst_c_nge_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngl_d_f_f_cc ¶

    inst_c_ngl_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngl_ps_f_f_cc ¶

    inst_c_ngl_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngl_s_f_f_cc ¶

    inst_c_ngl_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngle_d_f_f_cc ¶

    inst_c_ngle_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngle_ps_f_f_cc ¶

    inst_c_ngle_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngle_s_f_f_cc ¶

    inst_c_ngle_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngt_d_f_f_cc ¶

    inst_c_ngt_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngt_ps_f_f_cc ¶

    inst_c_ngt_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ngt_s_f_f_cc ¶

    inst_c_ngt_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ole_d_f_f_cc ¶

    inst_c_ole_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ole_ps_f_f_cc ¶

    inst_c_ole_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ole_s_f_f_cc ¶

    inst_c_ole_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_olt_d_f_f_cc ¶

    inst_c_olt_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_olt_ps_f_f_cc ¶

    inst_c_olt_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_olt_s_f_f_cc ¶

    inst_c_olt_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_seq_d_f_f_cc ¶

    inst_c_seq_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_seq_ps_f_f_cc ¶

    inst_c_seq_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_seq_s_f_f_cc ¶

    inst_c_seq_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_sf_d_f_f_cc ¶

    inst_c_sf_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_sf_ps_f_f_cc ¶

    inst_c_sf_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_sf_s_f_f_cc ¶

    inst_c_sf_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ueq_d_f_f_cc ¶

    inst_c_ueq_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ueq_ps_f_f_cc ¶

    inst_c_ueq_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ueq_s_f_f_cc ¶

    inst_c_ueq_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ule_d_f_f_cc ¶

    inst_c_ule_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ule_ps_f_f_cc ¶

    inst_c_ule_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ule_s_f_f_cc ¶

    inst_c_ule_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ult_d_f_f_cc ¶

    inst_c_ult_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ult_ps_f_f_cc ¶

    inst_c_ult_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_ult_s_f_f_cc ¶

    inst_c_ult_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_un_d_f_f_cc ¶

    inst_c_un_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_un_ps_f_f_cc ¶

    inst_c_un_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_c_un_s_f_f_cc ¶

    inst_c_un_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_cache_i5_m ¶

    inst_cache_i5_m :: proc "contextless" (imm: i64, mem: Memory) -> Instruction {…}

    inst_cc_none ¶

    inst_cc_none :: proc "contextless" () -> Instruction {…}

    inst_cdp_none ¶

    inst_cdp_none :: proc "contextless" () -> Instruction {…}

    inst_ceil_l_d_f_f ¶

    inst_ceil_l_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_ceil_l_s_f_f ¶

    inst_ceil_l_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_ceil_w_d_f_f ¶

    inst_ceil_w_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_ceil_w_s_f_f ¶

    inst_ceil_w_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_ceq_b_w_w_w ¶

    inst_ceq_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_ceq_d_w_w_w ¶

    inst_ceq_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_ceq_h_w_w_w ¶

    inst_ceq_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_ceq_w_w_w_w ¶

    inst_ceq_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cfc1_r_fcr ¶

    inst_cfc1_r_fcr :: proc "contextless" (dst: GPR, src: Register) -> Instruction {…}

    inst_cfc2_r_c2c ¶

    inst_cfc2_r_c2c :: proc "contextless" (dst: GPR, src: GTE_CtrlReg) -> Instruction {…}

    inst_cle_s_b_w_w_w ¶

    inst_cle_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_s_d_w_w_w ¶

    inst_cle_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_s_h_w_w_w ¶

    inst_cle_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_s_w_w_w_w ¶

    inst_cle_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_u_b_w_w_w ¶

    inst_cle_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_u_d_w_w_w ¶

    inst_cle_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_u_h_w_w_w ¶

    inst_cle_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_cle_u_w_w_w_w ¶

    inst_cle_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clo_r_r ¶

    inst_clo_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_clt_s_b_w_w_w ¶

    inst_clt_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_s_d_w_w_w ¶

    inst_clt_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_s_h_w_w_w ¶

    inst_clt_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_s_w_w_w_w ¶

    inst_clt_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_u_b_w_w_w ¶

    inst_clt_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_u_d_w_w_w ¶

    inst_clt_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_u_h_w_w_w ¶

    inst_clt_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clt_u_w_w_w_w ¶

    inst_clt_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_clz_r_r ¶

    inst_clz_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_cmp_eq_ph_r_r ¶

    inst_cmp_eq_ph_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_cmp_le_ph_r_r ¶

    inst_cmp_le_ph_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_cmp_lt_ph_r_r ¶

    inst_cmp_lt_ph_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_cmpgu_eq_qb_r_r_r ¶

    inst_cmpgu_eq_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_cmpgu_le_qb_r_r_r ¶

    inst_cmpgu_le_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_cmpgu_lt_qb_r_r_r ¶

    inst_cmpgu_lt_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_cmpu_eq_qb_r_r ¶

    inst_cmpu_eq_qb_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_cmpu_le_qb_r_r ¶

    inst_cmpu_le_qb_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_cmpu_lt_qb_r_r ¶

    inst_cmpu_lt_qb_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_copy_s_b_r_w_i5 ¶

    inst_copy_s_b_r_w_i5 :: proc "contextless" (dst: GPR, src: Register, imm: i64) -> Instruction {…}

    inst_copy_s_h_r_w_i5 ¶

    inst_copy_s_h_r_w_i5 :: proc "contextless" (dst: GPR, src: Register, imm: i64) -> Instruction {…}

    inst_copy_s_w_r_w_i5 ¶

    inst_copy_s_w_r_w_i5 :: proc "contextless" (dst: GPR, src: Register, imm: i64) -> Instruction {…}

    inst_copy_u_b_r_w_i5 ¶

    inst_copy_u_b_r_w_i5 :: proc "contextless" (dst: GPR, src: Register, imm: i64) -> Instruction {…}

    inst_copy_u_h_r_w_i5 ¶

    inst_copy_u_h_r_w_i5 :: proc "contextless" (dst: GPR, src: Register, imm: i64) -> Instruction {…}

    inst_copy_u_w_r_w_i5 ¶

    inst_copy_u_w_r_w_i5 :: proc "contextless" (dst: GPR, src: Register, imm: i64) -> Instruction {…}

    inst_cp0_sel ¶

    inst_cp0_sel :: proc "contextless" (m: Mnemonic, rt, rd: Register, sel: u8) -> Instruction {…}
     

    COP0 move with explicit selector: MFC0 $rt, $rd, sel (R2+).

    inst_crc32b_r_r ¶

    inst_crc32b_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32cb_r_r ¶

    inst_crc32cb_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32cd_r_r ¶

    inst_crc32cd_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32ch_r_r ¶

    inst_crc32ch_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32cw_r_r ¶

    inst_crc32cw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32d_r_r ¶

    inst_crc32d_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32h_r_r ¶

    inst_crc32h_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_crc32w_r_r ¶

    inst_crc32w_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_ctc1_r_fcr ¶

    inst_ctc1_r_fcr :: proc "contextless" (dst: GPR, src: Register) -> Instruction {…}

    inst_ctc2_r_c2c ¶

    inst_ctc2_r_c2c :: proc "contextless" (dst: GPR, src: GTE_CtrlReg) -> Instruction {…}

    inst_cvt_d_l_f_f ¶

    inst_cvt_d_l_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_d_s_f_f ¶

    inst_cvt_d_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_d_w_f_f ¶

    inst_cvt_d_w_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_l_d_f_f ¶

    inst_cvt_l_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_l_s_f_f ¶

    inst_cvt_l_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_ps_s_f_f_f ¶

    inst_cvt_ps_s_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_cvt_s_d_f_f ¶

    inst_cvt_s_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_s_l_f_f ¶

    inst_cvt_s_l_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_s_pl_f_f ¶

    inst_cvt_s_pl_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_s_pu_f_f ¶

    inst_cvt_s_pu_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_s_w_f_f ¶

    inst_cvt_s_w_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_w_d_f_f ¶

    inst_cvt_w_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_cvt_w_s_f_f ¶

    inst_cvt_w_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_dadd_r_r_r ¶

    inst_dadd_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_daddi_r_r_i16 ¶

    inst_daddi_r_r_i16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_daddiu_r_r_i16 ¶

    inst_daddiu_r_r_i16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_daddu_r_r_r ¶

    inst_daddu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dahi_r_u16 ¶

    inst_dahi_r_u16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_dalign_r_r_r_i5 ¶

    inst_dalign_r_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, src2: GPR, imm: i64) -> Instruction {…}

    inst_dati_r_u16 ¶

    inst_dati_r_u16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_daui_r_r_u16 ¶

    inst_daui_r_r_u16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dbitswap_r_r ¶

    inst_dbitswap_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dclo_r_r ¶

    inst_dclo_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dclz_r_r ¶

    inst_dclz_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dcpl_none ¶

    inst_dcpl_none :: proc "contextless" () -> Instruction {…}

    inst_ddiv_r6_r_r_r ¶

    inst_ddiv_r6_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ddiv_r_r ¶

    inst_ddiv_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_ddivu_r6_r_r_r ¶

    inst_ddivu_r6_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ddivu_r_r ¶

    inst_ddivu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_deret_none ¶

    inst_deret_none :: proc "contextless" () -> Instruction {…}

    inst_dext_r_r_i5_i5 ¶

    inst_dext_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_dextm_r_r_i5_i5 ¶

    inst_dextm_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_dextu_r_r_i5_i5 ¶

    inst_dextu_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_di_r ¶

    inst_di_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_dins_r_r_i5_i5 ¶

    inst_dins_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_dinsm_r_r_i5_i5 ¶

    inst_dinsm_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_dinsu_r_r_i5_i5 ¶

    inst_dinsu_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_div1_r_r ¶

    inst_div1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_div_d_f_f_f ¶

    inst_div_d_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_div_r_r ¶

    inst_div_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_div_s_b_w_w_w ¶

    inst_div_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_s_d_w_w_w ¶

    inst_div_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_s_f_f_f ¶

    inst_div_s_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_div_s_h_w_w_w ¶

    inst_div_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_s_w_w_w_w ¶

    inst_div_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_u_b_w_w_w ¶

    inst_div_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_u_d_w_w_w ¶

    inst_div_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_u_h_w_w_w ¶

    inst_div_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_div_u_w_w_w_w ¶

    inst_div_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_divu1_r_r ¶

    inst_divu1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_divu_r_r ¶

    inst_divu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dlsa_r_r_r_i5 ¶

    inst_dlsa_r_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, src2: GPR, imm: i64) -> Instruction {…}

    inst_dmfc0_r_c0_sel ¶

    inst_dmfc0_r_c0_sel :: proc "contextless" (dst: GPR, src: CP0_Reg, imm: i64) -> Instruction {…}

    inst_dmfc1_r_f ¶

    inst_dmfc1_r_f :: proc "contextless" (dst: GPR, src: FPR) -> Instruction {…}

    inst_dmod_r_r_r ¶

    inst_dmod_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dmodu_r_r_r ¶

    inst_dmodu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dmtc0_r_c0_sel ¶

    inst_dmtc0_r_c0_sel :: proc "contextless" (dst: GPR, src: CP0_Reg, imm: i64) -> Instruction {…}

    inst_dmtc1_r_f ¶

    inst_dmtc1_r_f :: proc "contextless" (dst: GPR, src: FPR) -> Instruction {…}

    inst_dmuh_r_r_r ¶

    inst_dmuh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dmuhu_r_r_r ¶

    inst_dmuhu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dmul_r6_r_r_r ¶

    inst_dmul_r6_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dmult_r_r ¶

    inst_dmult_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dmultu_r_r ¶

    inst_dmultu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dmulu_r_r_r ¶

    inst_dmulu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dotp_s_d_w_w_w ¶

    inst_dotp_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_dotp_s_h_w_w_w ¶

    inst_dotp_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_dotp_s_w_w_w_w ¶

    inst_dotp_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_dotp_u_d_w_w_w ¶

    inst_dotp_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_dotp_u_h_w_w_w ¶

    inst_dotp_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_dotp_u_w_w_w_w ¶

    inst_dotp_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_dpa_w_ph_i5_r_r ¶

    inst_dpa_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpaq_s_w_ph_i5_r_r ¶

    inst_dpaq_s_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpaq_sa_l_w_i5_r_r ¶

    inst_dpaq_sa_l_w_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpau_h_qbl_i5_r_r ¶

    inst_dpau_h_qbl_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpau_h_qbr_i5_r_r ¶

    inst_dpau_h_qbr_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpax_w_ph_i5_r_r ¶

    inst_dpax_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpcs_none ¶

    inst_dpcs_none :: proc "contextless" () -> Instruction {…}

    inst_dpct_none ¶

    inst_dpct_none :: proc "contextless" () -> Instruction {…}

    inst_dps_w_ph_i5_r_r ¶

    inst_dps_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpsq_s_w_ph_i5_r_r ¶

    inst_dpsq_s_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpsq_sa_l_w_i5_r_r ¶

    inst_dpsq_sa_l_w_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpsu_h_qbl_i5_r_r ¶

    inst_dpsu_h_qbl_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpsu_h_qbr_i5_r_r ¶

    inst_dpsu_h_qbr_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_dpsx_w_ph_i5_r_r ¶

    inst_dpsx_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_drotr32_r_r_i5 ¶

    inst_drotr32_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_drotr_r_r_i5 ¶

    inst_drotr_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_drotrv_r_r_r ¶

    inst_drotrv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dsbh_r_r ¶

    inst_dsbh_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dshd_r_r ¶

    inst_dshd_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_dsll32_r_r_i5 ¶

    inst_dsll32_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dsll_r_r_i5 ¶

    inst_dsll_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dsllv_r_r_r ¶

    inst_dsllv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dsra32_r_r_i5 ¶

    inst_dsra32_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dsra_r_r_i5 ¶

    inst_dsra_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dsrav_r_r_r ¶

    inst_dsrav_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dsrl32_r_r_i5 ¶

    inst_dsrl32_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dsrl_r_r_i5 ¶

    inst_dsrl_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_dsrlv_r_r_r ¶

    inst_dsrlv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dsub_r_r_r ¶

    inst_dsub_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_dsubu_r_r_r ¶

    inst_dsubu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ehb_none ¶

    inst_ehb_none :: proc "contextless" () -> Instruction {…}

    inst_ei_r ¶

    inst_ei_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_eret_none ¶

    inst_eret_none :: proc "contextless" () -> Instruction {…}

    inst_ext_r_r_i5_i5 ¶

    inst_ext_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extp_r_i5_i5 ¶

    inst_extp_r_i5_i5 :: proc "contextless" (dst: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extpdp_r_i5_i5 ¶

    inst_extpdp_r_i5_i5 :: proc "contextless" (dst: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extpdpv_r_i5_r ¶

    inst_extpdpv_r_i5_r :: proc "contextless" (dst: GPR, imm: i64, src: GPR) -> Instruction {…}

    inst_extpv_r_i5_r ¶

    inst_extpv_r_i5_r :: proc "contextless" (dst: GPR, imm: i64, src: GPR) -> Instruction {…}

    inst_extr_r_w_r_i5_i5 ¶

    inst_extr_r_w_r_i5_i5 :: proc "contextless" (dst: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extr_rs_w_r_i5_i5 ¶

    inst_extr_rs_w_r_i5_i5 :: proc "contextless" (dst: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extr_s_h_r_i5_i5 ¶

    inst_extr_s_h_r_i5_i5 :: proc "contextless" (dst: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extr_w_r_i5_i5 ¶

    inst_extr_w_r_i5_i5 :: proc "contextless" (dst: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_extrv_r_w_r_i5_r ¶

    inst_extrv_r_w_r_i5_r :: proc "contextless" (dst: GPR, imm: i64, src: GPR) -> Instruction {…}

    inst_extrv_rs_w_r_i5_r ¶

    inst_extrv_rs_w_r_i5_r :: proc "contextless" (dst: GPR, imm: i64, src: GPR) -> Instruction {…}

    inst_extrv_s_h_r_i5_r ¶

    inst_extrv_s_h_r_i5_r :: proc "contextless" (dst: GPR, imm: i64, src: GPR) -> Instruction {…}

    inst_extrv_w_r_i5_r ¶

    inst_extrv_w_r_i5_r :: proc "contextless" (dst: GPR, imm: i64, src: GPR) -> Instruction {…}

    inst_fadd_d_w_w_w ¶

    inst_fadd_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fadd_w_w_w_w ¶

    inst_fadd_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fceq_d_w_w_w ¶

    inst_fceq_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fceq_w_w_w_w ¶

    inst_fceq_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fcle_d_w_w_w ¶

    inst_fcle_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fcle_w_w_w_w ¶

    inst_fcle_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fclt_d_w_w_w ¶

    inst_fclt_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fclt_w_w_w_w ¶

    inst_fclt_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fcne_d_w_w_w ¶

    inst_fcne_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fcne_w_w_w_w ¶

    inst_fcne_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fcvt_d_w_f_f ¶

    inst_fcvt_d_w_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_fcvt_s_d_f_f ¶

    inst_fcvt_s_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_fcvt_s_w_f_f ¶

    inst_fcvt_s_w_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_fdiv_d_w_w_w ¶

    inst_fdiv_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fdiv_w_w_w_w ¶

    inst_fdiv_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_ffint_s_d_w_w ¶

    inst_ffint_s_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_ffint_s_w_w_w ¶

    inst_ffint_s_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_ffint_u_d_w_w ¶

    inst_ffint_u_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_ffint_u_w_w_w ¶

    inst_ffint_u_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_floor_l_d_f_f ¶

    inst_floor_l_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_floor_l_s_f_f ¶

    inst_floor_l_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_floor_w_d_f_f ¶

    inst_floor_w_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_floor_w_s_f_f ¶

    inst_floor_w_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_fmax_d_w_w_w ¶

    inst_fmax_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fmax_w_w_w_w ¶

    inst_fmax_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fmin_d_w_w_w ¶

    inst_fmin_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fmin_w_w_w_w ¶

    inst_fmin_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fmul_d_w_w_w ¶

    inst_fmul_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fmul_w_w_w_w ¶

    inst_fmul_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_frcp_d_w_w ¶

    inst_frcp_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_frcp_w_w_w ¶

    inst_frcp_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_frint_d_w_w ¶

    inst_frint_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_frint_w_w_w ¶

    inst_frint_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_frsqrt_d_w_w ¶

    inst_frsqrt_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_frsqrt_w_w_w ¶

    inst_frsqrt_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_fsqrt_d_w_w ¶

    inst_fsqrt_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_fsqrt_w_w_w ¶

    inst_fsqrt_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_fsub_d_w_w_w ¶

    inst_fsub_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_fsub_w_w_w_w ¶

    inst_fsub_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_ftrunc_s_d_w_w ¶

    inst_ftrunc_s_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_ftrunc_s_w_w_w ¶

    inst_ftrunc_s_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_ftrunc_u_d_w_w ¶

    inst_ftrunc_u_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_ftrunc_u_w_w_w ¶

    inst_ftrunc_u_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_gpf_none ¶

    inst_gpf_none :: proc "contextless" () -> Instruction {…}

    inst_gpl_none ¶

    inst_gpl_none :: proc "contextless" () -> Instruction {…}

    inst_i ¶

    inst_i :: proc "contextless" (m: Mnemonic, imm: i64) -> Instruction {…}
     

    Single-operand: JR $rs, JALR $rd (with implicit RA), MFHI/MFLO/MTHI/MTLO, SYSCALL/BREAK take an imm code so they use inst_i below.

    inst_ins_r_r_i5_i5 ¶

    inst_ins_r_r_i5_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64, imm2: i64) -> Instruction {…}

    inst_insert_b_w_r_i5 ¶

    inst_insert_b_w_r_i5 :: proc "contextless" (dst: Register, src: GPR, imm: i64) -> Instruction {…}

    inst_insert_d_w_r_i5 ¶

    inst_insert_d_w_r_i5 :: proc "contextless" (dst: Register, src: GPR, imm: i64) -> Instruction {…}

    inst_insert_h_w_r_i5 ¶

    inst_insert_h_w_r_i5 :: proc "contextless" (dst: Register, src: GPR, imm: i64) -> Instruction {…}

    inst_insert_w_w_r_i5 ¶

    inst_insert_w_w_r_i5 :: proc "contextless" (dst: Register, src: GPR, imm: i64) -> Instruction {…}

    inst_insv_r_r ¶

    inst_insv_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_insve_b_w_w_i5 ¶

    inst_insve_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_insve_d_w_w_i5 ¶

    inst_insve_d_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_insve_h_w_w_i5 ¶

    inst_insve_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_insve_w_w_w_i5 ¶

    inst_insve_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_intpl_none ¶

    inst_intpl_none :: proc "contextless" () -> Instruction {…}

    inst_j_j ¶

    inst_j_j :: proc "contextless" (target: u32) -> Instruction {…}

    inst_jal_j ¶

    inst_jal_j :: proc "contextless" (target: u32) -> Instruction {…}

    inst_jalr_r_r ¶

    inst_jalr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_jialc_r_i16 ¶

    inst_jialc_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_jic_r_i16 ¶

    inst_jic_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_jr_r ¶

    inst_jr_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_jump ¶

    inst_jump :: proc "contextless" (m: Mnemonic, label_id: u32) -> Instruction {…}
     

    J-type jump (J/JAL: target only).

    inst_lb_r_m ¶

    inst_lb_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lbu_r_m ¶

    inst_lbu_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lbux_r_r_r ¶

    inst_lbux_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ld_b_w_m ¶

    inst_ld_b_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_ld_d_w_m ¶

    inst_ld_d_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_ld_h_w_m ¶

    inst_ld_h_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_ld_r_m ¶

    inst_ld_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_ld_w_w_m ¶

    inst_ld_w_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_ldc1_f_m ¶

    inst_ldc1_f_m :: proc "contextless" (dst: FPR, mem: Memory) -> Instruction {…}

    inst_ldc2_c2_m ¶

    inst_ldc2_c2_m :: proc "contextless" (dst: GTE_DataReg, mem: Memory) -> Instruction {…}

    inst_ldi_b_w_i5 ¶

    inst_ldi_b_w_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_ldi_d_w_i5 ¶

    inst_ldi_d_w_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_ldi_h_w_i5 ¶

    inst_ldi_h_w_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_ldi_w_w_i5 ¶

    inst_ldi_w_w_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_ldl_r_m ¶

    inst_ldl_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_ldpc_r_rel ¶

    inst_ldpc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_ldr_r_m ¶

    inst_ldr_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_ldxc1_f_r_r ¶

    inst_ldxc1_f_r_r :: proc "contextless" (dst: FPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_lh_r_m ¶

    inst_lh_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lhu_r_m ¶

    inst_lhu_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lhx_r_r_r ¶

    inst_lhx_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ll_r_m ¶

    inst_ll_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lld_r_m ¶

    inst_lld_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lq_r_m ¶

    inst_lq_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lqc2_c2_m ¶

    inst_lqc2_c2_m :: proc "contextless" (dst: GTE_DataReg, mem: Memory) -> Instruction {…}

    inst_lsa_r_r_r_i5 ¶

    inst_lsa_r_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, src2: GPR, imm: i64) -> Instruction {…}

    inst_lui_r_u16 ¶

    inst_lui_r_u16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_lv_q_vq_m ¶

    inst_lv_q_vq_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_lv_s_vs_m ¶

    inst_lv_s_vs_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_lvl_q_vq_m ¶

    inst_lvl_q_vq_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_lvr_q_vq_m ¶

    inst_lvr_q_vq_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_lw_r_m ¶

    inst_lw_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lwc1_f_m ¶

    inst_lwc1_f_m :: proc "contextless" (dst: FPR, mem: Memory) -> Instruction {…}

    inst_lwc2_c2_m ¶

    inst_lwc2_c2_m :: proc "contextless" (dst: GTE_DataReg, mem: Memory) -> Instruction {…}

    inst_lwl_r_m ¶

    inst_lwl_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lwpc_r_rel ¶

    inst_lwpc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_lwr_r_m ¶

    inst_lwr_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lwu_r_m ¶

    inst_lwu_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_lwupc_r_rel ¶

    inst_lwupc_r_rel :: proc "contextless" (dst: GPR, target: u32) -> Instruction {…}

    inst_lwx_r_r_r ¶

    inst_lwx_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_lwxc1_f_r_r ¶

    inst_lwxc1_f_r_r :: proc "contextless" (dst: FPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_madd1_r_r ¶

    inst_madd1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_madd_d_f_f_f_f ¶

    inst_madd_d_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_madd_ee_r_r_r ¶

    inst_madd_ee_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_madd_ps_f_f_f_f ¶

    inst_madd_ps_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_madd_r_r ¶

    inst_madd_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_madd_s_f_f_f_f ¶

    inst_madd_s_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_maddu1_r_r ¶

    inst_maddu1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_maddu_ee_r_r_r ¶

    inst_maddu_ee_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_maddu_r_r ¶

    inst_maddu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_maddv_b_w_w_w ¶

    inst_maddv_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_maddv_d_w_w_w ¶

    inst_maddv_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_maddv_h_w_w_w ¶

    inst_maddv_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_maddv_w_w_w_w ¶

    inst_maddv_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_maq_s_w_phl_i5_r_r ¶

    inst_maq_s_w_phl_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_maq_s_w_phr_i5_r_r ¶

    inst_maq_s_w_phr_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_maq_sa_w_phl_i5_r_r ¶

    inst_maq_sa_w_phl_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_maq_sa_w_phr_i5_r_r ¶

    inst_maq_sa_w_phr_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_max_s_b_w_w_w ¶

    inst_max_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_s_d_w_w_w ¶

    inst_max_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_s_h_w_w_w ¶

    inst_max_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_s_w_w_w_w ¶

    inst_max_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_u_b_w_w_w ¶

    inst_max_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_u_d_w_w_w ¶

    inst_max_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_u_h_w_w_w ¶

    inst_max_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_max_u_w_w_w_w ¶

    inst_max_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mfc0_r_c0_sel ¶

    inst_mfc0_r_c0_sel :: proc "contextless" (dst: GPR, src: CP0_Reg, imm: i64) -> Instruction {…}

    inst_mfc1_r_f ¶

    inst_mfc1_r_f :: proc "contextless" (dst: GPR, src: FPR) -> Instruction {…}

    inst_mfc2_r_c2 ¶

    inst_mfc2_r_c2 :: proc "contextless" (dst: GPR, src: GTE_DataReg) -> Instruction {…}

    inst_mfhc0_r_c0_sel ¶

    inst_mfhc0_r_c0_sel :: proc "contextless" (dst: GPR, src: CP0_Reg, imm: i64) -> Instruction {…}

    inst_mfhc1_r_f ¶

    inst_mfhc1_r_f :: proc "contextless" (dst: GPR, src: FPR) -> Instruction {…}

    inst_mfhi1_r ¶

    inst_mfhi1_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mfhi_r ¶

    inst_mfhi_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mflo1_r ¶

    inst_mflo1_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mflo_r ¶

    inst_mflo_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mfsa_r ¶

    inst_mfsa_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mfv_r_vs ¶

    inst_mfv_r_vs :: proc "contextless" (dst: GPR, src: Register) -> Instruction {…}

    inst_mfvc_r_i5 ¶

    inst_mfvc_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_min_s_b_w_w_w ¶

    inst_min_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_s_d_w_w_w ¶

    inst_min_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_s_h_w_w_w ¶

    inst_min_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_s_w_w_w_w ¶

    inst_min_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_u_b_w_w_w ¶

    inst_min_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_u_d_w_w_w ¶

    inst_min_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_u_h_w_w_w ¶

    inst_min_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_min_u_w_w_w_w ¶

    inst_min_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_r_r_r ¶

    inst_mod_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mod_s_b_w_w_w ¶

    inst_mod_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_s_d_w_w_w ¶

    inst_mod_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_s_h_w_w_w ¶

    inst_mod_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_s_w_w_w_w ¶

    inst_mod_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_u_b_w_w_w ¶

    inst_mod_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_u_d_w_w_w ¶

    inst_mod_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_u_h_w_w_w ¶

    inst_mod_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mod_u_w_w_w_w ¶

    inst_mod_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_modu_r_r_r ¶

    inst_modu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mov_d_f_f ¶

    inst_mov_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_mov_ps_f_f ¶

    inst_mov_ps_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_mov_s_f_f ¶

    inst_mov_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_movf_d_f_f_cc ¶

    inst_movf_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_movf_ps_f_f_cc ¶

    inst_movf_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_movf_r_r_cc ¶

    inst_movf_r_r_cc :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_movf_s_f_f_cc ¶

    inst_movf_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_movn_d_f_f_r ¶

    inst_movn_d_f_f_r :: proc "contextless" (dst: FPR, src: FPR, src2: GPR) -> Instruction {…}

    inst_movn_ps_f_f_r ¶

    inst_movn_ps_f_f_r :: proc "contextless" (dst: FPR, src: FPR, src2: GPR) -> Instruction {…}

    inst_movn_r_r_r ¶

    inst_movn_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_movn_s_f_f_r ¶

    inst_movn_s_f_f_r :: proc "contextless" (dst: FPR, src: FPR, src2: GPR) -> Instruction {…}

    inst_movt_d_f_f_cc ¶

    inst_movt_d_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_movt_ps_f_f_cc ¶

    inst_movt_ps_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_movt_r_r_cc ¶

    inst_movt_r_r_cc :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_movt_s_f_f_cc ¶

    inst_movt_s_f_f_cc :: proc "contextless" (dst: FPR, src: FPR, imm: i64) -> Instruction {…}

    inst_movz_d_f_f_r ¶

    inst_movz_d_f_f_r :: proc "contextless" (dst: FPR, src: FPR, src2: GPR) -> Instruction {…}

    inst_movz_ps_f_f_r ¶

    inst_movz_ps_f_f_r :: proc "contextless" (dst: FPR, src: FPR, src2: GPR) -> Instruction {…}

    inst_movz_r_r_r ¶

    inst_movz_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_movz_s_f_f_r ¶

    inst_movz_s_f_f_r :: proc "contextless" (dst: FPR, src: FPR, src2: GPR) -> Instruction {…}

    inst_msub1_r_r ¶

    inst_msub1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_msub_d_f_f_f_f ¶

    inst_msub_d_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_msub_ee_r_r_r ¶

    inst_msub_ee_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_msub_ps_f_f_f_f ¶

    inst_msub_ps_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_msub_r_r ¶

    inst_msub_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_msub_s_f_f_f_f ¶

    inst_msub_s_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_msubu1_r_r ¶

    inst_msubu1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_msubu_ee_r_r_r ¶

    inst_msubu_ee_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_msubu_r_r ¶

    inst_msubu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_msubv_b_w_w_w ¶

    inst_msubv_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_msubv_d_w_w_w ¶

    inst_msubv_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_msubv_h_w_w_w ¶

    inst_msubv_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_msubv_w_w_w_w ¶

    inst_msubv_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mtc0_r_c0_sel ¶

    inst_mtc0_r_c0_sel :: proc "contextless" (dst: GPR, src: CP0_Reg, imm: i64) -> Instruction {…}

    inst_mtc1_r_f ¶

    inst_mtc1_r_f :: proc "contextless" (dst: GPR, src: FPR) -> Instruction {…}

    inst_mtc2_r_c2 ¶

    inst_mtc2_r_c2 :: proc "contextless" (dst: GPR, src: GTE_DataReg) -> Instruction {…}

    inst_mthc0_r_c0_sel ¶

    inst_mthc0_r_c0_sel :: proc "contextless" (dst: GPR, src: CP0_Reg, imm: i64) -> Instruction {…}

    inst_mthc1_r_f ¶

    inst_mthc1_r_f :: proc "contextless" (dst: GPR, src: FPR) -> Instruction {…}

    inst_mthi1_r ¶

    inst_mthi1_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mthi_r ¶

    inst_mthi_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mthlip_r_i5 ¶

    inst_mthlip_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_mtlo1_r ¶

    inst_mtlo1_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mtlo_r ¶

    inst_mtlo_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mtsa_r ¶

    inst_mtsa_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_mtsab_r_i16 ¶

    inst_mtsab_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_mtsah_r_i16 ¶

    inst_mtsah_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_mtv_r_vs ¶

    inst_mtv_r_vs :: proc "contextless" (dst: GPR, src: Register) -> Instruction {…}

    inst_mtvc_r_i5 ¶

    inst_mtvc_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_muh_r_r_r ¶

    inst_muh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_muhu_r_r_r ¶

    inst_muhu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mul_d_f_f_f ¶

    inst_mul_d_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_mul_ps_f_f_f ¶

    inst_mul_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_mul_r_r_r ¶

    inst_mul_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mul_s_f_f_f ¶

    inst_mul_s_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_muleq_s_w_phl_r_r_r ¶

    inst_muleq_s_w_phl_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_muleq_s_w_phr_r_r_r ¶

    inst_muleq_s_w_phr_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_muleu_s_ph_qbl_r_r_r ¶

    inst_muleu_s_ph_qbl_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_muleu_s_ph_qbr_r_r_r ¶

    inst_muleu_s_ph_qbr_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mulq_rs_ph_r_r_r ¶

    inst_mulq_rs_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mulq_s_ph_r_r_r ¶

    inst_mulq_s_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mulsaq_s_w_ph_i5_r_r ¶

    inst_mulsaq_s_w_ph_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_mult1_r_r ¶

    inst_mult1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_mult_r_r ¶

    inst_mult_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_multu1_r_r ¶

    inst_multu1_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_multu_r_r ¶

    inst_multu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_mulu_r_r_r ¶

    inst_mulu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_mulv_b_w_w_w ¶

    inst_mulv_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mulv_d_w_w_w ¶

    inst_mulv_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mulv_h_w_w_w ¶

    inst_mulv_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mulv_w_w_w_w ¶

    inst_mulv_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_mvmva_none ¶

    inst_mvmva_none :: proc "contextless" () -> Instruction {…}

    inst_nccs_none ¶

    inst_nccs_none :: proc "contextless" () -> Instruction {…}

    inst_ncct_none ¶

    inst_ncct_none :: proc "contextless" () -> Instruction {…}

    inst_ncds_none ¶

    inst_ncds_none :: proc "contextless" () -> Instruction {…}

    inst_ncdt_none ¶

    inst_ncdt_none :: proc "contextless" () -> Instruction {…}

    inst_nclip_none ¶

    inst_nclip_none :: proc "contextless" () -> Instruction {…}

    inst_ncs_none ¶

    inst_ncs_none :: proc "contextless" () -> Instruction {…}

    inst_nct_none ¶

    inst_nct_none :: proc "contextless" () -> Instruction {…}

    inst_neg_d_f_f ¶

    inst_neg_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_neg_ps_f_f ¶

    inst_neg_ps_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_neg_s_f_f ¶

    inst_neg_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_nloc_b_w_w ¶

    inst_nloc_b_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nloc_d_w_w ¶

    inst_nloc_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nloc_h_w_w ¶

    inst_nloc_h_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nloc_w_w_w ¶

    inst_nloc_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nlzc_b_w_w ¶

    inst_nlzc_b_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nlzc_d_w_w ¶

    inst_nlzc_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nlzc_h_w_w ¶

    inst_nlzc_h_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nlzc_w_w_w ¶

    inst_nlzc_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_nmadd_d_f_f_f_f ¶

    inst_nmadd_d_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_nmadd_ps_f_f_f_f ¶

    inst_nmadd_ps_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_nmadd_s_f_f_f_f ¶

    inst_nmadd_s_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_nmsub_d_f_f_f_f ¶

    inst_nmsub_d_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_nmsub_ps_f_f_f_f ¶

    inst_nmsub_ps_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_nmsub_s_f_f_f_f ¶

    inst_nmsub_s_f_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR, src3: FPR) -> Instruction {…}

    inst_none ¶

    inst_none :: proc "contextless" (m: Mnemonic) -> Instruction {…}

    inst_nop_none ¶

    inst_nop_none :: proc "contextless" () -> Instruction {…}

    inst_nor_r_r_r ¶

    inst_nor_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_nor_v_w_w_w ¶

    inst_nor_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_nori_b_w_w_i5 ¶

    inst_nori_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_op_gte_none ¶

    inst_op_gte_none :: proc "contextless" () -> Instruction {…}

    inst_or_r_r_r ¶

    inst_or_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_or_v_w_w_w ¶

    inst_or_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_ori_b_w_w_i5 ¶

    inst_ori_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_ori_r_r_u16 ¶

    inst_ori_r_r_u16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_pabsh_r_r ¶

    inst_pabsh_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pabsw_r_r ¶

    inst_pabsw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_paddb_r_r_r ¶

    inst_paddb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_paddh_r_r_r ¶

    inst_paddh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_paddsb_r_r_r ¶

    inst_paddsb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_paddsh_r_r_r ¶

    inst_paddsh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_paddsw_r_r_r ¶

    inst_paddsw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_paddub_r_r_r ¶

    inst_paddub_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_padduh_r_r_r ¶

    inst_padduh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_padduw_r_r_r ¶

    inst_padduw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_paddw_r_r_r ¶

    inst_paddw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pand_r_r_r ¶

    inst_pand_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pause_none ¶

    inst_pause_none :: proc "contextless" () -> Instruction {…}

    inst_pceqb_r_r_r ¶

    inst_pceqb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pceqh_r_r_r ¶

    inst_pceqh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pceqw_r_r_r ¶

    inst_pceqw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pcgtb_r_r_r ¶

    inst_pcgtb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pcgth_r_r_r ¶

    inst_pcgth_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pcgtw_r_r_r ¶

    inst_pcgtw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pcnt_b_w_w ¶

    inst_pcnt_b_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_pcnt_d_w_w ¶

    inst_pcnt_d_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_pcnt_h_w_w ¶

    inst_pcnt_h_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_pcnt_w_w_w ¶

    inst_pcnt_w_w_w :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_pcpyh_r_r ¶

    inst_pcpyh_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pcpyld_r_r_r ¶

    inst_pcpyld_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pcpyud_r_r_r ¶

    inst_pcpyud_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pdivbw_r_r ¶

    inst_pdivbw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pdivuw_r_r ¶

    inst_pdivuw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pdivw_r_r ¶

    inst_pdivw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pexch_r_r ¶

    inst_pexch_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pexcw_r_r ¶

    inst_pexcw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pexeh_r_r ¶

    inst_pexeh_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pexew_r_r ¶

    inst_pexew_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pext5_r_r_r ¶

    inst_pext5_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pextlb_r_r_r ¶

    inst_pextlb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pextlh_r_r_r ¶

    inst_pextlh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pextlw_r_r_r ¶

    inst_pextlw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pextub_r_r_r ¶

    inst_pextub_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pextuh_r_r_r ¶

    inst_pextuh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pextuw_r_r_r ¶

    inst_pextuw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_phmadh_r_r_r ¶

    inst_phmadh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_phmsbh_r_r_r ¶

    inst_phmsbh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pick_ph_r_r_r ¶

    inst_pick_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pick_qb_r_r_r ¶

    inst_pick_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pinth_r_r_r ¶

    inst_pinth_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pintoh_r_r_r ¶

    inst_pintoh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pll_ps_f_f_f ¶

    inst_pll_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_plu_ps_f_f_f ¶

    inst_plu_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_plzcw_r_r ¶

    inst_plzcw_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_pmaddh_r_r_r ¶

    inst_pmaddh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmadduw_r_r_r ¶

    inst_pmadduw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmaddw_r_r_r ¶

    inst_pmaddw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmaxh_r_r_r ¶

    inst_pmaxh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmaxw_r_r_r ¶

    inst_pmaxw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmfhi_r ¶

    inst_pmfhi_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmfhl_lh_r ¶

    inst_pmfhl_lh_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmfhl_lw_r ¶

    inst_pmfhl_lw_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmfhl_sh_r ¶

    inst_pmfhl_sh_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmfhl_slw_r ¶

    inst_pmfhl_slw_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmfhl_uw_r ¶

    inst_pmfhl_uw_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmflo_r ¶

    inst_pmflo_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pminh_r_r_r ¶

    inst_pminh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pminw_r_r_r ¶

    inst_pminw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmsubh_r_r_r ¶

    inst_pmsubh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmsubw_r_r_r ¶

    inst_pmsubw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmthi_r ¶

    inst_pmthi_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmthl_lw_r ¶

    inst_pmthl_lw_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmtlo_r ¶

    inst_pmtlo_r :: proc "contextless" (dst: GPR) -> Instruction {…}

    inst_pmulth_r_r_r ¶

    inst_pmulth_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmultuw_r_r_r ¶

    inst_pmultuw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pmultw_r_r_r ¶

    inst_pmultw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pnor_r_r_r ¶

    inst_pnor_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_por_r_r_r ¶

    inst_por_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ppac5_r_r_r ¶

    inst_ppac5_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ppacb_r_r_r ¶

    inst_ppacb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ppach_r_r_r ¶

    inst_ppach_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ppacw_r_r_r ¶

    inst_ppacw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_preceq_w_phl_r_r ¶

    inst_preceq_w_phl_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_preceq_w_phr_r_r ¶

    inst_preceq_w_phr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_precequ_ph_qbl_r_r ¶

    inst_precequ_ph_qbl_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_precequ_ph_qbla_r_r ¶

    inst_precequ_ph_qbla_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_precequ_ph_qbr_r_r ¶

    inst_precequ_ph_qbr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_precequ_ph_qbra_r_r ¶

    inst_precequ_ph_qbra_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_preceu_ph_qbl_r_r ¶

    inst_preceu_ph_qbl_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_preceu_ph_qbla_r_r ¶

    inst_preceu_ph_qbla_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_preceu_ph_qbr_r_r ¶

    inst_preceu_ph_qbr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_preceu_ph_qbra_r_r ¶

    inst_preceu_ph_qbra_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_precrq_ph_w_r_r_r ¶

    inst_precrq_ph_w_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_precrq_qb_ph_r_r_r ¶

    inst_precrq_qb_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_precrq_rs_ph_w_r_r_r ¶

    inst_precrq_rs_ph_w_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_precrqu_s_qb_ph_r_r_r ¶

    inst_precrqu_s_qb_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pref_i5_m ¶

    inst_pref_i5_m :: proc "contextless" (imm: i64, mem: Memory) -> Instruction {…}

    inst_prefx_i5_r_r ¶

    inst_prefx_i5_r_r :: proc "contextless" (imm: i64, dst: GPR, src: GPR) -> Instruction {…}

    inst_prot3w_r_r ¶

    inst_prot3w_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_psllh_r_r_i5 ¶

    inst_psllh_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_psllvw_r_r_r ¶

    inst_psllvw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psllw_r_r_i5 ¶

    inst_psllw_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_psrah_r_r_i5 ¶

    inst_psrah_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_psravw_r_r_r ¶

    inst_psravw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psraw_r_r_i5 ¶

    inst_psraw_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_psrlh_r_r_i5 ¶

    inst_psrlh_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_psrlvw_r_r_r ¶

    inst_psrlvw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psrlw_r_r_i5 ¶

    inst_psrlw_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_psubb_r_r_r ¶

    inst_psubb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubh_r_r_r ¶

    inst_psubh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubsb_r_r_r ¶

    inst_psubsb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubsh_r_r_r ¶

    inst_psubsh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubsw_r_r_r ¶

    inst_psubsw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubub_r_r_r ¶

    inst_psubub_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubuh_r_r_r ¶

    inst_psubuh_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubuw_r_r_r ¶

    inst_psubuw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_psubw_r_r_r ¶

    inst_psubw_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_pul_ps_f_f_f ¶

    inst_pul_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_puu_ps_f_f_f ¶

    inst_puu_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_pxor_r_r_r ¶

    inst_pxor_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_qfsrv_r_r_r ¶

    inst_qfsrv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_r ¶

    inst_r :: proc "contextless" (m: Mnemonic, a: Register) -> Instruction {…}

    inst_r_i ¶

    inst_r_i :: proc "contextless" (m: Mnemonic, rt: Register, imm: i64) -> Instruction {…}
     

    Two-operand immediate (e.g. LUI rt, imm; LI variants).

    inst_r_m ¶

    inst_r_m :: proc "contextless" (m: Mnemonic, r: Register, mm: Memory, size: u8 = 4) -> Instruction {…}
     

    Load/store: reg + memory (LW $rt, disp($rs)).

    inst_r_r ¶

    inst_r_r :: proc "contextless" (m: Mnemonic, dst, src: Register) -> Instruction {…}

    inst_r_r_i ¶

    inst_r_r_i :: proc "contextless" (m: Mnemonic, rt, rs: Register, imm: i64) -> Instruction {…}
     

    MIPS three-operand immediate: $rt, $rs, imm (e.g. ADDI rt, rs, imm).

    inst_r_r_r ¶

    inst_r_r_r :: proc "contextless" (m: Mnemonic, dst, s1, s2: Register) -> Instruction {…}

    inst_rddsp_r_i5 ¶

    inst_rddsp_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_rdhwr_r_r ¶

    inst_rdhwr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_rdpgpr_r_r ¶

    inst_rdpgpr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_recip_d_f_f ¶

    inst_recip_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_recip_s_f_f ¶

    inst_recip_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_repl_ph_r_i5 ¶

    inst_repl_ph_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_repl_qb_r_i5 ¶

    inst_repl_qb_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_replv_ph_r_r ¶

    inst_replv_ph_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_replv_qb_r_r ¶

    inst_replv_qb_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_rotr_r_r_i5 ¶

    inst_rotr_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_rotrv_r_r_r ¶

    inst_rotrv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_round_l_d_f_f ¶

    inst_round_l_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_round_l_s_f_f ¶

    inst_round_l_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_round_w_d_f_f ¶

    inst_round_w_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_round_w_s_f_f ¶

    inst_round_w_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_rsqrt_d_f_f ¶

    inst_rsqrt_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_rsqrt_s_f_f ¶

    inst_rsqrt_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_rtps_none ¶

    inst_rtps_none :: proc "contextless" () -> Instruction {…}

    inst_rtpt_none ¶

    inst_rtpt_none :: proc "contextless" () -> Instruction {…}

    inst_sb_r_m ¶

    inst_sb_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_sc_r_m ¶

    inst_sc_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_scd_r_m ¶

    inst_scd_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_sd_r_m ¶

    inst_sd_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_sdbbp_i20 ¶

    inst_sdbbp_i20 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_sdc1_f_m ¶

    inst_sdc1_f_m :: proc "contextless" (dst: FPR, mem: Memory) -> Instruction {…}

    inst_sdc2_c2_m ¶

    inst_sdc2_c2_m :: proc "contextless" (dst: GTE_DataReg, mem: Memory) -> Instruction {…}

    inst_sdl_r_m ¶

    inst_sdl_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_sdr_r_m ¶

    inst_sdr_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_sdxc1_f_r_r ¶

    inst_sdxc1_f_r_r :: proc "contextless" (dst: FPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_seb_r_r ¶

    inst_seb_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_seh_r_r ¶

    inst_seh_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_seleqz_r_r_r ¶

    inst_seleqz_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_selnez_r_r_r ¶

    inst_selnez_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_sh_r_m ¶

    inst_sh_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_shf_b_w_w_i5 ¶

    inst_shf_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_shf_h_w_w_i5 ¶

    inst_shf_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_shf_w_w_w_i5 ¶

    inst_shf_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_shift ¶

    inst_shift :: proc "contextless" (m: Mnemonic, rd, rt: Register, shamt: u8) -> Instruction {…}
     

    Shift by immediate: $rd, $rt, shamt (SLL/SRL/SRA).

    inst_shilo_i5_i5 ¶

    inst_shilo_i5_i5 :: proc "contextless" (imm: i64, imm2: i64) -> Instruction {…}

    inst_shilov_i5_r ¶

    inst_shilov_i5_r :: proc "contextless" (imm: i64, dst: GPR) -> Instruction {…}

    inst_shll_ph_r_r_i5 ¶

    inst_shll_ph_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shll_qb_r_r_i5 ¶

    inst_shll_qb_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shll_s_ph_r_r_i5 ¶

    inst_shll_s_ph_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shll_s_w_r_r_i5 ¶

    inst_shll_s_w_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shllv_ph_r_r_r ¶

    inst_shllv_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shllv_qb_r_r_r ¶

    inst_shllv_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shllv_s_ph_r_r_r ¶

    inst_shllv_s_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shllv_s_w_r_r_r ¶

    inst_shllv_s_w_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shra_ph_r_r_i5 ¶

    inst_shra_ph_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shra_qb_r_r_i5 ¶

    inst_shra_qb_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shra_r_ph_r_r_i5 ¶

    inst_shra_r_ph_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shra_r_qb_r_r_i5 ¶

    inst_shra_r_qb_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shra_r_w_r_r_i5 ¶

    inst_shra_r_w_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shrav_ph_r_r_r ¶

    inst_shrav_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shrav_qb_r_r_r ¶

    inst_shrav_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shrav_r_ph_r_r_r ¶

    inst_shrav_r_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shrav_r_qb_r_r_r ¶

    inst_shrav_r_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shrav_r_w_r_r_r ¶

    inst_shrav_r_w_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shrl_ph_r_r_i5 ¶

    inst_shrl_ph_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shrl_qb_r_r_i5 ¶

    inst_shrl_qb_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_shrlv_ph_r_r_r ¶

    inst_shrlv_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_shrlv_qb_r_r_r ¶

    inst_shrlv_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_sigrie_u16 ¶

    inst_sigrie_u16 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_sld_b_w_w_r ¶

    inst_sld_b_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_sld_d_w_w_r ¶

    inst_sld_d_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_sld_h_w_w_r ¶

    inst_sld_h_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_sld_w_w_w_r ¶

    inst_sld_w_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_sldi_b_w_w_i5 ¶

    inst_sldi_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_sldi_d_w_w_i5 ¶

    inst_sldi_d_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_sldi_h_w_w_i5 ¶

    inst_sldi_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_sldi_w_w_w_i5 ¶

    inst_sldi_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_sll_b_w_w_w ¶

    inst_sll_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sll_d_w_w_w ¶

    inst_sll_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sll_h_w_w_w ¶

    inst_sll_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sll_r_r_i5 ¶

    inst_sll_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_sll_w_w_w_w ¶

    inst_sll_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_slli_b_w_w_i5 ¶

    inst_slli_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_slli_d_w_w_i5 ¶

    inst_slli_d_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_slli_h_w_w_i5 ¶

    inst_slli_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_slli_w_w_w_i5 ¶

    inst_slli_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_sllv_r_r_r ¶

    inst_sllv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_slt_r_r_r ¶

    inst_slt_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_slti_r_r_i16 ¶

    inst_slti_r_r_i16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_sltiu_r_r_i16 ¶

    inst_sltiu_r_r_i16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_sltu_r_r_r ¶

    inst_sltu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_splat_b_w_w_r ¶

    inst_splat_b_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_splat_d_w_w_r ¶

    inst_splat_d_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_splat_h_w_w_r ¶

    inst_splat_h_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_splat_w_w_w_r ¶

    inst_splat_w_w_w_r :: proc "contextless" (dst: Register, src: Register, src2: GPR) -> Instruction {…}

    inst_splati_b_w_w_i5 ¶

    inst_splati_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_splati_d_w_w_i5 ¶

    inst_splati_d_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_splati_h_w_w_i5 ¶

    inst_splati_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_splati_w_w_w_i5 ¶

    inst_splati_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_sq_r_m ¶

    inst_sq_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_sqc2_c2_m ¶

    inst_sqc2_c2_m :: proc "contextless" (dst: GTE_DataReg, mem: Memory) -> Instruction {…}

    inst_sqr_gte_none ¶

    inst_sqr_gte_none :: proc "contextless" () -> Instruction {…}

    inst_sqrt_d_f_f ¶

    inst_sqrt_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_sqrt_s_f_f ¶

    inst_sqrt_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_sra_b_w_w_w ¶

    inst_sra_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sra_d_w_w_w ¶

    inst_sra_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sra_h_w_w_w ¶

    inst_sra_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sra_r_r_i5 ¶

    inst_sra_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_sra_w_w_w_w ¶

    inst_sra_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_srai_b_w_w_i5 ¶

    inst_srai_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srai_d_w_w_i5 ¶

    inst_srai_d_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srai_h_w_w_i5 ¶

    inst_srai_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srai_w_w_w_i5 ¶

    inst_srai_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srav_r_r_r ¶

    inst_srav_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_srl_b_w_w_w ¶

    inst_srl_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_srl_d_w_w_w ¶

    inst_srl_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_srl_h_w_w_w ¶

    inst_srl_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_srl_r_r_i5 ¶

    inst_srl_r_r_i5 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    inst_srl_w_w_w_w ¶

    inst_srl_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_srli_b_w_w_i5 ¶

    inst_srli_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srli_d_w_w_i5 ¶

    inst_srli_d_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srli_h_w_w_i5 ¶

    inst_srli_h_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srli_w_w_w_i5 ¶

    inst_srli_w_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_srlv_r_r_r ¶

    inst_srlv_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_ssnop_none ¶

    inst_ssnop_none :: proc "contextless" () -> Instruction {…}

    inst_st_b_w_m ¶

    inst_st_b_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_st_d_w_m ¶

    inst_st_d_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_st_h_w_m ¶

    inst_st_h_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_st_w_w_m ¶

    inst_st_w_w_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_sub_d_f_f_f ¶

    inst_sub_d_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_sub_ps_f_f_f ¶

    inst_sub_ps_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_sub_r_r_r ¶

    inst_sub_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_sub_s_f_f_f ¶

    inst_sub_s_f_f_f :: proc "contextless" (dst: FPR, src: FPR, src2: FPR) -> Instruction {…}

    inst_subq_ph_r_r_r ¶

    inst_subq_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subq_s_ph_r_r_r ¶

    inst_subq_s_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subq_s_w_r_r_r ¶

    inst_subq_s_w_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subs_s_b_w_w_w ¶

    inst_subs_s_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_s_d_w_w_w ¶

    inst_subs_s_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_s_h_w_w_w ¶

    inst_subs_s_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_s_w_w_w_w ¶

    inst_subs_s_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_u_b_w_w_w ¶

    inst_subs_u_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_u_d_w_w_w ¶

    inst_subs_u_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_u_h_w_w_w ¶

    inst_subs_u_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subs_u_w_w_w_w ¶

    inst_subs_u_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subu_ph_r_r_r ¶

    inst_subu_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subu_qb_r_r_r ¶

    inst_subu_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subu_r_r_r ¶

    inst_subu_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subu_s_ph_r_r_r ¶

    inst_subu_s_ph_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subu_s_qb_r_r_r ¶

    inst_subu_s_qb_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_subv_b_w_w_w ¶

    inst_subv_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subv_d_w_w_w ¶

    inst_subv_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subv_h_w_w_w ¶

    inst_subv_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_subv_w_w_w_w ¶

    inst_subv_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_sv_q_vq_m ¶

    inst_sv_q_vq_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_sv_s_vs_m ¶

    inst_sv_s_vs_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_svl_q_vq_m ¶

    inst_svl_q_vq_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_svr_q_vq_m ¶

    inst_svr_q_vq_m :: proc "contextless" (dst: Register, mem: Memory) -> Instruction {…}

    inst_sw_r_m ¶

    inst_sw_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_swc1_f_m ¶

    inst_swc1_f_m :: proc "contextless" (dst: FPR, mem: Memory) -> Instruction {…}

    inst_swc2_c2_m ¶

    inst_swc2_c2_m :: proc "contextless" (dst: GTE_DataReg, mem: Memory) -> Instruction {…}

    inst_swl_r_m ¶

    inst_swl_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_swr_r_m ¶

    inst_swr_r_m :: proc "contextless" (dst: GPR, mem: Memory) -> Instruction {…}

    inst_swxc1_f_r_r ¶

    inst_swxc1_f_r_r :: proc "contextless" (dst: FPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_sync_i5 ¶

    inst_sync_i5 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_syscall_i20 ¶

    inst_syscall_i20 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_teq_r_r ¶

    inst_teq_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_teqi_r_i16 ¶

    inst_teqi_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_tge_r_r ¶

    inst_tge_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_tgei_r_i16 ¶

    inst_tgei_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_tgeiu_r_i16 ¶

    inst_tgeiu_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_tgeu_r_r ¶

    inst_tgeu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_tlbp_none ¶

    inst_tlbp_none :: proc "contextless" () -> Instruction {…}

    inst_tlbr_none ¶

    inst_tlbr_none :: proc "contextless" () -> Instruction {…}

    inst_tlbwi_none ¶

    inst_tlbwi_none :: proc "contextless" () -> Instruction {…}

    inst_tlbwr_none ¶

    inst_tlbwr_none :: proc "contextless" () -> Instruction {…}

    inst_tlt_r_r ¶

    inst_tlt_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_tlti_r_i16 ¶

    inst_tlti_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_tltiu_r_i16 ¶

    inst_tltiu_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_tltu_r_r ¶

    inst_tltu_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_tne_r_r ¶

    inst_tne_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_tnei_r_i16 ¶

    inst_tnei_r_i16 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_trunc_l_d_f_f ¶

    inst_trunc_l_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_trunc_l_s_f_f ¶

    inst_trunc_l_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_trunc_w_d_f_f ¶

    inst_trunc_w_d_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_trunc_w_s_f_f ¶

    inst_trunc_w_s_f_f :: proc "contextless" (dst: FPR, src: FPR) -> Instruction {…}

    inst_vabs_p_vp_vp ¶

    inst_vabs_p_vp_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vabs_q_vq_vq ¶

    inst_vabs_q_vq_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vabs_s_vs_vs ¶

    inst_vabs_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vabs_t_vt_vt ¶

    inst_vabs_t_vt_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vadd_p_vp_vp_vp ¶

    inst_vadd_p_vp_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vadd_q_vq_vq_vq ¶

    inst_vadd_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vadd_s_vs_vs_vs ¶

    inst_vadd_s_vs_vs_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vadd_t_vt_vt_vt ¶

    inst_vadd_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vasin_s_vs_vs ¶

    inst_vasin_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vavg_p_vs_vp ¶

    inst_vavg_p_vs_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vavg_q_vs_vq ¶

    inst_vavg_q_vs_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vavg_t_vs_vt ¶

    inst_vavg_t_vs_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vcmp_p_i5_vp_vp ¶

    inst_vcmp_p_i5_vp_vp :: proc "contextless" (imm: i64, dst: Register, src: Register) -> Instruction {…}

    inst_vcmp_q_i5_vq_vq ¶

    inst_vcmp_q_i5_vq_vq :: proc "contextless" (imm: i64, dst: Register, src: Register) -> Instruction {…}

    inst_vcmp_s_i5_vs_vs ¶

    inst_vcmp_s_i5_vs_vs :: proc "contextless" (imm: i64, dst: Register, src: Register) -> Instruction {…}

    inst_vcmp_t_i5_vt_vt ¶

    inst_vcmp_t_i5_vt_vt :: proc "contextless" (imm: i64, dst: Register, src: Register) -> Instruction {…}

    inst_vcos_s_vs_vs ¶

    inst_vcos_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vcrs_t_vt_vt_vt ¶

    inst_vcrs_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vcrsp_t_vt_vt_vt ¶

    inst_vcrsp_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vcst_p_vp_i5 ¶

    inst_vcst_p_vp_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_vcst_q_vq_i5 ¶

    inst_vcst_q_vq_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_vcst_s_vs_i5 ¶

    inst_vcst_s_vs_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_vcst_t_vt_i5 ¶

    inst_vcst_t_vt_i5 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_vdiv_p_vp_vp_vp ¶

    inst_vdiv_p_vp_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vdiv_q_vq_vq_vq ¶

    inst_vdiv_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vdiv_s_vs_vs_vs ¶

    inst_vdiv_s_vs_vs_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vdiv_t_vt_vt_vt ¶

    inst_vdiv_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vdot_p_vs_vp_vp ¶

    inst_vdot_p_vs_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vdot_q_vs_vq_vq ¶

    inst_vdot_q_vs_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vdot_t_vs_vt_vt ¶

    inst_vdot_t_vs_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vexp2_s_vs_vs ¶

    inst_vexp2_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vf2h_p_vs_vp ¶

    inst_vf2h_p_vs_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vf2id_p_vp_vp_i5 ¶

    inst_vf2id_p_vp_vp_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2id_q_vq_vq_i5 ¶

    inst_vf2id_q_vq_vq_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2id_s_vs_vs_i5 ¶

    inst_vf2id_s_vs_vs_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2id_t_vt_vt_i5 ¶

    inst_vf2id_t_vt_vt_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2in_p_vp_vp_i5 ¶

    inst_vf2in_p_vp_vp_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2in_q_vq_vq_i5 ¶

    inst_vf2in_q_vq_vq_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2in_s_vs_vs_i5 ¶

    inst_vf2in_s_vs_vs_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2in_t_vt_vt_i5 ¶

    inst_vf2in_t_vt_vt_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iu_p_vp_vp_i5 ¶

    inst_vf2iu_p_vp_vp_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iu_q_vq_vq_i5 ¶

    inst_vf2iu_q_vq_vq_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iu_s_vs_vs_i5 ¶

    inst_vf2iu_s_vs_vs_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iu_t_vt_vt_i5 ¶

    inst_vf2iu_t_vt_vt_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iz_p_vp_vp_i5 ¶

    inst_vf2iz_p_vp_vp_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iz_q_vq_vq_i5 ¶

    inst_vf2iz_q_vq_vq_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iz_s_vs_vs_i5 ¶

    inst_vf2iz_s_vs_vs_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vf2iz_t_vt_vt_i5 ¶

    inst_vf2iz_t_vt_vt_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vfad_p_vs_vp ¶

    inst_vfad_p_vs_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vfad_q_vs_vq ¶

    inst_vfad_q_vs_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vfad_t_vs_vt ¶

    inst_vfad_t_vs_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vfim_s_vs_i16 ¶

    inst_vfim_s_vs_i16 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_vflush_none ¶

    inst_vflush_none :: proc "contextless" () -> Instruction {…}

    inst_vh2f_s_vp_vs ¶

    inst_vh2f_s_vp_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vhdp_p_vs_vp_vp ¶

    inst_vhdp_p_vs_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vhdp_q_vs_vq_vq ¶

    inst_vhdp_q_vs_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vhdp_t_vs_vt_vt ¶

    inst_vhdp_t_vs_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vhtfm2_p_vp_vmp_vp ¶

    inst_vhtfm2_p_vp_vmp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vhtfm3_t_vt_vmt_vt ¶

    inst_vhtfm3_t_vt_vmt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vhtfm4_q_vq_vmq_vq ¶

    inst_vhtfm4_q_vq_vmq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vi2f_p_vp_vp_i5 ¶

    inst_vi2f_p_vp_vp_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vi2f_q_vq_vq_i5 ¶

    inst_vi2f_q_vq_vq_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vi2f_s_vs_vs_i5 ¶

    inst_vi2f_s_vs_vs_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_vi2f_t_vt_vt_i5 ¶

    inst_vi2f_t_vt_vt_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_viim_s_vs_i16 ¶

    inst_viim_s_vs_i16 :: proc "contextless" (dst: Register, imm: i64) -> Instruction {…}

    inst_vlog2_s_vs_vs ¶

    inst_vlog2_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmax_p_vp_vp_vp ¶

    inst_vmax_p_vp_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmax_q_vq_vq_vq ¶

    inst_vmax_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmax_s_vs_vs_vs ¶

    inst_vmax_s_vs_vs_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmax_t_vt_vt_vt ¶

    inst_vmax_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmidt_p_vmp ¶

    inst_vmidt_p_vmp :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmidt_q_vmq ¶

    inst_vmidt_q_vmq :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmidt_t_vmt ¶

    inst_vmidt_t_vmt :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmin_p_vp_vp_vp ¶

    inst_vmin_p_vp_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmin_q_vq_vq_vq ¶

    inst_vmin_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmin_s_vs_vs_vs ¶

    inst_vmin_s_vs_vs_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmin_t_vt_vt_vt ¶

    inst_vmin_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmmov_p_vmp_vmp ¶

    inst_vmmov_p_vmp_vmp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmmov_q_vmq_vmq ¶

    inst_vmmov_q_vmq_vmq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmmov_t_vmt_vmt ¶

    inst_vmmov_t_vmt_vmt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmmul_p_vmp_vmp_vmp ¶

    inst_vmmul_p_vmp_vmp_vmp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmmul_q_vmq_vmq_vmq ¶

    inst_vmmul_q_vmq_vmq_vmq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmmul_t_vmt_vmt_vmt ¶

    inst_vmmul_t_vmt_vmt_vmt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmone_p_vmp ¶

    inst_vmone_p_vmp :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmone_q_vmq ¶

    inst_vmone_q_vmq :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmone_t_vmt ¶

    inst_vmone_t_vmt :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmov_p_vp_vp ¶

    inst_vmov_p_vp_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmov_q_vq_vq ¶

    inst_vmov_q_vq_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmov_s_vs_vs ¶

    inst_vmov_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmov_t_vt_vt ¶

    inst_vmov_t_vt_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vmscl_p_vmp_vmp_vs ¶

    inst_vmscl_p_vmp_vmp_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmscl_q_vmq_vmq_vs ¶

    inst_vmscl_q_vmq_vmq_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmscl_t_vmt_vmt_vs ¶

    inst_vmscl_t_vmt_vmt_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmul_p_vp_vp_vp ¶

    inst_vmul_p_vp_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmul_q_vq_vq_vq ¶

    inst_vmul_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmul_s_vs_vs_vs ¶

    inst_vmul_s_vs_vs_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmul_t_vt_vt_vt ¶

    inst_vmul_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vmzero_p_vmp ¶

    inst_vmzero_p_vmp :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmzero_q_vmq ¶

    inst_vmzero_q_vmq :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vmzero_t_vmt ¶

    inst_vmzero_t_vmt :: proc "contextless" (dst: Register) -> Instruction {…}

    inst_vneg_p_vp_vp ¶

    inst_vneg_p_vp_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vneg_q_vq_vq ¶

    inst_vneg_q_vq_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vneg_s_vs_vs ¶

    inst_vneg_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vneg_t_vt_vt ¶

    inst_vneg_t_vt_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vnop_none ¶

    inst_vnop_none :: proc "contextless" () -> Instruction {…}

    inst_vnrcp_s_vs_vs ¶

    inst_vnrcp_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vnsin_s_vs_vs ¶

    inst_vnsin_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vpfxd_i20 ¶

    inst_vpfxd_i20 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_vpfxs_i20 ¶

    inst_vpfxs_i20 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_vpfxt_i20 ¶

    inst_vpfxt_i20 :: proc "contextless" (imm: i64) -> Instruction {…}

    inst_vqmul_q_vq_vq_vq ¶

    inst_vqmul_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vrcp_p_vp_vp ¶

    inst_vrcp_p_vp_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrcp_q_vq_vq ¶

    inst_vrcp_q_vq_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrcp_s_vs_vs ¶

    inst_vrcp_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrcp_t_vt_vt ¶

    inst_vrcp_t_vt_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrexp2_s_vs_vs ¶

    inst_vrexp2_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrsq_p_vp_vp ¶

    inst_vrsq_p_vp_vp :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrsq_q_vq_vq ¶

    inst_vrsq_q_vq_vq :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrsq_s_vs_vs ¶

    inst_vrsq_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vrsq_t_vt_vt ¶

    inst_vrsq_t_vt_vt :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vscl_p_vp_vp_vs ¶

    inst_vscl_p_vp_vp_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vscl_q_vq_vq_vs ¶

    inst_vscl_q_vq_vq_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vscl_t_vt_vt_vs ¶

    inst_vscl_t_vt_vt_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vsgn_s_vs_vs ¶

    inst_vsgn_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vshf_b_w_w_w ¶

    inst_vshf_b_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vshf_d_w_w_w ¶

    inst_vshf_d_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vshf_h_w_w_w ¶

    inst_vshf_h_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vshf_w_w_w_w ¶

    inst_vshf_w_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vsin_s_vs_vs ¶

    inst_vsin_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vsqrt_s_vs_vs ¶

    inst_vsqrt_s_vs_vs :: proc "contextless" (dst: Register, src: Register) -> Instruction {…}

    inst_vsub_p_vp_vp_vp ¶

    inst_vsub_p_vp_vp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vsub_q_vq_vq_vq ¶

    inst_vsub_q_vq_vq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vsub_s_vs_vs_vs ¶

    inst_vsub_s_vs_vs_vs :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vsub_t_vt_vt_vt ¶

    inst_vsub_t_vt_vt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vsync_none ¶

    inst_vsync_none :: proc "contextless" () -> Instruction {…}

    inst_vtfm2_p_vp_vmp_vp ¶

    inst_vtfm2_p_vp_vmp_vp :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vtfm3_t_vt_vmt_vt ¶

    inst_vtfm3_t_vt_vmt_vt :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_vtfm4_q_vq_vmq_vq ¶

    inst_vtfm4_q_vq_vmq_vq :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_wait_none ¶

    inst_wait_none :: proc "contextless" () -> Instruction {…}

    inst_wrdsp_r_i5 ¶

    inst_wrdsp_r_i5 :: proc "contextless" (dst: GPR, imm: i64) -> Instruction {…}

    inst_wrpgpr_r_r ¶

    inst_wrpgpr_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_wsbh_r_r ¶

    inst_wsbh_r_r :: proc "contextless" (dst: GPR, src: GPR) -> Instruction {…}

    inst_xor_r_r_r ¶

    inst_xor_r_r_r :: proc "contextless" (dst: GPR, src: GPR, src2: GPR) -> Instruction {…}

    inst_xor_v_w_w_w ¶

    inst_xor_v_w_w_w :: proc "contextless" (dst: Register, src: Register, src2: Register) -> Instruction {…}

    inst_xori_b_w_w_i5 ¶

    inst_xori_b_w_w_i5 :: proc "contextless" (dst: Register, src: Register, imm: i64) -> Instruction {…}

    inst_xori_r_r_u16 ¶

    inst_xori_r_r_u16 :: proc "contextless" (dst: GPR, src: GPR, imm: i64) -> Instruction {…}

    mem ¶

    mem :: proc "contextless" (base: Register, disp: i32) -> Memory {…}

    mem_base ¶

    mem_base :: proc "contextless" (m: Memory) -> Register {…}

    mem_base_disp ¶

    mem_base_disp :: mem

    mem_base_only ¶

    mem_base_only :: proc "contextless" (base: Register) -> Memory {…}

    mem_disp ¶

    mem_disp :: proc "contextless" (m: Memory) -> i32 {…}

    mnemonic_to_string ¶

    mnemonic_to_string :: proc(m: Mnemonic, lowercase: bool = true, allocator := context.temp_allocator) -> string {…}
     

    Canonical mnemonic spelling (lowercase, with _ mapped to .). The few enum names that carry a disambiguator suffix get a hand mapping.

    msa_from_num ¶

    msa_from_num :: proc "contextless" (num: u8) -> Register {…}

    op_cp0 ¶

    op_cp0 :: proc "contextless" (c: CP0_Reg) -> Operand {…}

    op_fpr ¶

    op_fpr :: proc "contextless" (f: FPR) -> Operand {…}

    op_gpr ¶

    op_gpr :: proc "contextless" (g: GPR) -> Operand {…}

    op_gte_ctrl ¶

    op_gte_ctrl :: proc "contextless" (r: GTE_CtrlReg) -> Operand {…}

    op_gte_data ¶

    op_gte_data :: proc "contextless" (r: GTE_DataReg) -> Operand {…}

    op_imm ¶

    op_imm :: proc "contextless" (v: i64, size: u8) -> Operand {…}

    op_label ¶

    op_label :: proc "contextless" (label_id: u32) -> Operand {…}
     

    Branch/jump target operand. label_id indexes a Label_Definition array (resolved by the encoder during pass 2 -- same model as x86).

    op_mem ¶

    op_mem :: proc "contextless" (m: Memory, size: u8) -> Operand {…}

    op_reg ¶

    op_reg :: proc "contextless" (r: Register) -> Operand {…}

    op_reg_sized ¶

    op_reg_sized :: proc "contextless" (r: Register, size: u8) -> Operand {…}

    op_rel_offset ¶

    op_rel_offset :: proc "contextless" (offset: i64) -> Operand {…}
     

    Raw offset (skip label resolution).

    opcode_bits ¶

    opcode_bits :: proc "contextless" (op: u32) -> u32 {…}
     

    Convenience constructor for a 6-bit primary opcode at bits 31-26.

    print ¶

    print :: proc(
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    println ¶

    println :: proc(
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    read_u32 ¶

    read_u32 :: proc "contextless" (code: []u8, offset: u32, endianness: Endianness) -> u32 {…}

    reg_class ¶

    reg_class :: proc "contextless" (r: Register) -> u16 {…}

    reg_hw ¶

    reg_hw :: proc "contextless" (r: Register) -> u8 {…}

    reg_is_fpr ¶

    reg_is_fpr :: proc "contextless" (r: Register) -> bool {…}

    reg_is_gpr ¶

    reg_is_gpr :: proc "contextless" (r: Register) -> bool {…}

    reg_is_msa ¶

    reg_is_msa :: proc "contextless" (r: Register) -> bool {…}

    reg_is_vfpu ¶

    reg_is_vfpu :: proc "contextless" (r: Register) -> bool {…}

    reg_vfpu_hw ¶

    reg_vfpu_hw :: proc "contextless" (r: Register) -> u8 {…}
     

    VFPU hardware-id accessor (7 bits vs the standard reg_hw's 5).

    register_name ¶

    register_name :: proc(r: Register, lowercase: bool = true, allocator := context.temp_allocator) -> string {…}
     

    Canonical register name with leading $.

    sbprint ¶

    sbprint :: proc(
    	sb:           ^strings.Builder, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    sbprintln ¶

    sbprintln :: proc(
    	sb:           ^strings.Builder, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    swap_bytes_u32_inplace ¶

    swap_bytes_u32_inplace :: proc(code: []u8) {…}
     

    In-place 32-bit byte-swap of code. Length must be a multiple of 4. Useful for switching a freshly-encoded buffer from native to wire endian when the consumer wants a single endian-conversion sweep after encoding.

    tprint ¶

    tprint :: proc(
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) -> string {…}

    tprintln ¶

    tprintln :: proc(
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) -> string {…}

    vfpu_from_num ¶

    vfpu_from_num :: proc "contextless" (num: u8) -> Register {…}
     

    VFPU register builder. 7-bit hardware index (0..127); the high bit of the byte (bit 7) is reserved for future use as an orientation flag if needed. Callers requesting a VFPU.s/.p/.t/.q operand bake the format into the mnemonic.

    wprint ¶

    wprint :: proc(
    	w:            io.Stream, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    wprintln ¶

    wprintln :: proc(
    	w:            io.Stream, 
    	instructions: []Instruction, 
    	inst_info:    []Instruction_Info, 
    	label_defs:   []rexcode_isa.Label_Definition, 
    	tokens:       ^[dynamic]rexcode_isa.Token = nil, 
    	options:      ^rexcode_isa.Print_Options = nil, 
    	label_names:  ^map[u32]string = nil, 
    ) {…}

    write_u32 ¶

    write_u32 :: proc "contextless" (code: []u8, offset: u32, word: u32, endianness: Endianness) {…}

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2026-07 (vendor "odin") Windows_amd64 @ 2026-07-20 21:55:33.401587400 +0000 UTC