diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-08-24 18:36:11 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-08-24 18:36:11 -0400 |
commit | 53322b0c5f123b4c8023ad63d22246f60acebf8d (patch) | |
tree | ea74e17f04ef78f79788ccd8ea1276883176d573 /gcc | |
parent | 9bf99417c673a501f79357227ab12e59037dbb6d (diff) | |
download | gcc-53322b0c5f123b4c8023ad63d22246f60acebf8d.zip gcc-53322b0c5f123b4c8023ad63d22246f60acebf8d.tar.gz gcc-53322b0c5f123b4c8023ad63d22246f60acebf8d.tar.bz2 |
(output_{pro,epi}log): Don't need no-ops after calls to functions to
save and restore FP regs.
From-SVN: r5211
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 4eb685d..6295b10 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1332,15 +1332,14 @@ output_prolog (file, size) fprintf (file, "\tmfcr 12\n"); /* Do any required saving of fpr's. If only one or two to save, do it - ourself. Otherwise, call function. */ + ourself. Otherwise, call function. Note that since they are statically + linked, we do not need a nop following them. */ if (first_fp_reg == 62) fprintf (file, "\tstfd 30,-16(1)\n\tstfd 31,-8(1)\n"); else if (first_fp_reg == 63) fprintf (file, "\tstfd 31,-8(1)\n"); else if (first_fp_reg != 64) - fprintf (file, "\tbl ._savef%d\n\tcror %d,%d,%d\n", first_fp_reg - 32, - RS6000_CROR_BIT_NUMBER, RS6000_CROR_BIT_NUMBER, - RS6000_CROR_BIT_NUMBER); + fprintf (file, "\tbl ._savef%d\n", first_fp_reg - 32); /* Now save gpr's. */ if (first_reg == 31) @@ -1443,9 +1442,7 @@ output_epilog (file, size) /* If we have to restore more than two FP registers, branch to the restore function. It will return to our caller. */ if (first_fp_reg < 62) - fprintf (file, "\tb ._restf%d\n\tcror %d,%d,%d\n", first_fp_reg - 32, - RS6000_CROR_BIT_NUMBER, RS6000_CROR_BIT_NUMBER, - RS6000_CROR_BIT_NUMBER); + fprintf (file, "\tb ._restf%d\n", first_fp_reg - 32); else fprintf (file, "\tbr\n"); } |