|
| INFIX_INTERNAL void | infix_riscv64_emit_addi (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_addiw (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_add (code_buffer *buf, uint8_t rd, uint8_t rs1, uint8_t rs2) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_sub (code_buffer *buf, uint8_t rd, uint8_t rs1, uint8_t rs2) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_slli (code_buffer *buf, uint8_t rd, uint8_t rs1, uint8_t shamt) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_srli (code_buffer *buf, uint8_t rd, uint8_t rs1, uint8_t shamt) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lui (code_buffer *buf, uint8_t rd, uint32_t imm20) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_auipc (code_buffer *buf, uint8_t rd, uint32_t imm20) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_jal (code_buffer *buf, uint8_t rd, int32_t imm20) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_jalr (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_beq (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_bne (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lb (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lbu (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lh (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lhu (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_sb (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_sh (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_ld (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lw (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_lwu (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_sd (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_sw (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fld (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fsd (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_flw (code_buffer *buf, uint8_t rd, uint8_t rs1, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fsw (code_buffer *buf, uint8_t rs1, uint8_t rs2, int32_t imm12) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fmv_d (code_buffer *buf, uint8_t rd, uint8_t rs1) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fmv_s (code_buffer *buf, uint8_t rd, uint8_t rs1) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fmv_w_x (code_buffer *buf, uint8_t rd, uint8_t rs1) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fmv_x_w (code_buffer *buf, uint8_t rd, uint8_t rs1) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fcvt_d_s (code_buffer *buf, uint8_t rd, uint8_t rs1) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_fcvt_s_d (code_buffer *buf, uint8_t rd, uint8_t rs1) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_ebreak (code_buffer *buf) |
| |
| INFIX_INTERNAL void | infix_riscv64_emit_load_u64_immediate (code_buffer *buf, uint8_t rd, uint64_t imm) |
| |
Public interface for emitting RISC-V (RV64GC) instructions.
Copyright (c) 2026 Sanko Robinson
This source code is dual-licensed under the Artistic License 2.0 or the MIT License. You may choose to use this code under the terms of either license.
SPDX-License-Identifier: (Artistic-2.0 OR MIT)
The documentation blocks within this file are licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0).
SPDX-License-Identifier: CC-BY-4.0