This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/77399] Fails to use native instructions for vector casts
- From: "amonakov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 29 Aug 2016 10:51:33 +0000
- Subject: [Bug middle-end/77399] Fails to use native instructions for vector casts
- Auto-submitted: auto-generated
- References: <bug-77399-4@http.gcc.gnu.org/bugzilla/>
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?