rs6000: Use LR_REGNO directly in the save/restore patterns
authorSegher Boessenkool <segher@kernel.crashing.org>
Thu, 1 Sep 2016 15:07:54 +0000 (17:07 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Thu, 1 Sep 2016 15:07:54 +0000 (17:07 +0200)
commitd87a85c67b9f4e424c9660753429e8252d265ee3
treedf465603fe4df0febedebfd5cdd3a652a4658256
parent893fc0a002522b9f49564334122fa0a99923e7f3
rs6000: Use LR_REGNO directly in the save/restore patterns

Various patterns use "register_operand" "l" (or "=l") although those
patterns are only created refering to LR_REGNO directly.  This patch
changes those patterns to use the hard regs as well.

* config/rs6000/rs6000.md (*restore_gpregs_<mode>_r11,
*restore_gpregs_<mode>_r12, *restore_gpregs_<mode>_r1,
*return_and_restore_gpregs_<mode>_r11,
*return_and_restore_gpregs_<mode>_r12,
*return_and_restore_gpregs_<mode>_r1,
*return_and_restore_fpregs_<mode>_r11,
*return_and_restore_fpregs_<mode>_r12,
*return_and_restore_fpregs_<mode>_r1): Use the hard register LR_REGNO
directly instead of via the "l" constraint.  Renumber operands.
Fix whitespace.

From-SVN: r239942
gcc/ChangeLog
gcc/config/rs6000/rs6000.md