[PATCH 11/23] aarch64: Add F_REQUIRES_SP and eliminate QLF_SP and QLF_WSP
Project / Subsystem
binutils / aarch64
Date
2026-05-07
Proposer
Alice Carlotti <alice.carlotti@arm.com>
Source type
public_inbox
Consensus
Proposed
Sentiment
—/10
Technical tradeoffs
- • Removes `QLF_SP` and `QLF_WSP`, reducing the complexity of the operand qualifier system.
- • Introduces `F_REQUIRES_SP`, adding a new flag to the opcode definition.
- • Simplifies qualifier matching logic.
All attributes
- project
- binutils
- subsystem
- aarch64
- patch_id
- —
- discussion_id
- fe6df20a-c3bc-7e96-e130-f9e7497b1cf5@e124511.cambridge.arm.com
- source_type
- public_inbox
- title
- [PATCH 11/23] aarch64: Add F_REQUIRES_SP and eliminate QLF_SP and QLF_WSP
- headline
- Aarch64: Add F_REQUIRES_SP and eliminate QLF_SP and QLF_WSP
- tldr
- Enforce stack pointer requirements using opcode flags instead of operand qualifiers, simplifying the code.
- proposer
- Alice Carlotti <alice.carlotti@arm.com>
- consensus
- Proposed
- outcome
- proposed
- sentiment_score
- —
- technical_tradeoffs
-
- • Removes `QLF_SP` and `QLF_WSP`, reducing the complexity of the operand qualifier system.
- • Introduces `F_REQUIRES_SP`, adding a new flag to the opcode definition.
- • Simplifies qualifier matching logic.
- series_id
- binutils:aarch64: add f_requires_sp and eliminate qlf_sp and qlf_wsp
- series_role
- reply
- series_parts
- []
- tags
-
- • aarch64
- • assembler
- • stack pointer
- • opcode flag
- • code simplification
- url
- https://inbox.sourceware.org/binutils/fe6df20a-c3bc-7e96-e130-f9e7497b1cf5@e124511.cambridge.arm.com
- bugzilla_url
- —
- date
- 2026-05-07T00:00:00.000Z
[PATCH 11/23] aarch64: Add F_REQUIRES_SP and eliminate QLF_SP and QLF_WSP
This patch replaces the QLF_SP and QLF_WSP operand qualifiers with a new opcode flag, F_REQUIRES_SP. This flag enforces the requirement for at least one stack pointer operand in the mov (to/from SP) opcode. By using an opcode flag instead of operand qualifiers, the code for switching between SP and non-SP qualifiers is removed, resulting in a simpler and less confusing implementation.