Landing: aa65cd8c8d69

Project / Subsystem

gcc / alpha

Date

2026-08-09

Author

Matt Turner

Commit

aa65cd8c8d69a344cffa3c63f21776d458de9914

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
alpha
patch_id
—
commit_hash
aa65cd8c8d69a344cffa3c63f21776d458de9914
source_type
github
headline
alpha: round to odd before narrowing TFmode to SFmode
tldr
Fixes incorrect rounding for TFmode to SFmode conversions on Alpha by implementing a round-to-odd strategy.
author
Matt Turner
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • alpha
  • • floating-point
  • • bugfix
discussion_id_link
—
bugzilla_pr
—
date
2026-08-09T00:00:00.000Z

This commit corrects a bug in Alpha’s conversion from TFmode (quad-precision floating-point) to SFmode (single-precision floating-point). Due to the lack of a direct hardware instruction, the conversion passed through DFmode (double-precision) and encountered issues with tie-breaking during the second rounding step. The fix implements a round-to-odd strategy at the last representable fraction bit of DFmode, ensuring correct rounding and preventing underflow flag loss, which resolved issues in glibc’s math test suite.