On Sun, Mar 29, 2026 at 12:41 PM Alexandre Oliva <[email protected]> wrote:
>
>
> When using the 387 FPU, we don't perform the expected optimization of
> unions to floats. Setting -fexcess-precision=standard. doesn't fix it
> for x86, but selecting -mfpmath=sse and forcing sse enabled does.
>
> Regstrapped on x86_64-linux-gnu. Also tested with ppc-vx7r2,
> ppc64-vx7r2, arm-vx7r2, aarch64-vx7r2, x86_64-vx7r2, and x86-vx7r2. Ok
> to install?
>
>
> for gcc/testsuite/ChangeLog
>
> * gcc.dg/tree-ssa/pr32964.c: Select the SSE FPU on x86.
OK.
Thanks,
Uros.
> ---
> gcc/testsuite/gcc.dg/tree-ssa/pr32964.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c
> b/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c
> index 3d587119de90f..1c3baa62b98cd 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr32964.c
> @@ -1,5 +1,8 @@
> /* { dg-do compile } */
> /* { dg-options "-O1 -fdump-tree-optimized" } */
> +/* We don't get the expected optimization any more when x87's excess
> precision
> + is available. */
> +/* { dg-additional-options "-msse -mfpmath=sse" { target x86 } } */
>
> union A
> {
>
> --
> Alexandre Oliva, happy hacker https://blog.lx.oliva.nom.br/
> Free Software Activist FSFLA co-founder GNU Toolchain Engineer
> More tolerance and less prejudice are key for inclusion and diversity.
> Excluding neuro-others for not behaving ""normal"" is *not* inclusive!