| 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[rexcode_isa.Label_Offset]string = nil, allocator := context.allocator) -> string |
| 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[rexcode_isa.Label_Offset]string = nil, allocator := context.allocator) -> string |
| 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[rexcode_isa.Label_Offset]string = nil) -> string |
| 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[rexcode_isa.Label_Offset]string = nil) -> string |
| 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 | (data: []u8) -> intTypical-case estimate of the instruction count for data.Typical-case estimate of the instruction count for data.
|
| decode_max_instruction_count | (data: []u8) -> intInstruction-count ceiling for data (RSP instructions are 4 bytes).Instruction-count ceiling for data (RSP instructions are 4 bytes).
|
| 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).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_add | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_add_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_addi | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_addi_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_addiu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_addiu_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_addu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_addu_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_and | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_and_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_andi | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_andi_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_beq | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, label_id: u32) |
| emit_beq_gpr_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, label_id: u32) |
| emit_bgez | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bgez_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bgezal | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bgezal_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bgtz | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bgtz_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_blez | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_blez_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bltz | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bltz_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bltzal | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bltzal_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, label_id: u32) |
| emit_bne | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, label_id: u32) |
| emit_bne_gpr_gpr_rel | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, label_id: u32) |
| emit_break | proc(instructions: ^[dynamic]Instruction, imm: i64) |
| emit_break_imm20 | proc(instructions: ^[dynamic]Instruction, imm: i64) |
| emit_cfc2 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_cfc2_gpr_cp2 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_ctc2 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_ctc2_gpr_cp2 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_j | proc(instructions: ^[dynamic]Instruction, label_id: u32) |
| emit_j_rel | proc(instructions: ^[dynamic]Instruction, label_id: u32) |
| emit_jal | proc(instructions: ^[dynamic]Instruction, label_id: u32) |
| emit_jal_rel | proc(instructions: ^[dynamic]Instruction, label_id: u32) |
| emit_jalr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_jalr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_jr | proc(instructions: ^[dynamic]Instruction, a: Register) |
| emit_jr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register) |
| emit_lb | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lb_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lbu | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lbu_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lbv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lbv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_ldv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_ldv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lfv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lfv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lh | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lh_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lhu | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lhu_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lhv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lhv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_llv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_llv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lpv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lpv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lqv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lqv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lrv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lrv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lsv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lsv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_ltv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_ltv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lui | proc(instructions: ^[dynamic]Instruction, a: Register, imm: i64) |
| emit_lui_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, imm: i64) |
| emit_luv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_luv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lw | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lw_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_lwv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_lwv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_mfc0 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mfc0_gpr_cp0 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mfc2 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mfc2_gpr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mtc0 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mtc0_gpr_cp0 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mtc2 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_mtc2_gpr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register) |
| emit_nop | proc(instructions: ^[dynamic]Instruction) |
| emit_nop_none | proc(instructions: ^[dynamic]Instruction) |
| emit_nor | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_nor_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_or | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_or_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_ori | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_ori_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sb | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_sb_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_sbv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sbv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sdv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sdv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sfv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sfv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sh | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_sh_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_shv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_shv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sll | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sll_gpr_gpr_imm5 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sllv | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_sllv_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_slt | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_slt_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_slti | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_slti_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sltiu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sltiu_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sltu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_sltu_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_slv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_slv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_spv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_spv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sqv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sqv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sra | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_sra_gpr_gpr_imm5 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_srav | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_srav_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_srl | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_srl_gpr_gpr_imm5 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_srlv | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_srlv_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_srv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_srv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_ssv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_ssv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_stv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_stv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sub | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_sub_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_subu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_subu_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_suv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_suv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_sw | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_sw_gpr_mem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Memory) |
| emit_swv | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_swv_vr_vmem | proc(instructions: ^[dynamic]Instruction, a: Register, m: Vector_Mem) |
| emit_vabs | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vabs_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vadd | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vadd_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vaddc | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vaddc_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vand | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vand_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vch | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vch_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vcl | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vcl_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vcr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vcr_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_veq | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_veq_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vge | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vge_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vlt | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vlt_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmacf | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmacf_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmacu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmacu_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadh | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadh_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadl | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadl_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadm | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadm_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadn | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmadn_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmov | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, element: u8 = 0) |
| emit_vmov_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, element: u8 = 0) |
| emit_vmrg | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmrg_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudh | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudh_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudl | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudl_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudm | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudm_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudn | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmudn_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmulf | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmulf_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmulu | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vmulu_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vnand | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vnand_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vne | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vne_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vnop | proc(instructions: ^[dynamic]Instruction) |
| emit_vnop_none | proc(instructions: ^[dynamic]Instruction) |
| emit_vnor | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vnor_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vnxor | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vnxor_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vor | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vor_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrcp | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrcp_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrcph | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrcph_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrcpl | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrcpl_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrsq | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrsq_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrsqh | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrsqh_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrsql | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vrsql_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vsar | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vsar_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vsub | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vsub_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vsubc | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vsubc_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vxor | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_vxor_vr_vr_vr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register, element: u8 = 0) |
| emit_xor | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_xor_gpr_gpr_gpr | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, c: Register) |
| emit_xori | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| emit_xori_gpr_gpr_imm16 | proc(instructions: ^[dynamic]Instruction, a: Register, b: Register, imm: i64) |
| 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 | (instructions: []Instruction) -> int |
| encode_max_relocation_count | (instructions: []Instruction) -> int |
| 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…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.
|
| 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[rexcode_isa.Label_Offset]string = nil) |
| 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[rexcode_isa.Label_Offset]string = nil) |
| gpr_from_num | (num: u8) -> Register |
| inst_add | (a: Register, b: Register, c: Register) -> Instruction |
| inst_add_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_addi | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_addi_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_addiu | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_addiu_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_addu | (a: Register, b: Register, c: Register) -> Instruction |
| inst_addu_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_and | (a: Register, b: Register, c: Register) -> Instruction |
| inst_and_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_andi | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_andi_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_beq | (a: Register, b: Register, label_id: u32) -> Instruction |
| inst_beq_gpr_gpr_rel | (a: Register, b: Register, label_id: u32) -> Instruction |
| inst_bgez | (a: Register, label_id: u32) -> Instruction |
| inst_bgez_gpr_rel | (a: Register, label_id: u32) -> Instruction |
| inst_bgezal | (a: Register, label_id: u32) -> Instruction |
| inst_bgezal_gpr_rel | (a: Register, label_id: u32) -> Instruction |
| inst_bgtz | (a: Register, label_id: u32) -> Instruction |
| inst_bgtz_gpr_rel | (a: Register, label_id: u32) -> Instruction |
| inst_blez | (a: Register, label_id: u32) -> Instruction |
| inst_blez_gpr_rel | (a: Register, label_id: u32) -> Instruction |
| inst_bltz | (a: Register, label_id: u32) -> Instruction |
| inst_bltz_gpr_rel | (a: Register, label_id: u32) -> Instruction |
| inst_bltzal | (a: Register, label_id: u32) -> Instruction |
| inst_bltzal_gpr_rel | (a: Register, label_id: u32) -> Instruction |
| inst_bne | (a: Register, b: Register, label_id: u32) -> Instruction |
| inst_bne_gpr_gpr_rel | (a: Register, b: Register, label_id: u32) -> Instruction |
| inst_branch1 | (m: Mnemonic, rs: Register, label_id: u32) -> InstructionBranch helpers |
| inst_branch2 | (m: Mnemonic, rs, rt: Register, label_id: u32) -> Instruction |
| inst_break | (imm: i64) -> Instruction |
| inst_break_imm20 | (imm: i64) -> Instruction |
| inst_cfc2 | (a: Register, b: Register) -> Instruction |
| inst_cfc2_gpr_cp2 | (a: Register, b: Register) -> Instruction |
| inst_ctc2 | (a: Register, b: Register) -> Instruction |
| inst_ctc2_gpr_cp2 | (a: Register, b: Register) -> Instruction |
| inst_j | (label_id: u32) -> Instruction |
| inst_j_rel | (label_id: u32) -> Instruction |
| inst_jal | (label_id: u32) -> Instruction |
| inst_jal_rel | (label_id: u32) -> Instruction |
| inst_jalr | (a: Register, b: Register) -> Instruction |
| inst_jalr_gpr_gpr | (a: Register, b: Register) -> Instruction |
| inst_jr | (a: Register) -> Instruction |
| inst_jr_gpr | (a: Register) -> Instruction |
| inst_jump | (m: Mnemonic, label_id: u32) -> Instruction |
| inst_lb | (a: Register, m: Memory) -> Instruction |
| inst_lb_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_lbu | (a: Register, m: Memory) -> Instruction |
| inst_lbu_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_lbv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lbv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_ldv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_ldv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lfv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lfv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lh | (a: Register, m: Memory) -> Instruction |
| inst_lh_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_lhu | (a: Register, m: Memory) -> Instruction |
| inst_lhu_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_lhv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lhv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_llv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_llv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lpv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lpv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lqv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lqv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lrv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lrv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lsv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lsv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_ltv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_ltv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lui | (a: Register, imm: i64) -> Instruction |
| inst_lui_gpr_imm16 | (a: Register, imm: i64) -> Instruction |
| inst_luv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_luv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lw | (a: Register, m: Memory) -> Instruction |
| inst_lw_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_lwv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_lwv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_mfc0 | (a: Register, b: Register) -> Instruction |
| inst_mfc0_gpr_cp0 | (a: Register, b: Register) -> Instruction |
| inst_mfc2 | (a: Register, b: Register) -> Instruction |
| inst_mfc2_gpr_vr | (a: Register, b: Register) -> Instruction |
| inst_mtc0 | (a: Register, b: Register) -> Instruction |
| inst_mtc0_gpr_cp0 | (a: Register, b: Register) -> Instruction |
| inst_mtc2 | (a: Register, b: Register) -> Instruction |
| inst_mtc2_gpr_vr | (a: Register, b: Register) -> Instruction |
| inst_none | (m: Mnemonic) -> Instruction |
| inst_nop | () -> Instruction |
| inst_nop_none | () -> Instruction |
| inst_nor | (a: Register, b: Register, c: Register) -> Instruction |
| inst_nor_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_or | (a: Register, b: Register, c: Register) -> Instruction |
| inst_or_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_ori | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_ori_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_r | (m: Mnemonic, a: Register) -> Instruction |
| inst_r_i | (m: Mnemonic, rt: Register, imm: i64) -> Instruction |
| inst_r_m | (m: Mnemonic, r: Register, mm: Memory, size: u8 = 4) -> Instruction |
| inst_r_r | (m: Mnemonic, d, s: Register) -> Instruction |
| inst_r_r_i | (m: Mnemonic, rt, rs: Register, imm: i64) -> Instruction |
| inst_r_r_r | (m: Mnemonic, d, s1, s2: Register) -> Instruction |
| inst_sb | (a: Register, m: Memory) -> Instruction |
| inst_sb_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_sbv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sbv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sdv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sdv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sfv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sfv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sh | (a: Register, m: Memory) -> Instruction |
| inst_sh_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_shv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_shv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sll | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_sll_gpr_gpr_imm5 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_sllv | (a: Register, b: Register, c: Register) -> Instruction |
| inst_sllv_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_slt | (a: Register, b: Register, c: Register) -> Instruction |
| inst_slt_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_slti | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_slti_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_sltiu | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_sltiu_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_sltu | (a: Register, b: Register, c: Register) -> Instruction |
| inst_sltu_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_slv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_slv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_spv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_spv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sqv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sqv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sra | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_sra_gpr_gpr_imm5 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_srav | (a: Register, b: Register, c: Register) -> Instruction |
| inst_srav_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_srl | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_srl_gpr_gpr_imm5 | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_srlv | (a: Register, b: Register, c: Register) -> Instruction |
| inst_srlv_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_srv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_srv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_ssv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_ssv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_stv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_stv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sub | (a: Register, b: Register, c: Register) -> Instruction |
| inst_sub_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_subu | (a: Register, b: Register, c: Register) -> Instruction |
| inst_subu_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_suv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_suv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_sw | (a: Register, m: Memory) -> Instruction |
| inst_sw_gpr_mem | (a: Register, m: Memory) -> Instruction |
| inst_swv | (a: Register, m: Vector_Mem) -> Instruction |
| inst_swv_vr_vmem | (a: Register, m: Vector_Mem) -> Instruction |
| inst_v_v_v | (m: Mnemonic, vd, vs, vt: Register, vt_element: u8 = 0) -> InstructionVector ALU: 3-operand vector op with optional element selector on vt. |
| inst_v_vmem | (m: Mnemonic, vt: Register, vmem_op: Vector_Mem) -> InstructionVector load/store: $vt[element], offset(base). |
| inst_vabs | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vabs_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vadd | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vadd_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vaddc | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vaddc_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vand | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vand_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vch | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vch_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vcl | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vcl_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vcr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vcr_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_veq | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_veq_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vge | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vge_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vlt | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vlt_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmacf | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmacf_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmacu | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmacu_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadh | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadh_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadl | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadl_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadm | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadm_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadn | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmadn_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmov | (a: Register, b: Register, element: u8 = 0) -> Instruction |
| inst_vmov_vr_vr | (a: Register, b: Register, element: u8 = 0) -> Instruction |
| inst_vmrg | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmrg_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudh | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudh_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudl | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudl_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudm | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudm_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudn | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmudn_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmulf | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmulf_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmulu | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vmulu_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vnand | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vnand_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vne | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vne_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vnop | () -> Instruction |
| inst_vnop_none | () -> Instruction |
| inst_vnor | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vnor_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vnxor | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vnxor_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vor | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vor_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrcp | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrcp_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrcph | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrcph_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrcpl | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrcpl_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrsq | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrsq_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrsqh | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrsqh_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrsql | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vrsql_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vsar | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vsar_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vsub | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vsub_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vsubc | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vsubc_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vxor | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_vxor_vr_vr_vr | (a: Register, b: Register, c: Register, element: u8 = 0) -> Instruction |
| inst_xor | (a: Register, b: Register, c: Register) -> Instruction |
| inst_xor_gpr_gpr_gpr | (a: Register, b: Register, c: Register) -> Instruction |
| inst_xori | (a: Register, b: Register, imm: i64) -> Instruction |
| inst_xori_gpr_gpr_imm16 | (a: Register, b: Register, imm: i64) -> Instruction |
| mem | (base: Register, disp: i32) -> Memory |
| mnemonic_to_string | proc(m: Mnemonic, lowercase: bool = true, allocator := context.temp_allocator) -> string |
| op_imm | (v: i64, size: u8) -> Operand |
| op_label | (label_id: u32) -> Operand |
| op_mem | (m: Memory, size: u8) -> Operand |
| op_reg | (r: Register) -> Operand |
| op_vmem | (m: Vector_Mem, size: u8) -> Operand |
| op_vr | (r: Register, element: u8 = 0) -> Operand |
| 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[rexcode_isa.Label_Offset]string = nil) |
| 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[rexcode_isa.Label_Offset]string = nil) |
| read_u32 | (code: []u8, offset: u32, endianness: Endianness) -> u32 |
| reg_class | (r: Register) -> u16 |
| reg_hw | (r: Register) -> u8 |
| register_name | proc(r: Register, lowercase: bool = true, allocator := context.temp_allocator) -> string |
| 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[rexcode_isa.Label_Offset]string = nil) |
| 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[rexcode_isa.Label_Offset]string = nil) |
| 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[rexcode_isa.Label_Offset]string = nil) -> string |
| 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[rexcode_isa.Label_Offset]string = nil) -> string |
| vmem | (base: Register, element: u8, offset: i32) -> Vector_Mem |
| vr_from_num | (num: u8) -> Register |
| 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[rexcode_isa.Label_Offset]string = nil) |
| 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[rexcode_isa.Label_Offset]string = nil) |
| write_u32 | (code: []u8, offset: u32, word: u32, endianness: Endianness) |