|
static void | emit_arm64_mov_imm_chunk (code_buffer *buf, bool is_movz, uint64_t dest_reg, uint16_t imm, uint8_t shift_count) |
|
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) |
|
static void | emit_arm64_arith_imm (code_buffer *buf, bool is_sub, bool is64, bool set_flags, arm64_gpr dest, arm64_gpr base, uint32_t imm) |
|
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) |
|
Implements 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