infix
A JIT-Powered FFI Library for C
|
Declares internal helper functions for emitting AArch64 machine code. More...
Go to the source code of this file.
Functions | |
void | emit_arm64_load_u64_immediate (code_buffer *buf, arm64_gpr dest, uint64_t value) |
void | emit_arm64_mov_reg (code_buffer *buf, bool is64, arm64_gpr dest, arm64_gpr src) |
void | emit_arm64_ldr_imm (code_buffer *buf, bool is64, arm64_gpr dest, arm64_gpr base, int32_t offset) |
void | emit_arm64_ldrsw_imm (code_buffer *buf, arm64_gpr dest, arm64_gpr base, int32_t offset) |
void | emit_arm64_str_imm (code_buffer *buf, bool is64, arm64_gpr src, arm64_gpr base, int32_t offset) |
void | emit_arm64_strb_imm (code_buffer *buf, arm64_gpr src, arm64_gpr base, int32_t offset) |
void | emit_arm64_strh_imm (code_buffer *buf, arm64_gpr src, arm64_gpr base, int32_t offset) |
void | emit_arm64_stp_pre_index (code_buffer *buf, bool is64, arm64_gpr src1, arm64_gpr src2, arm64_gpr base, int32_t offset) |
void | emit_arm64_ldp_post_index (code_buffer *buf, bool is64, arm64_gpr dest1, arm64_gpr dest2, arm64_gpr base, int32_t offset) |
void | emit_arm64_ldr_vpr (code_buffer *buf, bool is64, arm64_vpr dest, arm64_gpr base, int32_t offset) |
void | emit_arm64_str_vpr (code_buffer *buf, bool is64, arm64_vpr src, arm64_gpr base, int32_t offset) |
void | emit_arm64_ldr_q_imm (code_buffer *buf, arm64_vpr dest, arm64_gpr base, int32_t offset) |
void | emit_arm64_str_q_imm (code_buffer *buf, arm64_vpr src, arm64_gpr base, int32_t offset) |
void | emit_arm64_add_imm (code_buffer *buf, bool is64, bool set_flags, arm64_gpr dest, arm64_gpr base, uint32_t imm) |
void | emit_arm64_sub_imm (code_buffer *buf, bool is64, bool set_flags, arm64_gpr dest, arm64_gpr base, uint32_t imm) |
void | emit_arm64_blr_reg (code_buffer *buf, arm64_gpr reg) |
void | emit_arm64_ret (code_buffer *buf, arm64_gpr reg) |
void | emit_arm64_cbnz (code_buffer *buf, bool is64, arm64_gpr reg, int32_t offset) |
void | emit_arm64_brk (code_buffer *buf, uint16_t imm) |
void | emit_arm64_b_reg (code_buffer *buf, arm64_gpr reg) |
Declares internal helper functions for emitting AArch64 machine code.
Copyright (c) 2025 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
void emit_arm64_add_imm | ( | code_buffer * | buf, |
bool | is64, | ||
bool | set_flags, | ||
arm64_gpr | dest, | ||
arm64_gpr | base, | ||
uint32_t | imm | ||
) |
void emit_arm64_b_reg | ( | code_buffer * | buf, |
arm64_gpr | reg | ||
) |
void emit_arm64_blr_reg | ( | code_buffer * | buf, |
arm64_gpr | reg | ||
) |
void emit_arm64_brk | ( | code_buffer * | buf, |
uint16_t | imm | ||
) |
void emit_arm64_cbnz | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_gpr | reg, | ||
int32_t | offset | ||
) |
void emit_arm64_ldp_post_index | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_gpr | dest1, | ||
arm64_gpr | dest2, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_ldr_imm | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_gpr | dest, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_ldr_q_imm | ( | code_buffer * | buf, |
arm64_vpr | dest, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_ldr_vpr | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_vpr | dest, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_ldrsw_imm | ( | code_buffer * | buf, |
arm64_gpr | dest, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_load_u64_immediate | ( | code_buffer * | buf, |
arm64_gpr | dest, | ||
uint64_t | value | ||
) |
void emit_arm64_mov_reg | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_gpr | dest, | ||
arm64_gpr | src | ||
) |
void emit_arm64_ret | ( | code_buffer * | buf, |
arm64_gpr | reg | ||
) |
void emit_arm64_stp_pre_index | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_gpr | src1, | ||
arm64_gpr | src2, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_str_imm | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_gpr | src, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_str_q_imm | ( | code_buffer * | buf, |
arm64_vpr | src, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_str_vpr | ( | code_buffer * | buf, |
bool | is64, | ||
arm64_vpr | src, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_strb_imm | ( | code_buffer * | buf, |
arm64_gpr | src, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_strh_imm | ( | code_buffer * | buf, |
arm64_gpr | src, | ||
arm64_gpr | base, | ||
int32_t | offset | ||
) |
void emit_arm64_sub_imm | ( | code_buffer * | buf, |
bool | is64, | ||
bool | set_flags, | ||
arm64_gpr | dest, | ||
arm64_gpr | base, | ||
uint32_t | imm | ||
) |