https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113965

--- Comment #5 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The trunk branch has been updated by Richard Sandiford <rsand...@gcc.gnu.org>:

https://gcc.gnu.org/g:df87b300bd13ed047b1159022c93445f130458e6

commit r15-8037-gdf87b300bd13ed047b1159022c93445f130458e6
Author: Richard Sandiford <richard.sandif...@arm.com>
Date:   Thu Mar 13 15:13:00 2025 +0000

    testsuite: Fix sve/mask_struct_load_3_run.c [PR113965]

    Among other things, this testcase tests an addition of the four
    values (n*4+[0:3])*9//2 for each n in [0:99].  The addition is
    done in multiple integer and floating-point types and the test
    is compiled with -ffast-math.

    One of the floating-point types is _Float16, and as Andrew says
    in the PR, _Float16's limited precision means that the order of the
    additions begins to matter for higher n.  Specifically, some orders
    begin to give different results from others at n=38, and at many
    higher n as well.

    This patch uses 5/3 rather than 9/2.  I tested locally that
    all addition orders give the same result over the test range.

    gcc/testsuite/
            PR testsuite/113965
            * gcc.target/aarch64/sve/mask_struct_load_3_run.c: Use an
            input range that is suitable for _Float16.

Reply via email to