]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
aarch64: Refactor exclusion of reg names in immediates
authorAlice Carlotti <alice.carlotti@arm.com>
Fri, 11 Jul 2025 06:55:45 +0000 (07:55 +0100)
committerAlice Carlotti <alice.carlotti@arm.com>
Sat, 12 Jul 2025 09:04:26 +0000 (10:04 +0100)
commit891fa528c2b3c8aac3e959ec6496ebffe5e5db15
tree875af412c3b70609268c4dc937cd1bcdbbf8ad6a
parent6a2b11857f8151379a6c0d126c3a7d38e2fbe776
aarch64: Refactor exclusion of reg names in immediates

When parsing immediate values, register names should not be
misinterpreted as symbols.  However, for backwards compatibility we need
to permit some newer register names within older instructions.  The
current mechanism for doing so depends on the list of explicit
architecture requirements for the instructions, which is fragile and
easy to forget, and grows increasingly messy as more architecture
features are added.

This patch add explicit flags to each opcode to indicate which set of
register names is disallowed in each instance.  These flags are
mandatory for all opcodes with immediate operands, which ensures that
the choice of disallowed names will always be deliberate and explicit.

This patch should have no functional change.
gas/config/tc-aarch64.c
include/opcode/aarch64.h
opcodes/aarch64-tbl.h