http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55281



--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-11-12 
11:46:30 UTC ---

Actually, that shorter testcase ICEs for a different reason.

static inline float

bar (float k, float j)

{

  float l = 0.0f;

  if (k > j)

    l = k;

  float t = k / j;

  float v = t * t;

  if (k == 0)

    v = 0.0f;

  if (t > 0.4f)

    v += 0.7;

  if (l != 0)

    v = 1.5 - v;

  return v;

}



void

foo (int *a, int b, float *d, float *e, int *f)

{

  for (int l = 0; l != b; ++l)

    for (int i = 0; i != 8; ++i)

      f[i] = e[i] + bar (a[i], d[i]);

}



is where the original testcase ICEs (-Ofast, both C and C++).

Reply via email to