Landing: c0e9c7415cf3

Project / Subsystem

gcc / match.pd

Date

2026-05-11

Author

Artemiy Volkov

Commit

c0e9c7415cf368b4bf852919725c8ba590a615c2

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
match.pd
patch_id
commit_hash
c0e9c7415cf368b4bf852919725c8ba590a615c2
source_type
github
headline
match.pd: Rearrange (VCE (BFR)) simplification conditions
tldr
The compiler now correctly handles view conversions from bit-fields to integer types by adding a type precision check in match.pd.
author
Artemiy Volkov
outcome
committed
performance_win
true
breaking_change
false
series_id
series_parts
[]
tags
  • optimization
  • match.pd
  • bit-fields
  • type conversion
discussion_id_link
bugzilla_pr
date
2026-05-11T00:00:00.000Z

This commit fixes an issue in GCC’s pattern matching (match.pd) related to view conversions from bit-fields. The precondition for (view_convert (BIT_FIELD_REF)) simplification was incorrect, allowing conversions between vector types and _BitInt types where precision could be smaller than size. The fix adds a type_has_mode_precision_p() check for all integer types, ensuring correct handling of these conversions.