This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Wrong RTL instruction deleted
On Mon, 27 Dec 2004 06:39:41 -0500, Robert Dewar <dewar@adacore.com> wrote:
> Richard Guenther wrote:
>
> > Isn't this invalid code wrt aliasing? Wouldn't you need to do
>
> I don't see the aliasing issue here. No pointers are involved.
Well, but t08.gimple contains
float foo() ()
{
float D.1564;
float * MASK.0;
{
unsigned int MASK;
MASK = 080000000;
MASK.0 = (float *) &MASK;
D.1564 = *MASK.0;
return D.1564;
}
}
here we _have_ pointers. If the above were the actual testcase it would be
invalid, no? Though the code with the union doesn't look different here.
Also, with -fno-strict-aliasing the "bug" doesn't occour.
Richard.