Landing: b70a80cfff50
Project / Subsystem
gcc / match.pd
Date
2026-09-24
Author
Artemiy Volkov
Commit
b70a80cfff503060f48a12c090e5b4983d3c6156
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- match.pd
- patch_id
- —
- commit_hash
- b70a80cfff503060f48a12c090e5b4983d3c6156
- source_type
- github
- headline
- Fix comparison in match.pd pattern for bit extraction and shift
- tldr
- Correctly handles constants of different precisions in bit manipulation pattern matching.
- author
- Artemiy Volkov
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • optimization
- • pattern matching
- • bugfix
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-09-24T00:00:00.000Z
A bug in the match.pd pattern matching for bit extraction and shift operations has been fixed. The issue occurred when constants C1 and C3 in the ((X >> C1) & C2) << C3 pattern had different data precisions, leading to an assertion failure. The fix involves converting these constants to widest_int instead of a common type, resolving the ICE reported in PR127552.