[v1,0/3] aarch64: Add support for POE2 extension.

Message ID 20251204124235.74048-1-srinath.parvathaneni@arm.com
Headers
Series aarch64: Add support for POE2 extension. |

Message

Srinath Parvathaneni Dec. 4, 2025, 12:42 p.m. UTC
  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.

Srinath Parvathaneni (3):
  [1/3] aarch64: Add support for POE2 instructions.
  [2/3] aarch64: Add support for POE2 system registers.
  [3/3] aarch64: Add support for TEV instructions.

 gas/config/tc-aarch64.c                       |   60 +
 gas/doc/c-aarch64.texi                        |    4 +
 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    | 4945 +++++++++++++++++
 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                      |    9 +
 opcodes/aarch64-asm-2.c                       |    2 +
 opcodes/aarch64-dis-2.c                       |  112 +-
 opcodes/aarch64-opc-2.c                       |    2 +
 opcodes/aarch64-opc.c                         |   12 +
 opcodes/aarch64-opc.h                         |    1 +
 opcodes/aarch64-sys-regs.def                  |  263 +
 opcodes/aarch64-tbl-2.h                       |    6 +
 opcodes/aarch64-tbl.h                         |   31 +
 30 files changed, 7068 insertions(+), 25 deletions(-)
 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