Landing: dcb8c8d3e733

Project / Subsystem

gcc / ifcvt

Date

2026-07-21

Author

Philipp Tomsich

Commit

dcb8c8d3e7333b09081f81c29358e03e73d59a12

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
ifcvt
patch_id
commit_hash
dcb8c8d3e7333b09081f81c29358e03e73d59a12
source_type
github
headline
ifcvt: Avoid store flag for irreversible conditions
tldr
Fixes ifcvt to not emit store flags for conditions that cannot be reliably reversed.
author
Philipp Tomsich
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • ifcvt
  • optimization
  • rtl
  • bugfix
discussion_id_link
bugzilla_pr
date
2026-07-21T00:00:00.000Z

This change corrects an issue in GCC’s ifcvt optimization pass where it would incorrectly attempt to emit a store flag for comparisons that could not be reliably reversed. The noce_emit_store_flag function now checks for unknown comparison codes, preventing a crash when dealing with floating-point conditions on targets that use condition code registers.