[PATCH] D141429: [AArch64] Codegen for FEAT_LRCPC3

Sam Elliott via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 18 09:43:30 PST 2023


lenary added a comment.

You need FEAT_LSE2 if you're going to generate STILP/LDIAPP from a 128-bit access, in order to get single-copy atomicity.



================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:5776
+
+  // FIXME RCPC3 not actually implemented, will lower to STP
 
----------------
Outdated?


================
Comment at: llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:22233
     const Instruction *I) const {
+  // Inserting fences changes the load/store ordering to monotonic.
+  if (isOpSuitableForRCPC3(I))
----------------
Yes that sounds reasonable


================
Comment at: llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp:1218
+
+      Opcode = isLoad ? AArch64::LDPXi : Opcode = AArch64::STPXi;
+    }
----------------



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141429/new/

https://reviews.llvm.org/D141429



More information about the llvm-commits mailing list