On Tue, Oct 31, 2017 at 09:12:25AM -0600, Jeff Law wrote: > On 10/31/2017 03:41 AM, Segher Boessenkool wrote: > > 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. > > > > Bootstrapped and regression checked on powerpc64-linux {-m32,-m64}; > > committing to trunk. > > > > > > Segher > > > > > > 2017-10-31 Segher Boessenkool <seg...@kernel.crsahing.org> > > > > 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. > :-) That's one I had a fix for. But the issues with large probing > intervals are much more serious. In particular dealing with large > probing intervals for allocations in the prologue is a significantly > tougher problem due to the lack of a free hard reg.
Yes, but I haven't seen testcases for that? The PR was just this. We do have more than one register we can use here, FWIW. It gets a bit nasty because it depends on which ABI you're on exactly, which. Segher