public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/12] aarch64: Add Armv9.4-A support for the d128 extension
@ 2024-01-03  1:17 Victor Do Nascimento
  2024-01-03  1:17 ` [PATCH 01/12] aarch64: Add +d128 architectural feature support Victor Do Nascimento
                   ` (12 more replies)
  0 siblings, 13 replies; 16+ messages in thread
From: Victor Do Nascimento @ 2024-01-03  1:17 UTC (permalink / raw)
  To: binutils; +Cc: richard.earnshaw, nickc, Victor Do Nascimento

The d128 extension released as an optional architectural feature for
Armv9.4-a introduces 128-bit page table descriptors and support for
these.

Support is done via 128-bit system registers and instructions to
retrieve and write to these in the form of `mrrs'/`msrr',
respectively, as well as the 128-bit system instruction `sysp' and its
alias `tlbip': TLB Invalidate Pair operation.

This patch series adds the necessary changes for assembly, disassembly
and validation of these operations and their various operands.

Victor Do Nascimento (12):
  aarch64: Add +d128 architectural feature support
  aarch64: Expand maximum number of operands from 5 to 6
  aarch64: Add support for xzr register in register pair operands
  aarch64: Add support for optional operand pairs
  aarch64: Add support for the SYSP 128-bit system instruction
  aarch64: Apply narrowing of allowed immediate values for SYSP
  aarch64: Create QL_SRC_X2 and QL_DEST_X2 qualifier macros
  aarch64: Implement TLBIP 128-bit instruction
  aarch64: Add xs variants of tlbip operands
  aarch64: Add TLBIP tests
  aarch64: Add support for 128-bit system register mrrs and msrr insns
  arch64: Add optional operand register pair support tests

 gas/config/tc-aarch64.c                       |  54 ++++++-
 gas/doc/c-aarch64.texi                        |   2 +
 gas/testsuite/gas/aarch64/illegal-sys128.d    |   3 +
 gas/testsuite/gas/aarch64/illegal-sys128.l    |   4 +
 gas/testsuite/gas/aarch64/illegal-sys128.s    |   5 +
 .../gas/aarch64/illegal-sysp-tlbip-optional.d |   4 +
 .../gas/aarch64/illegal-sysp-tlbip-optional.l |   4 +
 .../gas/aarch64/illegal-sysp-tlbip-optional.s |  10 ++
 gas/testsuite/gas/aarch64/illegal-sysreg128.d |   2 +
 gas/testsuite/gas/aarch64/illegal-sysreg128.l |  11 ++
 gas/testsuite/gas/aarch64/illegal-sysreg128.s |   8 +
 .../gas/aarch64/sysp-tlbip-optional.d         |  17 ++
 .../gas/aarch64/sysp-tlbip-optional.s         |  22 +++
 gas/testsuite/gas/aarch64/sysp.d              |  10 ++
 gas/testsuite/gas/aarch64/sysp.s              |   4 +
 gas/testsuite/gas/aarch64/sysreg128.d         |  28 ++++
 gas/testsuite/gas/aarch64/sysreg128.s         |  17 ++
 gas/testsuite/gas/aarch64/tlbip.d             | 127 +++++++++++++++
 gas/testsuite/gas/aarch64/tlbip.s             | 132 +++++++++++++++
 include/opcode/aarch64.h                      |  26 ++-
 opcodes/aarch64-dis.c                         |   9 +-
 opcodes/aarch64-opc.c                         | 152 +++++++++++++++++-
 opcodes/aarch64-opc.h                         |   1 +
 opcodes/aarch64-tbl.h                         |  34 ++++
 24 files changed, 672 insertions(+), 14 deletions(-)
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sys128.d
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sys128.l
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sys128.s
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sysp-tlbip-optional.d
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sysp-tlbip-optional.l
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sysp-tlbip-optional.s
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sysreg128.d
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sysreg128.l
 create mode 100644 gas/testsuite/gas/aarch64/illegal-sysreg128.s
 create mode 100644 gas/testsuite/gas/aarch64/sysp-tlbip-optional.d
 create mode 100644 gas/testsuite/gas/aarch64/sysp-tlbip-optional.s
 create mode 100644 gas/testsuite/gas/aarch64/sysp.d
 create mode 100644 gas/testsuite/gas/aarch64/sysp.s
 create mode 100644 gas/testsuite/gas/aarch64/sysreg128.d
 create mode 100644 gas/testsuite/gas/aarch64/sysreg128.s
 create mode 100644 gas/testsuite/gas/aarch64/tlbip.d
 create mode 100644 gas/testsuite/gas/aarch64/tlbip.s

-- 
2.42.0


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2024-01-08 10:04 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-03  1:17 [PATCH 00/12] aarch64: Add Armv9.4-A support for the d128 extension Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 01/12] aarch64: Add +d128 architectural feature support Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 02/12] aarch64: Expand maximum number of operands from 5 to 6 Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 03/12] aarch64: Add support for xzr register in register pair operands Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 04/12] aarch64: Add support for optional operand pairs Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 05/12] aarch64: Add support for the SYSP 128-bit system instruction Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 06/12] aarch64: Apply narrowing of allowed immediate values for SYSP Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 07/12] aarch64: Create QL_SRC_X2 and QL_DEST_X2 qualifier macros Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 08/12] aarch64: Implement TLBIP 128-bit instruction Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 09/12] aarch64: Add xs variants of tlbip operands Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 10/12] aarch64: Add TLBIP tests Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 11/12] aarch64: Add support for 128-bit system register mrrs and msrr insns Victor Do Nascimento
2024-01-03  1:17 ` [PATCH 12/12] arch64: Add optional operand register pair support tests Victor Do Nascimento
2024-01-05 16:10 ` [PATCH 00/12] aarch64: Add Armv9.4-A support for the d128 extension Nick Clifton
2024-01-05 16:53   ` Victor Do Nascimento
2024-01-08 10:04     ` Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).