https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102923
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |meissner at gcc dot gnu.org, | |segher at gcc dot gnu.org --- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The stvx stuff is guarded by #ifdef __VEC__, so perhaps the lvx stuff should be too, or there should be .machine push; .machine power7; ... .machine pop; or something similar around it? At least in linux64_closure.S, perhaps guarding it with #ifdef __VEC__ might be ok, because the C code will not use that code if __VEC__ isn't defined: #elif !defined(__VEC__) /* If compiled without vector register support (used by assembly)... */ if ((cif->abi & FFI_LINUX_LONG_DOUBLE_IEEE128) != 0) return FFI_BAD_ABI; But not sure about linux64.S if it doesn't suffer from the same problem.