https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100165
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This V foo (V x) { return __builtin_shuffle (x, (V) { 0, 0, 0, 0, }, (VI) { 0, 1, 6, 7}); } Produces: movi v1.4s, 0 ins v0.d[1], v1.d[1] Which is better but fmov is still better :).