Landing: 9a72a88b4a5f

Project / Subsystem

gcc / gcc/alpha

Date

2026-08-06

Author

Matt Turner

Commit

9a72a88b4a5f4c271e78e6ff3ddc76e793dfa69c

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
gcc/alpha
patch_id
—
commit_hash
9a72a88b4a5f4c271e78e6ff3ddc76e793dfa69c
source_type
github
headline
Keep exception receiver instructions together
tldr
Fixes assembler errors on Alpha by ensuring paired exception-handling instructions are not separated by dead code elimination.
author
Matt Turner
outcome
committed
performance_win
false
breaking_change
false
series_id
gcc:alpha: keep the exception receiver's gpdisp pair together [pr124495]
series_parts
[]
tags
  • • gcc
  • • alpha
  • • optimization
  • • assembler
  • • PR124495
discussion_id_link
—
bugzilla_pr
—
date
2026-08-06T00:00:00.000Z

A bug in GCC’s Alpha backend caused the assembler to reject code by leaving behind an ldah instruction while removing its paired lda instruction. This happened because the exception_receiver and builtin_setjmp_receiver used different instruction types, making one deletable by dead code elimination while the other was not. This commit modifies the second instruction of the pair to use a new UNSPECV_LDGP2 volatile type, ensuring both are treated as a unit and preventing the assembler error.