[llvm] [WebAssembly] MC support for acquire-release atomics (PR #183656)
Derek Schuff via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 2 13:55:06 PST 2026
================
@@ -58,6 +65,55 @@ MCCodeEmitter *llvm::createWebAssemblyMCCodeEmitter(const MCInstrInfo &MCII,
return new WebAssemblyMCCodeEmitter(MCII, Ctx);
}
+uint8_t WebAssemblyMCCodeEmitter::getEncodedMemOrder(uint8_t Order,
+ unsigned Opcode) const {
+ if (Order == wasm::WASM_MEM_ORDER_ACQ_REL) {
+ StringRef Name = MCII.getName(Opcode);
+ if (Name.contains("RMW") || Name.contains("CMPXCHG"))
+ return wasm::WASM_MEM_ORDER_RMW_ACQ_REL;
+ }
+ return Order;
+}
+
+void WebAssemblyMCCodeEmitter::encodeMemArg(const MCInst &MI, unsigned I,
----------------
dschuff wrote:
Yeah, makes sense. When we add multimemory it would go here too; basically it's everything other than the offset. not sure what's the best name.
https://github.com/llvm/llvm-project/pull/183656
More information about the llvm-commits
mailing list