binutils Newspaper
JULY 29, 2026
Date
/
Architectures
Components
Topics
News & Policy
Other
opcodes/aarch64

aarch64: Move operand field parsing to aarch64-opc-2.c

Simplifies AArch64 instruction parsing by consolidating operand field definitions into a dedicated file.

This commit refactors the AArch64 opcode parsing by moving operand field definitions from aarch64-gen.c to aarch64-opc-2.c. It adopts a new macro-based approach, AARCH64_FIELD, to define operand fields, enabling the use of shorthand macros in aarch64-tbl.h without external exports. This change aims to streamline the opcode definition process and improve code maintainability.

In Details

The move involves redefining how operand fields for AArch64 instructions are specified. Previously, fields were embedded within X and Y macro definitions in aarch64-gen.c. This patch extracts these field definitions into aarch64-opc-2.c, using a new F macro to represent field lists. The goal is to simplify the definition of instruction operands and allow aarch64-tbl.h to use shorthand macros more effectively, reducing the need for external exposure of these definitions.

For Context
AARCH64_FIELD
A macro used in AArch64 opcode definitions to represent a field within an instruction's operand. This commit introduces a new way to define these fields, consolidating them into a specific file for better organization.
operand
In the context of instruction set architecture, an operand is a part of an instruction that specifies the data or address to be operated on. Opcode parsing involves identifying and processing these operands.
Filed Under: aarch64opcodesparsing