mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-18 23:07:07 -05:00
With f16 rounding toward -infinity, v_fma_mixlo_f16 and v_fma_mixhi_f16 gave +0 for an exact cancellation such as 1.0 * 1.0 + -1.0, because the f64 sum is computed to nearest. RDNA2 gives -0 there, as IEEE 754 does for an exact zero sum rounded toward -infinity, measured on gfx1036 in #2631. An exact zero sum now gives -0 in that mode unless both the product and the addend are +0. A nonzero result that rounds to zero keeps its sign, so a tiny positive sum still gives +0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>