This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add codegen for Armv8.3 Load-AcquirePC instructions
Needs ReviewPublic

Authored by al3xtjames on Nov 18 2020, 9:57 PM.

Details

Reviewers
llvm-commits
Summary

Armv8.3 introduced support for Load-AcquirePC instructions to support
the weaker Release Consistency processor consistent (RCpc) model, which
corresponds to the Acquire/Release semantics used in LLVM. In
constrast, the existing Load-Acquire instructions in Armv8 support the
Release Consistency sequentially consistent (RCsc) model, which
corresponds to the SequentiallyConsistent semantics used in LLVM.

Use the Load-AcquirePC instructions for atomic loads with acquire
semantics when supported.

Please let me know if there's a better way to make these changes to
AArch64InstrAtomics.td, I'm not too familiar with TableGen.

Diff Detail

Event Timeline

al3xtjames created this revision.Nov 18 2020, 9:57 PM
al3xtjames requested review of this revision.Nov 18 2020, 9:57 PM