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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Simplified testcase:
__attribute__((noinline, noclone, noipa)) void
foo (const float num, const float denom)
{
  typedef float __attribute__ ((__vector_size__ (16), __may_alias__)) Vec4;
  const Vec4 num4 = { num, num, num, num, };
  const Vec4 denom4 = { denom, denom, denom, denom, };
  float res_arr[] = {0, 0, 0, 0};
  Vec4 *res = (Vec4*)res_arr;
  *res = num4 / denom4;
  __builtin_printf ("%f %f %f %f\n", res_arr[0], res_arr[1], res_arr[2],
res_arr[3]);
}

int
main ()
{
  const float denominator = 1.0f;
  const float numerator = 12.0f;
  foo (numerator, denominator);
}

This regressed with r258903, so I'll have a look.

Reply via email to