mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2 words in new abis.

* config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
words in new abis.

From-SVN: r64364
This commit is contained in:
Chris Demetriou 2003-03-14 15:53:48 +00:00 committed by Alexandre Oliva
parent 8d3f82aa3a
commit a0a89ed0af
2 changed files with 14 additions and 6 deletions

View file

@ -1,3 +1,8 @@
2003-03-14 Chris Demetriou <cgd@broadcom.com>, Alexandre Oliva <aoliva@redhat.com>
* config/mips/mips.h (FUNCTION_PROFILER): _mcount() doesn't pop 2
words in new abis.
2003-03-14 Eric Botcazou <ebotcazou@libertysurf.fr>
PR optimization/8396

View file

@ -2921,12 +2921,15 @@ typedef struct mips_args {
fprintf (FILE, "\t.set\tnoat\n"); \
fprintf (FILE, "\tmove\t%s,%s\t\t# save current return address\n", \
reg_names[GP_REG_FIRST + 1], reg_names[GP_REG_FIRST + 31]); \
fprintf (FILE, \
"\t%s\t%s,%s,%d\t\t# _mcount pops 2 words from stack\n", \
TARGET_64BIT ? "dsubu" : "subu", \
reg_names[STACK_POINTER_REGNUM], \
reg_names[STACK_POINTER_REGNUM], \
Pmode == DImode ? 16 : 8); \
if (mips_abi != ABI_N32 && mips_abi != ABI_64) \
{ \
fprintf (FILE, \
"\t%s\t%s,%s,%d\t\t# _mcount pops 2 words from stack\n", \
TARGET_64BIT ? "dsubu" : "subu", \
reg_names[STACK_POINTER_REGNUM], \
reg_names[STACK_POINTER_REGNUM], \
Pmode == DImode ? 16 : 8); \
} \
fprintf (FILE, "\tjal\t_mcount\n"); \
fprintf (FILE, "\t.set\tat\n"); \
}