Landing: c9698b7443d6
Project / Subsystem
gcc / x86
Date
2026-09-02
Author
Richard Biener
Commit
c9698b7443d6f19a7bac86e34d6eaeb5439fff60
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- x86
- patch_id
- —
- commit_hash
- c9698b7443d6f19a7bac86e34d6eaeb5439fff60
- source_type
- github
- headline
- x86: Move CTOR gpr<->xmm move costing to add_slp_cost overload
- tldr
- Vectorizer's GPR-to-XMM move costing for constructors moved to a more appropriate SLP hook.
- author
- Richard Biener
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • x86
- • vectorization
- • optimization
- • cost model
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-09-02T00:00:00.000Z
GCC’s x86 vectorizer has refactored how it costs moves between general-purpose registers (GPRs) and XMM registers during vector constructor operations. Previously, this costing was performed in a less efficient manner within the add_stmt_cost hook, potentially leading to redundant calculations. The change moves this costing logic to the add_slp_cost overload, which is invoked once per SLP node, eliminating duplicate costing and improving the accuracy of cost estimations for vectorization.