https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117729
Zoltan Hidvegi <zoltan at hidvegi dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zoltan at hidvegi dot com --- Comment #1 from Zoltan Hidvegi <zoltan at hidvegi dot com> --- A similar improvement can be made to save/restore FPR registers, which are the really the upper part of the the vsr registers. The lower part of these vsrs are volatile. We can pack 4 fprs into a pair of vsr registers and using the paired sore/load instructions. E.g. instead of stfd 14,-144(1) stfd 15,-136(1) stfd 16,-128(1) stfd 17,-120(1) one can use something like xxpermdi 14,14,15,0 xxpermdi 15,16,17,0 stxvp 14,-144(1) This is fewer instructions and spreads the work across more execution units.