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

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
And slightly simplified; still ICEs with -O3:

short *a;
int e, f;

void
foo (int c, int d)
{
  short *a1, *a2, *a3;
  a1 = a++;
  *a1 = c;
  a2 = a++;
  *a2 = *a1;
  a3 = a++;
  *a3 = d;
}

void
bar (void)
{
  foo (e + f - 2, e + f - 1);
  foo (e + f - 1, 0);
}

Reply via email to