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.