[PATCH] alpha: Fix missing inexact-flag raising for lround/lrint
John Paul Adrian Glaubitz
glaubitz@physik.fu-berlin.de
Wed Sep 10 09:40:38 GMT 2025
On Sat, 2025-09-06 at 19:23 -0300, Adhemerval Zanella wrote:
> The l*[rint|round]f implements uses alpha 'cvtst/s', 'addt/suc',
> adn 'cvttq/svd' which are not not fully IEEE compliant w.r.t
> inexact-flag raising.. Use the software fallback implementation
> instead.
>
> Checked on alpha-linux-gnu.
Thanks for fixing this. I think some of these math failures are actually
also visible in the OpenBLAS testsuite on alpha, see [1]:
TEST 27/126 dsdot:dsdot_n_1 [FAIL]
ERR: test_dsdot.c:47 expected -2.393e-03, got -2.393e-03 (diff -1.035e-10, tol 1.000e-13)
TEST 28/126 swap:cswap_inc_0 [FAIL]
ERR: test_swap.c:110 expected 1.000e+00, got 2.000e+00 (diff -1.000e+00, tol 1.000e-04)
TEST 29/126 swap:sswap_inc_0 [OK]
TEST 30/126 swap:zswap_inc_0 [FAIL]
ERR: test_swap.c:70 expected 1.000e+00, got 2.000e+00 (diff -1.000e+00, tol 1.000e-13)
TEST 31/126 swap:dswap_inc_0 [OK]
TEST 32/126 rot:csrot_inc_0 [OK]
TEST 33/126 rot:srotm_inc_1 [OK]
TEST 34/126 rot:srot_inc_1 [OK]
TEST 35/126 rot:srot_inc_0 [OK]
TEST 36/126 rot:zdrot_inc_0 [OK]
TEST 37/126 rot:drotm_inc_1 [OK]
TEST 38/126 rot:drot_inc_1 [OK]
TEST 39/126 rot:drot_inc_0 [OK]
TEST 40/126 dnrm2:dnrm2_neg_incx [OK]
TEST 41/126 dnrm2:dnrm2_tiny make[3]: *** [Makefile:86: run_test] Floating point exception
Adrian
> [1] https://buildd.debian.org/status/fetch.php?pkg=openblas&arch=alpha&ver=0.3.30%2Bds-2&stamp=1757237567&raw=0
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
More information about the Libc-alpha
mailing list