rs6000: Fix stack clash for big residuals (PR85287)
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 10 Apr 2018 21:37:34 +0000 (23:37 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 10 Apr 2018 21:37:34 +0000 (23:37 +0200)
commit7321063d6150b5d31bff38347dc8ec9f3dcd9c0b
tree3fcdfb0d30170016776f29fe2331eed98e2dff2c
parent0359465c703ad3c214c52c772557ef1b3fe52183
rs6000: Fix stack clash for big residuals (PR85287)

The stack clash protection code had a logic error in how it decided
whether to put the final update size in a register, or to emit it
directly in an insn.  This fixes it.  It also tidies some surrounding
code.

PR target/85287
* gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size
for stack clash protection in a register whenever we need it to be in
a register.

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