https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88955
--- Comment #1 from Alexander Monakov <amonakov at gcc dot gnu.org> --- (In reply to Alexander Monakov from comment #0) > Adding a dummy __int128 field makes GCC accept the code (but such workaround > won't work for wider vectors, or on 32-bit). But this causes the union to be passed in a pair of general 64-bit registers (as expected for __int128) rather than in an SSE register. So that's not a suitable workaround.