Landing: 912c701af37f
Project / Subsystem
gcc / vect
Date
2026-09-11
Author
Dominic P
Commit
912c701af37fdc065f0a2957acd42e6b4a8e350d
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- vect
- patch_id
- —
- commit_hash
- 912c701af37fdc065f0a2957acd42e6b4a8e350d
- source_type
- github
- headline
- Vectorizer elides consecutive load permutation
- tldr
- Vectorizer now handles consecutive load permutations more efficiently, improving performance for certain memory access patterns.
- author
- Dominic P
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • vectorization
- • optimization
- • memory access
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-09-11T00:00:00.000Z
The GCC vectorizer has been enhanced to elide unnecessary load permutations when dealing with strided grouped loads. Previously, a permutation selecting a consecutive run of lanes within a group was not always optimized, leading to less efficient scalar loads. This commit removes a restrictive requirement that the run length must divide the group size, allowing the vectorizer to treat such consecutive runs as a single group. This optimization significantly improves performance for patterns like half-pel motion estimation, reducing instruction count and improving vectorization efficiency on architectures like aarch64.