[PATCH] D139925: [AArch64] Add new v9.4-A PM pstate system register
Lucas Prates via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 13 02:32:34 PST 2022
pratlucas created this revision.
Herald added subscribers: hiraditya, kristof.beyls.
Herald added a project: All.
pratlucas requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
This adds support for the new PM pstate system register introduced by
the v9.4-A Exception-based Event Profiling extension (FEAT_EBEP).
There are currently two variants of pstate setting MSR instructions,
taking 4-bit and 1-bit immediate operands. So far only one pstate
register would take a 1-bit operand (ALLINT), which made it possible for
our tablegen backend to handle that by fixing the high Crm bits to
0b000, but the new PM pstate register requires different values to be
specified for those bits.
To enable that, this patch creates an explicit separation between the
pstate system registers that take 4-bit and 1-bit immediate operands,
allowing each entry to specify the value for the 3 high bits of the Crm
field.
More information about this extension and the new register can be found
at:
- https://developer.arm.com/documentation/ddi0601/2022-09/AArch64-Registers/PM--PMU-Exception-Mask
Contributors:
- Lucas Prates
- Sam Elliott
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D139925
Files:
llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
llvm/lib/Target/AArch64/AArch64InstrFormats.td
llvm/lib/Target/AArch64/AArch64SystemOperands.td
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
llvm/test/MC/AArch64/armv8.1a-pan.s
llvm/test/MC/AArch64/armv8.2a-uao.s
llvm/test/MC/AArch64/armv8.4a-dit.s
llvm/test/MC/AArch64/armv8.5a-ssbs-error.s
llvm/test/MC/AArch64/armv9.4a-ebep-error.s
llvm/test/MC/AArch64/armv9.4a-ebep.s
llvm/test/MC/Disassembler/AArch64/armv8.1a-pan.txt
llvm/test/MC/Disassembler/AArch64/armv8.2a-uao.txt
llvm/test/MC/Disassembler/AArch64/armv9.4a-ebep.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D139925.482405.patch
Type: text/x-patch
Size: 21570 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221213/cc3a82ce/attachment.bin>
More information about the llvm-commits
mailing list