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.