[llvm] [RISCV][ISEL] Lowering to load-acquire/store-release for RISCV Zalasr (PR #82914)

Brendan Sweeney via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 25 23:47:07 PST 2024


================
@@ -105,22 +105,66 @@ defm AMOMAXU_D  : AMO_rr_aq_rl<0b11100, 0b011, "amomaxu.d">,
 // Pseudo-instructions and codegen patterns
 //===----------------------------------------------------------------------===//
 
+// An atomic load operation that does not need either acquire or release
+// semantics.
+class relaxed_load<PatFrags base>
+  : PatFrag<(ops node:$ptr), (base node:$ptr)> {
+  let IsAtomic = 1;
----------------
mehnadnerd wrote:

I did it this way to match the AArch64 lowerings (llvm/lib/Target/AArch64/AArch64InstrAtomics.td), which this is adapted from.

https://github.com/llvm/llvm-project/pull/82914


More information about the llvm-commits mailing list