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.

Reply via email to