[PATCH] D141429: [AArch64] Codegen for FEAT_LRCPC3

Tomas Matheson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 10 14:00:07 PST 2023


tmatheson created this revision.
tmatheson added reviewers: lenary, pratlucas, stuij.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
tmatheson requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Implements support for the following 128-bit atomic operations with +rcpc3:

- store-release
- store-release volatile
- load-acquire
- load-acquire volatile
- load-acquire const
- load-acquire const volatile

D126250 <https://reviews.llvm.org/D126250> and D137590 <https://reviews.llvm.org/D137590> added support for emitting LDAPR (Load-Acquire RCPc) rather
than LDAP (Load-Acquire) when +rcpc is available. This patch allows emitting
the 128-bit RCPc instructions added in FEAT_LRCPC3 LDIAPP/STILP. The
implementation is different from LDAPR, because there are no non-RCPc
equivalents for these new instructions.

Support for the offset variants will be added in a later patch.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D141429

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/lib/Target/AArch64/AArch64InstrInfo.td
  llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-load-rcpc3.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64-atomic-store-rcpc3.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-load-rcpc3.ll
  llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomic-store-rcpc3.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D141429.487985.patch
Type: text/x-patch
Size: 17219 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230110/2f223f9f/attachment-0001.bin>


More information about the llvm-commits mailing list