Landing: e6e3290cddbf

Project / Subsystem

gcc / middle-end

Date

2026-07-29

Author

Tamar Christina

Commit

e6e3290cddbf1da000bfc6fcd2a1e5a2b2cd27fb

Source

github

Perf win

Yes

Breaking

No

All attributes

project
gcc
subsystem
middle-end
patch_id
—
commit_hash
e6e3290cddbf1da000bfc6fcd2a1e5a2b2cd27fb
source_type
github
headline
Fix COND_FMS foldings with corrected negation and masking.
tldr
Corrects issues in folding conditional fused multiply-subtract operations, improving optimization accuracy.
author
Tamar Christina
outcome
committed
performance_win
true
breaking_change
false
series_id
—
series_parts
[]
tags
  • • optimization
  • • aarch64
  • • sve
  • • vectorization
  • • bugfix
discussion_id_link
—
bugzilla_pr
—
date
2026-07-29T00:00:00.000Z

This commit addresses errors in GCC’s middle-end optimization pass related to folding conditional fused multiply-subtract (COND_FMS) operations. Typos in the optimization patterns led to incorrect negation of values and missing masks, impacting the accuracy of FMA (Fused Multiply-Add) optimizations. The fix corrects these pattern errors and adds new test cases to ensure robustness, particularly for SVE (Scalable Vector Extension) on AArch64 architectures.