Landing: b3474d5cddda

Project / Subsystem

gcc / aarch64

Date

2026-09-02

Author

Alfie Richards

Commit

b3474d5cddda183dcd8d8a2745fba02578816055

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
—
commit_hash
b3474d5cddda183dcd8d8a2745fba02578816055
source_type
github
headline
aarch64: Fix invalid CSE on read FFRs in SVE builtins.
tldr
Corrected how FFR values are updated in AArch64 SVE builtins to prevent incorrect Common Subexpression Elimination.
author
Alfie Richards
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • aarch64
  • • sve
  • • compiler
  • • optimization
discussion_id_link
github:gcc-mirror/gcc#126629
bugzilla_pr
—
date
2026-09-02T00:00:00.000Z

This fix addresses an issue in AArch64 SVE builtins where the FFR (First Fault Register) update was not correctly dependent on the loaded value, leading to invalid Common Subexpression Elimination (CSE). The changes modify the expand methods for svldff1_gather_impl, svldff1_gather_extend, svldxf1_impl, and svldxf1_extend_impl, and update the aarch64_update_ffr_for_load pattern in aarch64-sve.md to ensure the FFR update is based on the actual loaded data, thus fixing the PR126629.