[Bug middle-end/77399] Fails to use native instructions for vector casts

amonakov at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Aug 29 10:51:00 GMT 2016


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

--- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
I should also mention that for scalar code:

void f(float *o, int *i)
{
  *o++ = *i++; *o++ = *i++; *o++ = *i++; *o++ = *i++;
}

where SLP vectorization succeeds, one can see that c-style casts exist for
vector types on gimple:

  vect__5.14_18 = (vector(4) float) vect__4.13_17;

So ideally that's how the vector cast should have been lowered to gimple in the
original testcase?


More information about the Gcc-bugs mailing list