aarch64: Add support for predicate-as-counter registers
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 30 Mar 2023 10:09:11 +0000 (11:09 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 30 Mar 2023 10:09:11 +0000 (11:09 +0100)
commit503fae12992e5dbf48b4e30cea8d35f31d87effe
treec1bd390a4f96d3ac0632de6ce917683fccf56667
parent586c62819f6eb9a77978628afd53ba12c91a11e7
aarch64: Add support for predicate-as-counter registers

SME2 adds a new format for the existing SVE predicate registers:
predicates as counters rather than predicates as masks.  In assembly
code, operands that interpret predicates as counters are written
pn<N> rather than p<N>.

This patch adds support for these registers and extends some
existing instructions to support them.  Since the new forms
are just a programmer convenience, there's no need to make them
more restrictive than the earlier predicate-as-mask forms.
22 files changed:
gas/config/tc-aarch64.c
gas/testsuite/gas/aarch64/sve-sme2-1-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-sme2-1-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-sme2-1-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-sme2-1-noarch.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-sme2-1-noarch.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-sme2-1.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve-sme2-1.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1-invalid.s [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1-noarch.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1-noarch.l [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1.d [new file with mode: 0644]
gas/testsuite/gas/aarch64/sve2-sme2-1.s [new file with mode: 0644]
include/opcode/aarch64.h
opcodes/aarch64-asm-2.c
opcodes/aarch64-asm.c
opcodes/aarch64-dis-2.c
opcodes/aarch64-opc-2.c
opcodes/aarch64-opc.c
opcodes/aarch64-tbl.h