Landing: e6c1179fd40d

Project / Subsystem

gcc / aarch64

Date

2026-05-21

Author

Wilco Dijkstra

Commit

e6c1179fd40d1c22755530d3ae54d4cca8b660f0

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
commit_hash
e6c1179fd40d1c22755530d3ae54d4cca8b660f0
source_type
github
headline
AArch64: Prefer w-regs for 32-Bit Move Immediate
tldr
GCC now uses w-registers for 32-bit immediate moves on AArch64, potentially improving code density and performance.
author
Wilco Dijkstra
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • aarch64
  • code generation
  • optimization
discussion_id_link
bugzilla_pr
date
2026-05-21T00:00:00.000Z

GCC now prefers using w-registers instead of x-registers for 32-bit immediate move instructions on AArch64. This change can lead to better code density and potentially improved performance, as w-registers are the 32-bit counterparts of the 64-bit x-registers. A new function aarch64_output_move_imm() was added to select w-registers when the immediate value is a 32-bit unsigned integer.