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

--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> ---
> I used -O3 but -O2 -ftree-slp-vectorize also vectorizes it.

I must be blind, but I see for the current master:

gcc pr98854.c -c -O2 -ftree-slp-vectorize -fdump-tree-optimized=/dev/stdout

foo (int n)
{
  unsigned long ivtmp.8;
  double y;
  double x;
  double _6;
  double _8;
  double _9;
  double _11;
  int _14;
  void * _29;
  unsigned long _31;

  <bb 2>:
  ivtmp.8_28 = (unsigned long) &MEM[(void *)&a + 8184B];
  _31 = (unsigned long) &a;

  <bb 3>:
  # x_1 = PHI <0.0(2), x_10(5)>
  # y_2 = PHI <0.0(2), y_12(5)>
  # ivtmp.8_18 = PHI <ivtmp.8_28(2), ivtmp.8_27(5)>
  _29 = (void *) ivtmp.8_18;
  _6 = MEM[base: _29, offset: 0B];
  _8 = MEM[base: _29, offset: 8B];
  _9 = _6 + _8;
  x_10 = _9 + x_1;
  _11 = _6 / _8;
  y_12 = _11 + y_2;
  _14 = bar ();
  if (_14 != 0)
    goto <bb 4>;
  else
    goto <bb 5>;

  <bb 4>:
  a[0] = x_10;
  a[1] = y_12;
  return;

  <bb 5>:
  ivtmp.8_27 = ivtmp.8_18 - 8;
  if (ivtmp.8_27 != _31)
    goto <bb 3>;
  else
    goto <bb 4>;

}

Reply via email to