https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120528
--- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- And you can always use mtvsrdd d,0,s (which uses literal 0 as first source, not GPR0). In RTL that canonically is written as a zero_extend.