public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v2 0/11][Binutils] aarch64: Fix the FEAT_SVE2p1 related issues.
@ 2024-06-12 15:58 srinath
  2024-06-12 15:58 ` [PATCH v1 01/11] [Binutils] aarch64: Enable mandatory feature bits for v9.4-A srinath
                   ` (10 more replies)
  0 siblings, 11 replies; 18+ messages in thread
From: srinath @ 2024-06-12 15:58 UTC (permalink / raw)
  To: binutils; +Cc: richard.earnshaw, nickc, srinath

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):
[PATCH v1 1/11][Binutils] aarch64: Enable mandatory feature bits for v9.4-A.
   Enables FEAT_SVE2p1 for Armv9.4-A architecture by default.

[PATCH v2 2/11][Binutils] aarch64: Fix sve2p1 dupq instruction operands.
   Fixes the syntax of sve2p1 "dupq" instruction.
   
   Changes from v1 - > v2:
   Version1 of this patch is posted here:
   https://sourceware.org/pipermail/binutils/2024-February/132636.html

   - This patch addresses the comment to split dupq and extq instruction fixes
     to separate patches (4/11).
   - Enabling FEAT_SVE2p1 for Armv9.4-A architecture by default is moved to
     separate patch (1/11).
   - insert_all_fields_after/extract_all_fields_after is used instead of
     insert_fields/extract_fields to avoid access code changes.
   - case sve_index1: is removed.
   - aarch64_ext_sve_index_imm and -aarch64_ins_sve_index_imm functions are
     removed.
   
[PATCH v1 3/11][Binutils] aarch64: Fix sve2p1 dupq instruction operands (regenerated
    files).
   Auto generated opcode/aarch64-*-2.c files after fixing sve2p1 "dupq" instruction.

[PATCH v1 4/11][Binutils] aarch64: Fix sve2p1 extq instruction operands.
   Fixes the syntax of sve2p1 "extq" instruction.

[PATCH v1 5/11][Binutils] aarch64: Fix sve2p1 extq instruction operands (regenerated
    files).
   Auto generated opcode/aarch64-*-2.c files after fixing sve2p1 "extq" instruction.

[PATCH v2 6/11][Binutils] aarch64: Fix sve2p1 ld[1-4]/st[1-4]q instruction operands.
   Fixes encoding and syntax for sve2p1 instructions ld[1-4]q/st[1-4]q.
 
   Changes from v1->v2:
   Version1 of this patch is posted here:
   https://sourceware.org/pipermail/binutils/2024-February/132637.html

   - Added tests for the non-wrapping sequence of registers and shorter form.
   - For the above mentioned forms, the following is the preferred disassembly.
     For all the above form of instructions the hyphenated form is preferred for
     disassembly if there are more than one register in the list, and the
     register numbers are monotonically increasing in increments of one.

[PATCH v1 7/11][Binutils] aarch64: Fix sve2p1 ld[1-4]/st[1-4]q instruction operands
    (regenerated files).
   Auto generated opcode/aarch64-*-2.c files after fixing sve2p1 "ld[1-4]q/st[1-4]q"
   instruction.

[PATCH v1 8/11][BINUTILS] aarch64: Fix the wrong constraint used for sve2p1 instructions.
   As per the spec following instruction does not immediately preceded in program order by a
   MOVPRFX instruction and the issue is fixed in this patch.

   List of instructions updated: addqv, andqv, smaxqv, sminqv, umaxqv, uminqv,
                                 eorqv, faddqv, fmaxnmqv,fmaxqv, fminnmqv and fminqv.

[PATCH v1 9/11][Binutils] aarch64: Add extra tests for sve2p1 min max instructions.
    This patch adds some extra tests for the sve2p1 "addqv, andqv, smaxqv,
    sminqv, umaxqv, uminqv, eorqv, faddqv, fmaxnmqv, fmaxqv, fminnmqv and
    fminqv" instructions.

[PATCH v1 10/11][Binutils] aarch64: Fix FEAT_B16B16 sve2 instruction constraints.
   This patch adds missing contraints to FEAT_B16B16 sve2 instructions
   bfclamp, bfmla and bfmls and add negative tests for all the bfloat
   instructions.

[PATCH v1 11/11][Binutils] aarch64: Fix FEAT_B16B16 sve2 instruction constraints
    (regenerated files).
   Auto generated opcode/aarch64-*-2.c files after fixing FEAT_B16B16 sve2 instructions.

Regards,
Srinath.

 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                       |  95 +++----
 opcodes/aarch64-asm.c                         |  19 +-
 opcodes/aarch64-asm.h                         |   1 -
 opcodes/aarch64-dis-2.c                       | 112 ++++----
 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, 2013 insertions(+), 560 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


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

end of thread, other threads:[~2024-06-14 16:20 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-06-12 15:58 [PATCH v2 0/11][Binutils] aarch64: Fix the FEAT_SVE2p1 related issues srinath
2024-06-12 15:58 ` [PATCH v1 01/11] [Binutils] aarch64: Enable mandatory feature bits for v9.4-A srinath
2024-06-12 15:59 ` [PATCH v2 02/11] [Binutils] aarch64: Fix sve2p1 dupq instruction operands srinath
2024-06-13  6:20   ` Jan Beulich
2024-06-12 15:59 ` [PATCH v1 03/11] [Binutils] aarch64: Fix sve2p1 dupq instruction operands (regenerated files) srinath
2024-06-12 15:59 ` [PATCH v1 04/11] [Binutils] aarch64: Fix sve2p1 extq instruction operands srinath
2024-06-13  6:24   ` Jan Beulich
2024-06-12 15:59 ` [PATCH v1 05/11] [Binutils] aarch64: Fix sve2p1 extq instruction operands (regenerated files) srinath
2024-06-12 15:59 ` [PATCH v2 06/11] [Binutils] aarch64: Fix sve2p1 ld[1-4]/st[1-4]q instruction operands srinath
2024-06-13 15:10   ` Richard Earnshaw (lists)
2024-06-12 15:59 ` [PATCH v1 07/11] [Binutils] aarch64: Fix sve2p1 ld[1-4]/st[1-4]q instruction operands (regenerated files) srinath
2024-06-12 15:59 ` [PATCH v1 08/11] [BINUTILS] aarch64: Fix the wrong constraint used for sve2p1 instructions srinath
2024-06-12 15:59 ` [PATCH v1 09/11] [Binutils] aarch64: Add extra tests for sve2p1 min max instructions srinath
2024-06-12 15:59 ` [PATCH v1 10/11] [Binutils] aarch64: Fix FEAT_B16B16 sve2 instruction constraints srinath
2024-06-13 15:44   ` Richard Earnshaw (lists)
2024-06-14 15:44     ` Andre Vieira (lists)
2024-06-14 16:20       ` Richard Earnshaw (lists)
2024-06-12 15:59 ` [PATCH v1 11/11] [Binutils] aarch64: Fix FEAT_B16B16 sve2 instruction constraints (regenerated files) srinath

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).