Landing: 9c8aa6038770

Project / Subsystem

gcc / aarch64

Date

2026-08-11

Author

Kyrylo Tkachov

Commit

9c8aa60387702aedd5fd619064c16609b40fa476

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
aarch64
patch_id
—
commit_hash
9c8aa60387702aedd5fd619064c16609b40fa476
source_type
github
headline
aarch64: Prevent trapping FP comparisons from becoming conditional.
tldr
Ensures floating-point comparisons that can trap (e.g., with NaNs) remain unconditional on AArch64.
author
Kyrylo Tkachov
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • aarch64
  • • floating-point
  • • exceptions
discussion_id_link
—
bugzilla_pr
—
date
2026-08-11T00:00:00.000Z

On AArch64, conditional floating-point comparisons can mask exceptions, such as those raised by quiet NaNs. This commit modifies the code generation to prevent such trapping comparisons from becoming conditional, preserving the expected exception behavior. It ensures that operations like (a < b) & (c < d) correctly raise exceptions if c or d is a quiet NaN when a < b is false. New tests are added to verify this behavior.