[PATCH v4 1/5] aarch64: Add support for FEAT_SVE_B16B16 feature.

Srinath Parvathaneni srinath.parvathaneni@arm.com
Thu Jan 9 13:37:58 GMT 2025


In the current code, SVE2 Bfloat16 instructions are implemented with tick
FEAT_B16B16 and command line flag "+b16b16" and this feature was suspended
due to incomplete support.

In the new spec available here[1], FEAT_B16B16 is replaced with
FEAT_SVE_B16B16 and command line flag "+b16b16" is replace with "sve-b16b16".

Also the test files related to FEAT_SVE_B16B16 are prefixed with sve-b16b16*.
eg: sve-b16b16-sve2-1.s, sve-b16b16-sve2-1.d.

This patch supports the SVE Z-targeting non-widening BFloat16 instructions
with command line flag "+sve-b16b16+sve2".
[1]: https://developer.arm.com/documentation/ddi0602/2024-06/SVE-Instructions?lang=en
---
 gas/config/tc-aarch64.c                       |   4 +-
 gas/doc/c-aarch64.texi                        |   4 +-
 .../gas/aarch64/bfloat16-1-invalid.d          |   4 -
 .../gas/aarch64/bfloat16-2-invalid.d          |   5 -
 gas/testsuite/gas/aarch64/bfloat16-bad.d      |   4 -
 gas/testsuite/gas/aarch64/bfloat16-bad.l      | 100 ------------------
 .../gas/aarch64/sve-b16b16-sve2-bad-1.d       |   3 +
 ...16-1-invalid.l => sve-b16b16-sve2-bad-1.l} |   0
 ...16-1-invalid.s => sve-b16b16-sve2-bad-1.s} |   0
 .../gas/aarch64/sve-b16b16-sve2-bad-2.d       |   3 +
 ...16-2-invalid.l => sve-b16b16-sve2-bad-2.l} |  24 ++---
 ...16-2-invalid.s => sve-b16b16-sve2-bad-2.s} |   0
 .../{bfloat16-1.d => sve-b16b16-sve2.d}       |   5 +-
 .../{bfloat16-1.s => sve-b16b16-sve2.s}       |   0
 include/opcode/aarch64.h                      |   4 +-
 opcodes/aarch64-tbl.h                         |  28 ++---
 16 files changed, 39 insertions(+), 149 deletions(-)
 delete mode 100644 gas/testsuite/gas/aarch64/bfloat16-1-invalid.d
 delete mode 100644 gas/testsuite/gas/aarch64/bfloat16-2-invalid.d
 delete mode 100644 gas/testsuite/gas/aarch64/bfloat16-bad.d
 delete mode 100644 gas/testsuite/gas/aarch64/bfloat16-bad.l
 create mode 100644 gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-1.d
 rename gas/testsuite/gas/aarch64/{bfloat16-1-invalid.l => sve-b16b16-sve2-bad-1.l} (100%)
 rename gas/testsuite/gas/aarch64/{bfloat16-1-invalid.s => sve-b16b16-sve2-bad-1.s} (100%)
 create mode 100644 gas/testsuite/gas/aarch64/sve-b16b16-sve2-bad-2.d
 rename gas/testsuite/gas/aarch64/{bfloat16-2-invalid.l => sve-b16b16-sve2-bad-2.l} (97%)
 rename gas/testsuite/gas/aarch64/{bfloat16-2-invalid.s => sve-b16b16-sve2-bad-2.s} (100%)
 rename gas/testsuite/gas/aarch64/{bfloat16-1.d => sve-b16b16-sve2.d} (97%)
 rename gas/testsuite/gas/aarch64/{bfloat16-1.s => sve-b16b16-sve2.s} (100%)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: v4-0001-aarch64-Add-support-for-FEAT_SVE_B16B16-feature.patch
Type: text/x-patch
Size: 23534 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20250109/24c60290/attachment-0001.bin>


More information about the Binutils mailing list