[PATCH v3 0/4] aarch64: Add support for POE2 extension.
Srinath Parvathaneni
srinath.parvathaneni@arm.com
Tue Dec 16 12:10:46 GMT 2025
Changes in v2 -> v3:
* Patch series rebased on latest master.
* Add patch 4/4 to the series with PLBI instruction support.
Changes in v1 -> v2
---------------
* Add --no-info options to the negative tests *.d file
in [2/3] to avoid the unnecessary info macro.
* Fix documentation spelling in [3/3].
---------------
Hi,
The following patch series add support for POE2 extension.
This is done by adding support for feature FEAT_S1POE2 (+poe2 flag) to
support TCHANGE{F/B} instructions and all the system registers. Also
adds support for feature FEAT_TEV (+tev flag) to support TENTER/TEXIT
instructions.
Also adds the suport for PLBI instructions and corresponding system
registers.
Srinath Parvathaneni (4):
aarch64: Add support for POE2 instructions.
aarch64: Add support for POE2 system registers.
aarch64: Add support for TEV instructions.
aarch64: Add support for POE2 PLBI instruction.
gas/config/tc-aarch64.c | 72 +++
gas/doc/c-aarch64.texi | 4 +
gas/testsuite/gas/aarch64/plbi-1.d | 183 ++++++
gas/testsuite/gas/aarch64/plbi-1.s | 11 +
gas/testsuite/gas/aarch64/plbi-invalid-1.d | 3 +
gas/testsuite/gas/aarch64/plbi-invalid-1.l | 79 +++
gas/testsuite/gas/aarch64/plbi-invalid-1.s | 11 +
gas/testsuite/gas/aarch64/plbi-invalid-2.d | 4 +
gas/testsuite/gas/aarch64/plbi-invalid-2.l | 175 ++++++
gas/testsuite/gas/aarch64/poe2-invalid-1.d | 4 +
gas/testsuite/gas/aarch64/poe2-invalid-1.l | 63 ++
gas/testsuite/gas/aarch64/poe2-invalid-1.s | 77 +++
gas/testsuite/gas/aarch64/poe2-invalid-2.d | 4 +
gas/testsuite/gas/aarch64/poe2-invalid-2.l | 61 ++
gas/testsuite/gas/aarch64/poe2.d | 69 +++
gas/testsuite/gas/aarch64/poe2.s | 75 +++
.../gas/aarch64/sysreg/poe2-sysreg-1.d | 535 +++++++++++++++++
.../gas/aarch64/sysreg/poe2-sysreg-1.s | 90 +++
.../gas/aarch64/sysreg/poe2-sysreg-2.d | 536 ++++++++++++++++++
.../aarch64/sysreg/poe2-sysreg-invalid-1.d | 4 +
.../aarch64/sysreg/poe2-sysreg-invalid-1.l | 527 +++++++++++++++++
gas/testsuite/gas/aarch64/tev-invalid-1.d | 4 +
gas/testsuite/gas/aarch64/tev-invalid-1.l | 21 +
gas/testsuite/gas/aarch64/tev-invalid-1.s | 25 +
gas/testsuite/gas/aarch64/tev-invalid-2.d | 4 +
gas/testsuite/gas/aarch64/tev-invalid-2.l | 20 +
gas/testsuite/gas/aarch64/tev.d | 28 +
gas/testsuite/gas/aarch64/tev.s | 26 +
include/opcode/aarch64.h | 11 +
opcodes/aarch64-asm-2.c | 4 +
opcodes/aarch64-dis-2.c | 116 +++-
opcodes/aarch64-dis.c | 1 +
opcodes/aarch64-opc-2.c | 3 +
opcodes/aarch64-opc.c | 51 ++
opcodes/aarch64-opc.h | 1 +
opcodes/aarch64-sys-regs.def | 263 +++++++++
opcodes/aarch64-tbl-2.h | 7 +
opcodes/aarch64-tbl.h | 34 ++
38 files changed, 3181 insertions(+), 25 deletions(-)
create mode 100644 gas/testsuite/gas/aarch64/plbi-1.d
create mode 100644 gas/testsuite/gas/aarch64/plbi-1.s
create mode 100644 gas/testsuite/gas/aarch64/plbi-invalid-1.d
create mode 100644 gas/testsuite/gas/aarch64/plbi-invalid-1.l
create mode 100644 gas/testsuite/gas/aarch64/plbi-invalid-1.s
create mode 100644 gas/testsuite/gas/aarch64/plbi-invalid-2.d
create mode 100644 gas/testsuite/gas/aarch64/plbi-invalid-2.l
create mode 100644 gas/testsuite/gas/aarch64/poe2-invalid-1.d
create mode 100644 gas/testsuite/gas/aarch64/poe2-invalid-1.l
create mode 100644 gas/testsuite/gas/aarch64/poe2-invalid-1.s
create mode 100644 gas/testsuite/gas/aarch64/poe2-invalid-2.d
create mode 100644 gas/testsuite/gas/aarch64/poe2-invalid-2.l
create mode 100644 gas/testsuite/gas/aarch64/poe2.d
create mode 100644 gas/testsuite/gas/aarch64/poe2.s
create mode 100644 gas/testsuite/gas/aarch64/sysreg/poe2-sysreg-1.d
create mode 100644 gas/testsuite/gas/aarch64/sysreg/poe2-sysreg-1.s
create mode 100644 gas/testsuite/gas/aarch64/sysreg/poe2-sysreg-2.d
create mode 100644 gas/testsuite/gas/aarch64/sysreg/poe2-sysreg-invalid-1.d
create mode 100644 gas/testsuite/gas/aarch64/sysreg/poe2-sysreg-invalid-1.l
create mode 100644 gas/testsuite/gas/aarch64/tev-invalid-1.d
create mode 100644 gas/testsuite/gas/aarch64/tev-invalid-1.l
create mode 100644 gas/testsuite/gas/aarch64/tev-invalid-1.s
create mode 100644 gas/testsuite/gas/aarch64/tev-invalid-2.d
create mode 100644 gas/testsuite/gas/aarch64/tev-invalid-2.l
create mode 100644 gas/testsuite/gas/aarch64/tev.d
create mode 100644 gas/testsuite/gas/aarch64/tev.s
--
2.25.1
More information about the Binutils
mailing list