diff options
author | Alexander Gilday <alexander.gilday@arm.com> | 2018-04-13 16:15:34 +0100 |
---|---|---|
committer | Alexander Gilday <alexander.gilday@arm.com> | 2018-04-19 14:16:32 +0100 |
commit | 2c3cebbd93cc0db27e1e55740bd89a8045148d47 (patch) | |
tree | 433c7bb4b51d24397ed00688962c2cf42bc01809 /src/aarch64/macro-assembler-aarch64.h | |
parent | 560332df277a0e143763e5f5038fbb539c57453b (diff) |
Add support for Load/Store LORegion instructions.
Includes:
- STLLR, STLLRB, STLLRH
- LDLAR, LDLARB, LDLARH
Change-Id: I6691072c4aa218eb097414a8b559623e47707078
Diffstat (limited to 'src/aarch64/macro-assembler-aarch64.h')
-rw-r--r-- | src/aarch64/macro-assembler-aarch64.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/aarch64/macro-assembler-aarch64.h b/src/aarch64/macro-assembler-aarch64.h index 29a29556..959300cc 100644 --- a/src/aarch64/macro-assembler-aarch64.h +++ b/src/aarch64/macro-assembler-aarch64.h @@ -1474,6 +1474,21 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { SingleEmissionCheckScope guard(this); ldarh(rt, src); } + void Ldlar(const Register& rt, const MemOperand& src) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + ldlar(rt, src); + } + void Ldlarb(const Register& rt, const MemOperand& src) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + ldlarb(rt, src); + } + void Ldlarh(const Register& rt, const MemOperand& src) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + ldlarh(rt, src); + } void Ldaxp(const Register& rt, const Register& rt2, const MemOperand& src) { VIXL_ASSERT(allow_macro_instructions_); VIXL_ASSERT(!rt.Aliases(rt2)); @@ -1927,6 +1942,21 @@ class MacroAssembler : public Assembler, public MacroAssemblerInterface { SingleEmissionCheckScope guard(this); stlrh(rt, dst); } + void Stllr(const Register& rt, const MemOperand& dst) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + stllr(rt, dst); + } + void Stllrb(const Register& rt, const MemOperand& dst) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + stllrb(rt, dst); + } + void Stllrh(const Register& rt, const MemOperand& dst) { + VIXL_ASSERT(allow_macro_instructions_); + SingleEmissionCheckScope guard(this); + stllrh(rt, dst); + } void Stlxp(const Register& rs, const Register& rt, const Register& rt2, |