aarch64: Deprioritise AARCH64_OPDE_REG_LIST
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 30 Mar 2023 10:09:07 +0000 (11:09 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 30 Mar 2023 10:09:07 +0000 (11:09 +0100)
commit36043bcff490e6c588d5b52318fbba233f478fab
treeb5c6dbb699f41671e10ad88dec5a48ef8aed3c33
parentc1817dc2ee18c27087de913bc970a87e67374b57
aarch64: Deprioritise AARCH64_OPDE_REG_LIST

SME2 has many instructions that take a list of SVE registers.
There are often multiple forms, with different forms taking
different numbers of registers.

This means that if, after a successful parse and qualifier match,
we find that the number of registers does not match the opcode entry,
the associated error should have a lower priority/severity than other
errors reported at the same stage.  For example, if there are 2-register
and 4-register forms of an instruction, and if the assembly code uses
the 2-register form with an out-of-range value, the out-of-range value
error against the 2-register instruction should have a higher priority
than the "wrong number of registers" error against the 4-register
instruction.

This is tested by the main SME2 patches, but seemed worth splitting out.
gas/config/tc-aarch64.c
include/opcode/aarch64.h