Landing: 75ee89676c8c
Project / Subsystem
gcc / aarch64
Date
2026-08-06
Author
Kyrylo Tkachov
Commit
75ee89676c8c61263b21c1bbf90ad4fd42c417c1
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- aarch64
- patch_id
- —
- commit_hash
- 75ee89676c8c61263b21c1bbf90ad4fd42c417c1
- source_type
- github
- headline
- AArch64 SVE enables vector DImode high-part multiply.
- tldr
- Improves vectorizer capabilities on AArch64 by using SVE's UMULH/SMULH for 64x64 high-part multiplication.
- author
- Kyrylo Tkachov
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • aarch64
- • sve
- • vectorization
- • optimization
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-06T00:00:00.000Z
This change enhances the AArch64 vectorizer by enabling it to perform vector DImode high-part multiplications using Scalable Vector Extension (SVE) instructions. Previously, Advanced SIMD lacked this capability, preventing optimization of loops requiring 64x64 high-part multiplies (e.g., calculating the upper 64 bits of a 128-bit product). By leveraging SVE’s UMULH and SMULH instructions on Z registers, GCC can now optimize these loops more effectively, generating more efficient machine code.