Re: HEADS-UP: gcc-4.2 import appears to miscompile libm.

From: Stefan Ehmann <shoesoft_at_gmx.net>
Date: Sun, 27 May 2007 10:53:09 +0200
On Sunday 27 May 2007 01:31:16 Steve Kargl wrote:
> On Sat, May 26, 2007 at 07:09:16PM -0400, Wes Morgan wrote:
> > Working from -O towards -O2 based on the info pages, I can "reproduce"
> > the problem with "-O -fstrict-aliasing -fgcse"... However, -O2 with
> > -fno-strict-aliasing by itself seems to work around the issue. At first
> > glance it looks like a possible interaction between several
> > optimizations.
>
> Ths patch fixes the problem.
>
> --- s_frexpf.c.orig     Sat May 26 16:26:50 2007
> +++ s_frexpf.c  Sat May 26 16:28:03 2007
> _at__at_ -39,6 +39,9 _at__at_
>         }
>         *eptr += (ix>>23)-126;
>         hx = (hx&0x807fffff)|0x3f000000;
> +#if 0
>         *(int*)&x = hx;
> +#endif
> +       SET_FLOAT_WORD(x,hx);
>         return x;
>  }

-fno-strict-aliasing is used by default for me (i386). Also, if you use -Wall 
the compiler outputs a warning.

[root_at_something /usr/src/lib/msun/src]# cc -O2 -Wall -pipe  -c s_frexpf.c
s_frexpf.c: In function 'frexpf':
s_frexpf.c:42: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
Received on Sun May 27 2007 - 06:53:14 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:11 UTC