]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
aarch64: Add support for sme2.1 zero instructions.
authorSrinath Parvathaneni <srinath.parvathaneni@arm.com>
Mon, 8 Jul 2024 15:36:44 +0000 (16:36 +0100)
committerRichard Earnshaw <rearnsha@arm.com>
Fri, 12 Jul 2024 14:41:56 +0000 (15:41 +0100)
commit7bdb051fd62ca70aa2cf549441b7728d20a3a631
tree2285ed9d79fd35d898fb1fae79f365372eafd146
parent6ab366f2643d13507e53e85684dc5b5a5e14b54b
aarch64: Add support for sme2.1 zero instructions.

This patch adds support for following sme2.1 zero instructions and
the spec is available here [1].

1. ZERO (single-vector).
2. ZERO (double-vector).
3. ZERO (quad-vector).

The VECTOR GROUP symbols VGx2 and VGx4 are optional for the assembler
for most of the sme and sve instructions. But for few of the sme2.1
zero instruction variants VECTOR GROUP symbols VGx2 and VGx4 are mandatory.
To address this a bit "F_VG_REQ" is introduced in this patch, on setting
F_VG_REQ bit in flags of aarch64_opcode forces the assembler to accept
instruction operand only having VECTOR GROUP symbols.

[1]: https://developer.arm.com/documentation/ddi0602/2024-03/SME-Instructions?lang=en
gas/testsuite/gas/aarch64/sme-4-illegal.l
gas/testsuite/gas/aarch64/sme2p1-5-bad.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2p1-5-bad.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2p1-5-bad.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2p1-5.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sme2p1-5.s [new file with mode: 0644]
include/opcode/aarch64.h
opcodes/aarch64-dis-2.c
opcodes/aarch64-opc.c
opcodes/aarch64-tbl.h