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.