jit_assembler/aarch64/
macros.rs

1/// JIT assembler macro interface
2///
3/// This module provides a macro-based interface for writing AArch64 assembly
4/// in a convenient syntax that gets compiled to machine code instructions.
5
6/// AArch64 JIT assembler macro
7///
8/// Provides a clean interface for generating AArch64 instructions.
9/// Uses the generic jit_asm_generic! macro with AArch64 InstructionBuilder.
10///
11/// Usage:
12/// ```rust
13/// use jit_assembler::aarch64::{reg};
14/// use jit_assembler::common::InstructionBuilder;
15///
16/// let instructions = jit_assembler::aarch64_asm! {
17///     add(reg::X0, reg::X0, reg::X1);
18///     mov_imm(reg::X1, 42);
19///     ret();
20/// };
21/// ```
22#[macro_export]
23macro_rules! aarch64_asm {
24    ($($method:ident($($args:expr),*);)*) => {{
25        $crate::jit_asm_generic!($crate::aarch64::Aarch64InstructionBuilder, $($method($($args),*);)*)
26    }};
27}