https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96762
--- Comment #2 from Michael Meissner <meissner at gcc dot gnu.org> --- It is in the memcpy expansion, when the compiler tries to generate lxvl and stxvl to do the move. Unfortunately, the pattern in the expansion does a DImode shift left by 56 to get the value into the correct spot in the VSR, but 32-bit doesn't have the shift.