Landing: 33097f255c60
Project / Subsystem
gcc / aarch64
Date
2026-09-05
Author
Artemiy Volkov
Commit
33097f255c609674e20feb6c4ca6cd10e25ac801
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- aarch64
- patch_id
- —
- commit_hash
- 33097f255c609674e20feb6c4ca6cd10e25ac801
- source_type
- github
- headline
- aarch64: Introduce and employ the extsize iterator for instruction suffixes
- tldr
- New 'extsize' iterator improves instruction pattern matching for aarch64 by distinguishing between extension and load/store suffixes.
- author
- Artemiy Volkov
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • aarch64
- • backend
- • instruction-selection
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-09-05T00:00:00.000Z
The aarch64 backend has introduced a new extsize iterator to correctly represent instruction suffixes for 32-bit operations. Previously, the generic size iterator was used for both extension instructions (like uxtw) and load/store instructions, incorrectly expanding to ‘w’ for 32-bit modes in the latter case. The extsize iterator expands to ‘w’ for extensions but an empty string for loads/stores, resolving issues with instructions like ldrw or strw which do not exist. This change ensures accurate pattern matching for SIMD and general-purpose instructions that have distinct suffixes for extensions versus memory operations.