https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91804
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
The copy us inserted by IRA's find_moveable_pseudos() function. The problem
seems to be that the new pseudo r134 has a different preferred reg class than
the original pseudo r133.
r134: preferred VSX_REGS, alternative NO_REGS, allocno VSX_REGS
a7 (r134,l0) best VSX_REGS, allocno VSX_REGS
r133: preferred ALTIVEC_REGS, alternative VSX_REGS, allocno VSX_REGS
This leads to:
...
Popping a7(r134,l0) -- assign reg 32
Popping a4(r127,l0) -- assign reg 64
Popping a6(r133,l0) -- assign reg 64
So r134 is assigned the first VSX reg and r133 gets the first Altivec reg.