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.