Landing: fdfe1570235b
Project / Subsystem
gcc / gcc/middle-end
Date
2026-08-04
Author
Tamar Christina
Commit
fdfe1570235b1bddc4572255ff161b5dc25cc460
Source
github
Perf win
No
Breaking
No
All attributes
- project
- gcc
- subsystem
- gcc/middle-end
- patch_id
- —
- commit_hash
- fdfe1570235b1bddc4572255ff161b5dc25cc460
- source_type
- github
- headline
- Fix floating-point FMA to integer negation pattern to prevent ICEs
- tldr
- Correct a constraint in a negation pattern to prevent floating-point FMAs from being incorrectly folded into integer operations.
- author
- Tamar Christina
- outcome
- committed
- performance_win
- false
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • gcc/middle-end
- • optimization
- • FMA
- • SVE
- • ICE
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-08-04T00:00:00.000Z
This commit fixes a bug in a GCC optimization pattern that incorrectly allowed floating-point Fused Multiply-Add (FMA) operations to be folded into integer negation patterns. The erroneous constraint allowed the pattern to match even when the operands were floating-point types, leading to incorrect type conversions and an internal compiler error (ICE) due to mismatched SVE attributes. The fix adjusts the pattern’s guard to ensure it only applies to integral types, thereby preventing these incorrect transformations and compiler crashes.