------- 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

Reply via email to