------- Comment #14 from victork at gcc dot gnu dot org 2008-03-24 19:14
-------
> I tend to agree with Andrew here. If you go through a packed union the
> failure
> vanishes:
> So, IMHO this bug is invalid.
The fact that failure vanishes is not a good argument here. The failure
vanishes simply because vectorized failed to vectorize "dest->u" statement.
Here is an modified example
struct U
{
unsigned u;
};
int main()
{
struct U buf[256];
struct U *dest;
int i;
dest = buf;
for (i = 0; i < 32; i++)
{
dest->u = 0;
dest += 1;
}
return buf[2].u;
}
And it is not vectorized without any good reason.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35653