in the stack probing loop.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107069
138bc75d-0d04-0410-961f-
82ee72b054a4
+2005-11-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * config/alpha/alpha.c (alpha_expand_prologue): Fix off-by-one bug
+ in the stack probing loop.
+
2005-11-15 David Edelsohn <edelsohn@gnu.org>
* configure.ac: Use .machine power5 not power5x.
{
if (frame_size > 4096)
{
- int probed = 4096;
+ int probed;
- do
+ for (probed = 4096; probed < frame_size; probed += 8192)
emit_insn (gen_probe_stack (GEN_INT (TARGET_ABI_UNICOSMK
? -probed + 64
: -probed)));
- while ((probed += 8192) < frame_size);
/* We only have to do this probe if we aren't saving registers. */
- if (sa_size == 0 && probed + 4096 < frame_size)
+ if (sa_size == 0 && frame_size > probed - 4096)
emit_insn (gen_probe_stack (GEN_INT (-frame_size)));
}