Landing: d373724d1dde

Project / Subsystem

gcc / amdgcn

Date

2026-09-15

Author

Andrew Stubbs

Commit

d373724d1ddeef9b322b6b6078fc1de8dbe27791

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
amdgcn
patch_id
—
commit_hash
d373724d1ddeef9b322b6b6078fc1de8dbe27791
source_type
github
headline
amdgcn: Spill scalars to both SGPRs and AVGPRs for performance
tldr
AMDGCN backend now spills scalars to both SGPRs and AVGPRs, improving performance across various benchmarks.
author
Andrew Stubbs
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • gcc
  • • amdgcn
  • • gpu
  • • optimization
  • • registers
discussion_id_link
—
bugzilla_pr
—
date
2026-09-15T00:00:00.000Z

The AMD GCN backend in GCC has been updated to allow scalars residing in Vector General Purpose Registers (VGPRs) to be spilled into either Scalar General Purpose Registers (SGPRs) or Additional VGPRs (AVGPRs). This change addresses performance regressions observed when scalars were exclusively spilled to SGPRs, by providing flexibility in register allocation. The new approach improves performance across a range of benchmarks by better managing register pressure.