https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83518

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
And beware of duplicate elements seen during the walk

typedef int v2si __attribute__((vector_size(__SIZEOF_INT__ * 2)));
int __attribute__((pure,noipa)) baz (int *a) { volatile int i = *a; }
int main()
{
  int a[4];
  a[0] = 1;
  a[1] = 2;
  volatile int i = baz(a);
  a[1] = 3;
  v2si x = *(v2si *)a;
  *(v2si *)&a[2] = x;
  if (a[3] != 3)
    __builtin_abort ();
  return 0;
}

Reply via email to