[AArch64] RASv2 Assembly Support
authorArchibald Elliott <archibald.elliott@arm.com>
Tue, 13 Dec 2022 15:32:54 +0000 (15:32 +0000)
committerArchibald Elliott <archibald.elliott@arm.com>
Fri, 16 Dec 2022 14:37:35 +0000 (14:37 +0000)
commit947d4fb37336389255950d77760ede81708c5466
treeab93889cfa96415194c4fb3f6ebbd01e041a2b5d
parent54d7c4dc870c5822df3d5ce538ad3936ac6405fe
[AArch64] RASv2 Assembly Support

This feature adds upstream support for FEAT_RASv2 and FEAT_PFAR. Both
are system-register-only, but FEAT_RAS is behind the command-line
extension "+ras", so FEAT_RASv2 is behind "+rasv2".

This patch includes support for ID_AA64MMFR4_EL1. This is an ID system
register so it is not behind any feature flags.

Differential Revision: https://reviews.llvm.org/D139936
19 files changed:
llvm/include/llvm/Support/AArch64TargetParser.def
llvm/include/llvm/Support/AArch64TargetParser.h
llvm/lib/Target/AArch64/AArch64.td
llvm/lib/Target/AArch64/AArch64SystemOperands.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/test/MC/AArch64/arm64-system-encoding.s
llvm/test/MC/AArch64/armv8.9a-pfar.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv8.9a-rasv2-error.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv8.9a-rasv2.s [new file with mode: 0644]
llvm/test/MC/AArch64/armv9a-rme.s
llvm/test/MC/AArch64/basic-a64-diagnostics.s
llvm/test/MC/AArch64/basic-a64-instructions.s
llvm/test/MC/AArch64/directive-arch_extension-negative.s
llvm/test/MC/AArch64/directive-arch_extension.s
llvm/test/MC/Disassembler/AArch64/armv8.9a-pfar.txt [new file with mode: 0644]
llvm/test/MC/Disassembler/AArch64/armv8.9a-rasv2.txt [new file with mode: 0644]
llvm/test/MC/Disassembler/AArch64/armv9a-rme.txt
llvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
llvm/unittests/Support/TargetParserTest.cpp