summaryrefslogtreecommitdiff
path: root/erts/emulator/asmjit/arm/a64compiler.h
diff options
context:
space:
mode:
Diffstat (limited to 'erts/emulator/asmjit/arm/a64compiler.h')
-rw-r--r--erts/emulator/asmjit/arm/a64compiler.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/erts/emulator/asmjit/arm/a64compiler.h b/erts/emulator/asmjit/arm/a64compiler.h
index ebed549581..bed408a98f 100644
--- a/erts/emulator/asmjit/arm/a64compiler.h
+++ b/erts/emulator/asmjit/arm/a64compiler.h
@@ -169,6 +169,18 @@ public:
//! \}
+ //! \name Compiler specific
+ //! \{
+
+ //! Special pseudo-instruction that can be used to load a memory address into `o0` GP register.
+ //!
+ //! \note At the moment this instruction is only useful to load a stack allocated address into a GP register
+ //! for further use. It makes very little sense to use it for anything else. The semantics of this instruction
+ //! is the same as X86 `LEA` (load effective address) instruction.
+ inline Error loadAddressOf(const Gp& o0, const Mem& o1) { return _emitter()->_emitI(Inst::kIdAdr, o0, o1); }
+
+ //! \}
+
//! \name Function Call & Ret Intrinsics
//! \{