]> granicus.if.org Git - llvm/commit
[AArch64] Define ETE and TRBE system registers
authorMomchil Velikov <momchil.velikov@arm.com>
Fri, 26 Jul 2019 09:19:08 +0000 (09:19 +0000)
committerMomchil Velikov <momchil.velikov@arm.com>
Fri, 26 Jul 2019 09:19:08 +0000 (09:19 +0000)
commit099593d78544acd5c2c9e93c38879ebba33371d4
tree9915ea24c7c5191198a7310fc4d13720a5542574
parentf8a4f9ea4e0ba3a1f4ed92b29e092b9b596b4e04
[AArch64] Define ETE and TRBE system registers

Embedded Trace Extension and Trace Buffer Extension are optional
future architecture extensions.
(cf. https://developer.arm.com/architectures/cpu-architecture/a-profile/exploration-tools)

Their system registers are documented here:
https://developer.arm.com/docs/ddi0601/a

ETE shares register names with ETM. One exception is the ETE
TRCEXTINSELR0 register, which has the same encoding as the ETM
TRCEXTINSELR register (but different semantics). This patch treats
them as aliases: the assembler will accept both names, emitting
identical encoding, and the disassembler will keep disassembling
to TRCEXRINSELR.

Differential Revision: https://reviews.llvm.org/D63707

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367093 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/AArch64/AArch64.td
lib/Target/AArch64/AArch64InstrInfo.td
lib/Target/AArch64/AArch64Subtarget.h
lib/Target/AArch64/AArch64SystemOperands.td
test/MC/AArch64/ete-sysregs.s [new file with mode: 0644]
test/MC/AArch64/trbe-sysreg-diag.s [new file with mode: 0644]
test/MC/AArch64/trbe-sysreg.s [new file with mode: 0644]
test/MC/Disassembler/AArch64/ete.txt [new file with mode: 0644]
test/MC/Disassembler/AArch64/trbe.txt [new file with mode: 0644]