]> git.ipfire.org Git - thirdparty/gcc.git/commit
rs6000: Fix stack clash for big residuals (PR85287)
authorsegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Apr 2018 21:37:34 +0000 (21:37 +0000)
committersegher <segher@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Apr 2018 21:37:34 +0000 (21:37 +0000)
commit0325ab7dd50a51608ee7e92257025fe929195a41
tree3fcdfb0d30170016776f29fe2331eed98e2dff2c
parentca206cac65caf99d025f6a196f633e9a91fdf95c
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@259299 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/rs6000/rs6000.md