Landing: 182f0056f5c1
Project / Subsystem
gcc / match.pd
Date
2026-07-19
Author
Philipp Tomsich
Commit
182f0056f5c137213eef3ba70f5ad885ddc55f9a
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- match.pd
- patch_id
- —
- commit_hash
- 182f0056f5c137213eef3ba70f5ad885ddc55f9a
- source_type
- github
- headline
- match.pd: Make vector copysign conversion rules float-safe.
- tldr
- Vector copysign conversions now use element precision to avoid tree evaluation ICEs.
- author
- Philipp Tomsich
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • optimization
- • match.pd
- • vector
- • floating-point
- • bugfix
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-07-19T00:00:00.000Z
This commit enhances the match.pd optimization rules to safely handle vectorized copysign operations, particularly when converting between different floating-point precisions. Previously, these rules evaluated TYPE_PRECISION on vector types, leading to Internal Compiler Errors (ICEs). The fix replaces this with element_precision, mirroring a similar change for abs operations. This ensures that the precision checks are correctly evaluated for vector types, preventing compiler crashes and ensuring correct transformation of vectorized copysign expressions.