[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
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.