Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: src/arm64/macro-assembler-arm64.h

Issue 1990073002: Add {lda,stl}x?r{,b,h} instructions to ARM64 assembler/disassembler (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: typo Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/arm64/instrument-arm64.cc ('k') | src/arm64/macro-assembler-arm64-inl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/arm64/macro-assembler-arm64.h
diff --git a/src/arm64/macro-assembler-arm64.h b/src/arm64/macro-assembler-arm64.h
index 67e64f4d672fb451cee506f7e7df151321f07d45..246d574257e78b045718fb8bce50548967116f19 100644
--- a/src/arm64/macro-assembler-arm64.h
+++ b/src/arm64/macro-assembler-arm64.h
@@ -68,6 +68,21 @@ namespace internal {
V(Stp, CPURegister&, rt, rt2, StorePairOpFor(rt, rt2)) \
V(Ldpsw, CPURegister&, rt, rt2, LDPSW_x)
+#define LDA_STL_MACRO_LIST(V) \
+ V(Ldarb, ldarb) \
+ V(Ldarh, ldarh) \
+ V(Ldar, ldar) \
+ V(Ldaxrb, ldaxrb) \
+ V(Ldaxrh, ldaxrh) \
+ V(Ldaxr, ldaxr) \
+ V(Stlrb, stlrb) \
+ V(Stlrh, stlrh) \
+ V(Stlr, stlr)
+
+#define STLX_MACRO_LIST(V) \
+ V(Stlxrb, stlxrb) \
+ V(Stlxrh, stlxrh) \
+ V(Stlxr, stlxr)
// ----------------------------------------------------------------------------
// Static helper functions
@@ -295,6 +310,17 @@ class MacroAssembler : public Assembler {
void LoadStorePairMacro(const CPURegister& rt, const CPURegister& rt2,
const MemOperand& addr, LoadStorePairOp op);
+// Load-acquire/store-release macros.
+#define DECLARE_FUNCTION(FN, OP) \
+ inline void FN(const Register& rt, const Register& rn);
+ LDA_STL_MACRO_LIST(DECLARE_FUNCTION)
+#undef DECLARE_FUNCTION
+
+#define DECLARE_FUNCTION(FN, OP) \
+ inline void FN(const Register& rs, const Register& rt, const Register& rn);
+ STLX_MACRO_LIST(DECLARE_FUNCTION)
+#undef DECLARE_FUNCTION
+
// V8-specific load/store helpers.
void Load(const Register& rt, const MemOperand& addr, Representation r);
void Store(const Register& rt, const MemOperand& addr, Representation r);
« no previous file with comments | « src/arm64/instrument-arm64.cc ('k') | src/arm64/macro-assembler-arm64-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698