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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Here is the interesting thing:
#define vector __attribute__((vector_size(16)))
float f(vector float t, int i)
{
  vector int tt = {i, i, i, i};
  vector float r = __builtin_shuffle(t, tt);
  return r[0];
}

---- CUT ---
produces:
  _7 = i_2(D) & 3;
  vectmp.4 = t_4(D);
  _8 = VIEW_CONVERT_EXPR<float[4]>(vectmp.4)[_7];
  return _8;

Reply via email to