[PATCH 0/7][Binutils] aarch64: Fix the FEAT_SVE2p1 related issues.

srinath srinath.parvathaneni@arm.com
Wed May 22 10:04:28 GMT 2024


Hi,

The FEAT_SVE2p1 related issues were reported here [1] and I have posted
few patches to fix those issues [2].

This patch series is the re-spin of those patches in [2], splitting them and
also addresssing other issues like adding extra tests for FEAT_SVE2p1
instructions and fix FEAT_B16B16 sve2 instruction constraints.

[1] https://sourceware.org/pipermail/binutils/2024-February/132408.html
[2] https://sourceware.org/pipermail/binutils/2024-February/132636.html

Srinath Parvathaneni (11):
  [Binutils] aarch64: Enable mandatory feature bits for v9.4-A.
  [Binutils] aarch64: Fix sve2p1 dupq instruction operands.
  [Binutils] aarch64: Fix sve2p1 dupq instruction operands (regenerated
    files).
  [Binutils] aarch64: Fix sve2p1 extq instruction operands.
  [Binutils] aarch64: Fix sve2p1 extq instruction operands (regenerated
    files).
  [Binutils] aarch64: Fix sve2p1 ld[1-4]/st[1-4]q instruction operands.
  [Binutils] aarch64: Fix sve2p1 ld[1-4]/st[1-4]q instruction operands
    (regenerated files).
  [BINUTILS] aarch64: Fix the wrong constraint used for sve2p1
    instructions.
  [Binutils] aarch64: Add extra tests for sve2p1 min max instructions.
  [Binutils] aarch64: Fix FEAT_B16B16 sve2 instruction constraints.
  [Binutils] aarch64: Fix FEAT_B16B16 sve2 instruction constraints
    (regenerated files).

 gas/config/tc-aarch64.c                       |   4 +-
 gas/testsuite/gas/aarch64/bfloat16-1.d        |   6 +
 gas/testsuite/gas/aarch64/bfloat16-1.s        |   7 +-
 .../gas/aarch64/bfloat16-2-invalid.d          |   4 +
 .../gas/aarch64/bfloat16-2-invalid.l          | 265 ++++++++++++++++++
 .../gas/aarch64/bfloat16-2-invalid.s          | 147 ++++++++++
 gas/testsuite/gas/aarch64/bfloat16-bad.l      |   3 +
 gas/testsuite/gas/aarch64/bfloat16-invalid.d  |   2 +-
 gas/testsuite/gas/aarch64/bfloat16-invalid.l  |  17 +-
 gas/testsuite/gas/aarch64/bfloat16-invalid.s  |   9 +-
 gas/testsuite/gas/aarch64/sme-5-illegal.l     |   8 +-
 gas/testsuite/gas/aarch64/sme-6-illegal.l     |   8 +-
 gas/testsuite/gas/aarch64/sve2p1-1-bad.d      |   2 +-
 gas/testsuite/gas/aarch64/sve2p1-1-bad.l      | 179 ++++++------
 gas/testsuite/gas/aarch64/sve2p1-1-invalid.d  |   4 +
 gas/testsuite/gas/aarch64/sve2p1-1-invalid.l  | 101 +++++++
 gas/testsuite/gas/aarch64/sve2p1-1-invalid.s  |  26 ++
 gas/testsuite/gas/aarch64/sve2p1-1.d          | 181 ++++++------
 gas/testsuite/gas/aarch64/sve2p1-1.s          | 180 ++++++------
 gas/testsuite/gas/aarch64/sve2p1-2-bad.d      |   4 +
 gas/testsuite/gas/aarch64/sve2p1-2-bad.l      |   2 +
 gas/testsuite/gas/aarch64/sve2p1-2-invalid.d  |   3 +
 gas/testsuite/gas/aarch64/sve2p1-2-invalid.l  |  47 ++++
 gas/testsuite/gas/aarch64/sve2p1-2-invalid.s  |  10 +
 gas/testsuite/gas/aarch64/sve2p1-2.d          |  34 +++
 gas/testsuite/gas/aarch64/sve2p1-2.s          |  28 ++
 gas/testsuite/gas/aarch64/sve2p1-3-bad.d      |   3 +
 gas/testsuite/gas/aarch64/sve2p1-3-bad.l      | 208 ++++++++++++++
 gas/testsuite/gas/aarch64/sve2p1-3-bad.s      |  59 ++++
 gas/testsuite/gas/aarch64/sve2p1-3-invalid.d  |   3 +
 gas/testsuite/gas/aarch64/sve2p1-3-invalid.l  |  17 ++
 gas/testsuite/gas/aarch64/sve2p1-3-invalid.s  |  16 ++
 gas/testsuite/gas/aarch64/sve2p1-3.d          |  20 ++
 gas/testsuite/gas/aarch64/sve2p1-3.s          |  12 +
 gas/testsuite/gas/aarch64/sve2p1-4-invalid.d  |   3 +
 gas/testsuite/gas/aarch64/sve2p1-4-invalid.l  | 116 ++++++++
 gas/testsuite/gas/aarch64/sve2p1-4-invalid.s  | 119 ++++++++
 gas/testsuite/gas/aarch64/sve2p1-4.d          | 144 ++++++++++
 gas/testsuite/gas/aarch64/sve2p1-4.s          | 147 ++++++++++
 gas/testsuite/gas/aarch64/sve2p1-nosve2.s     |   1 +
 include/opcode/aarch64.h                      |   9 +-
 opcodes/aarch64-asm-2.c                       |  89 +++---
 opcodes/aarch64-asm.c                         |  19 +-
 opcodes/aarch64-asm.h                         |   1 -
 opcodes/aarch64-dis-2.c                       | 106 ++++---
 opcodes/aarch64-dis.c                         |  36 +--
 opcodes/aarch64-dis.h                         |   1 -
 opcodes/aarch64-opc-2.c                       |   8 +-
 opcodes/aarch64-opc.c                         |  16 +-
 opcodes/aarch64-tbl.h                         | 127 ++++-----
 50 files changed, 2007 insertions(+), 554 deletions(-)
 create mode 100644 gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
 create mode 100644 gas/testsuite/gas/aarch64/bfloat16-2-invalid.l
 create mode 100644 gas/testsuite/gas/aarch64/bfloat16-2-invalid.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-1-invalid.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-1-invalid.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-1-invalid.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2-bad.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2-bad.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2-invalid.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2-invalid.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2-invalid.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-2.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-bad.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-bad.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-bad.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-invalid.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-invalid.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3-invalid.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-3.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-4-invalid.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-4-invalid.l
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-4-invalid.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-4.d
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-4.s
 create mode 100644 gas/testsuite/gas/aarch64/sve2p1-nosve2.s

-- 
2.25.1



More information about the Binutils mailing list