[AArch64] Assembly support for FEAT_LRCPC3
authorTomas Matheson <tomas.matheson@arm.com>
Tue, 8 Mar 2022 16:46:50 +0000 (16:46 +0000)
committerTomas Matheson <tomas.matheson@arm.com>
Fri, 25 Nov 2022 18:59:07 +0000 (18:59 +0000)
commita6aaa969f7caec58a994142f8d855861cf3a1463
treeb9731956012d99f213510138224b6f683e2d44e4
parentafba86709fc5c2d9c6b34bd4fedff4ea1deeed23
[AArch64] Assembly support for FEAT_LRCPC3

This patch implements assembly support for the 2022 A-Profile Architecture
extension FEAT_LRCPC3. FEAT_LRCPC3 is AArch64 only and introduces new
variants of load/store instructions with release consistency ordering.

Specs for individual instructions can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09/Base-Instructions/

This feature is optionally available from v8.2a and therefore not enabled by
default.

Contributors:
  Lucas Prates
  Sam Elliot
  Son Tuan Vu
  Tomas Matheson

Differential Revision: https://reviews.llvm.org/D138579
clang/test/Driver/aarch64-lrcpc3.c [new file with mode: 0644]
llvm/include/llvm/Support/AArch64TargetParser.def
llvm/include/llvm/Support/AArch64TargetParser.h
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64InstrInfo.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/test/MC/AArch64/arm64-memory.s
llvm/test/MC/AArch64/armv8.9a-lrcpc3.s [new file with mode: 0644]
llvm/test/MC/Disassembler/AArch64/armv8.9a-lrcpc3.txt [new file with mode: 0644]
llvm/unittests/Support/TargetParserTest.cpp