[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