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

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

Message

Srinath Parvathaneni Dec. 5, 2025, 10:57 a.m. UTC
  Changes in v1 -> v2
---------------
* Add --no-info options to the *.d file in [2/3]
  to avoid the unnecessary info macro warnings.
* Fix documentation spelling mistakes 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.

Srinath Parvathaneni (3):
  aarch64: Add support for POE2 instructions.
  aarch64: Add support for POE2 system registers.
  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    | 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                      |   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, 2650 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