diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-14 18:49:07 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-04-14 18:49:07 -0400 |
commit | ea8e4ec574c6e77c5efa450e34494872e3c93f8f (patch) | |
tree | 339002264ed68399f20d3cfee61768ffa5d06ac2 | |
parent | 13aa593cd623101246e1d2382131a86b8638a562 (diff) | |
download | gcc-ea8e4ec574c6e77c5efa450e34494872e3c93f8f.zip gcc-ea8e4ec574c6e77c5efa450e34494872e3c93f8f.tar.gz gcc-ea8e4ec574c6e77c5efa450e34494872e3c93f8f.tar.bz2 |
(output_prolog): Changed stack probe at function entry.
From-SVN: r9385
-rw-r--r-- | gcc/config/alpha/alpha.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c index 83622c8..3de0175a 100644 --- a/gcc/config/alpha/alpha.c +++ b/gcc/config/alpha/alpha.c @@ -1383,19 +1383,15 @@ output_prolog (file, size) if (frame_size > 4096) { int probed = 4096; - int regnum = 2; /* $1 is static chain, so start with $2. */ - fprintf (file, "\tldq $%d,-%d($30)\n", regnum++, probed); + fprintf (file, "\tstq $31,-%d($30)\n", probed); while (probed + 8192 < frame_size) - fprintf (file, "\tldq $%d,-%d($30)\n", regnum++, probed += 8192); + fprintf (file, "\tstq $31,-%d($30)\n", probed += 8192); /* We only have to do this probe if we aren't saving registers. */ if (sa_size == 0 && probed + 4096 < frame_size) - fprintf (file, "\tldq $%d,-%d($30)\n", regnum++, probed += 4096); - - if (regnum > 9) - abort (); + fprintf (file, "\tstq $31,-%d($30)\n", frame_size); } if (frame_size != 0) @@ -1419,7 +1415,7 @@ output_prolog (file, size) assemble_name (file, alpha_function_name); fprintf (file, "..sc:\n"); - fprintf (file, "\tldq $6,-8192($4)\n"); + fprintf (file, "\tstq $31,-8192($4)\n"); fprintf (file, "\tsubq $5,1,$5\n"); fprintf (file, "\tlda $4,-8192($4)\n"); @@ -1427,10 +1423,10 @@ output_prolog (file, size) assemble_name (file, alpha_function_name); fprintf (file, "..sc\n"); - fprintf (file, "\tlda $30,-%d($4)\n", leftover); - if (leftover > 4096 && sa_size == 0) - fprintf (file, "\tldq $2,%d($30)\n", leftover - 4096); + fprintf (file, "\tstq $31,-%d($4)\n", leftover); + + fprintf (file, "\tlda $30,-%d($4)\n", leftover); } /* Describe our frame. */ |