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.