Subject: [PATCH] rs6000: Fix crash with big stack clash interval (PR82674)
authorSegher Boessenkool <segher@gcc.gnu.org>
Tue, 31 Oct 2017 09:49:40 +0000 (10:49 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 31 Oct 2017 09:49:40 +0000 (10:49 +0100)
commitc705e5a3f446c1885f402514a2944cbd5e2e2ea6
treee9ba463fa2ae590d8febf99cc0f04f5caffacaf0
parent4db58158cc5df72324299dd5ef0ac09f6497ccb6
Subject: [PATCH] rs6000: Fix crash with big stack clash interval (PR82674)

If the user asks for a stack clash probe interval of 64kB, we currently
generate a "stdu rX,-65536(r1)" instruction.  That instruction does not
exist (the offset is a 16-bit signed number).  If the offset is too big
we should force it into a register and generate a "stdux rX,rY,r1"
instruction, instead.

PR target/82674
* config/rs6000/rs6000.md (allocate_stack): Force update interval
into a register if it does not fit into an immediate offset field.

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