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

--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
So it seems when we go to expand the gimple builtin, the cast of the pointer is
already stripped away:

(gdb) ps gsi_stmt(*gsi)
_1 = __builtin_vsx_lxvp (0, x);

We will only will get as far as expanding the builtin if there is a cast of the
double *x pointer to a __vector_pair * pointer, so the simple fix seems to be
just to look for a non __vector_pair pointer and cast it during the expansion
to the correct __vector_pair * pointer.  Doing that fixes the ICE for me.  I'll
kick off a round of testing.

Reply via email to