aarch64: Add Armv8.8-A system registers
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 2 Dec 2021 15:00:57 +0000 (15:00 +0000)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 2 Dec 2021 15:00:57 +0000 (15:00 +0000)
commita5e9beead8580777ea4886b06c493a6f79570f93
tree431281e2d3691b7a3a2d67238d2aac7d0dfadcf3
parente14c9cb6c88e3dbcbaef4e0f62f8e07ece17b51b
aarch64: Add Armv8.8-A system registers

Armv8.8-A defines two new system registers: allint and icc_nmiar1_el1.
Both of them were previously unmapped.  allint supports a 0/1 immediate.
[https://developer.arm.com/documentation/ddi0595/2021-09/AArch64-Registers/ALLINT--All-Interrupt-Mask-Bit?lang=en]
[https://developer.arm.com/documentation/ddi0595/2021-09/AArch64-Registers/ICC-NMIAR1-EL1--Interrupt-Controller-Non-maskable-Interrupt-Acknowledge-Register-1?lang=en]

opcodes/
* aarch64-opc.c (SR_V8_8): New macro.
(aarch64_sys_regs): Add allint and icc_nmiar1_el1.
(aarch64_pstatefields): Add allint.

gas/
* testsuite/gas/aarch64/armv8_8-a-sysregs.s,
* testsuite/gas/aarch64/armv8_8-a-sysregs.d: New test.
* testsuite/gas/aarch64/armv8_8-a-sysregs-invalid.s,
* testsuite/gas/aarch64/armv8_8-a-sysregs-invalid.l,
* testsuite/gas/aarch64/armv8_8-a-sysregs-invalid.d: New test.
gas/testsuite/gas/aarch64/armv8_8-a-sysregs-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8_8-a-sysregs-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8_8-a-sysregs-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8_8-a-sysregs.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/armv8_8-a-sysregs.s [new file with mode: 0644]
opcodes/aarch64-opc.c