https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106770
--- Comment #12 from Surya Kumari Jangala <jskumari at gcc dot gnu.org> --- (In reply to Jens Seifert from comment #6) > The left part of VSX registers overlaps with floating point registers, that > is why no register xxpermdi is required and mfvsrd can access all (left) > parts of VSX registers directly. > The xxpermdi x,y,y,3 indicates to me that gcc prefers right part of register > which might also cause the xxpermdi at the beginning. At the end the mystery > is why gcc adds 3 xxpermdi to the code. The 3rd xxpermdi is incorrect.