parent
ab408a8674
commit
338818c7ef
|
@ -92,30 +92,30 @@ output_function_prologue (stream, size)
|
|||
if (fsize < 0x8000 && !TARGET_68040)
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tlink.w %s,%I%d\n",
|
||||
asm_fprintf (stream, "\tlink.w %s,%0I%d\n",
|
||||
reg_names[FRAME_POINTER_REGNUM], -fsize);
|
||||
#else
|
||||
asm_fprintf (stream, "\tlink %s,%I%d\n",
|
||||
asm_fprintf (stream, "\tlink %s,%0I%d\n",
|
||||
reg_names[FRAME_POINTER_REGNUM], -fsize);
|
||||
#endif
|
||||
}
|
||||
else if (TARGET_68020)
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tlink.l %s,%I%d\n",
|
||||
asm_fprintf (stream, "\tlink.l %s,%0I%d\n",
|
||||
reg_names[FRAME_POINTER_REGNUM], -fsize);
|
||||
#else
|
||||
asm_fprintf (stream, "\tlink %s,%I%d\n",
|
||||
asm_fprintf (stream, "\tlink %s,%0I%d\n",
|
||||
reg_names[FRAME_POINTER_REGNUM], -fsize);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tlink.w %s,%I0\n\tadd.l %I%d,%Rsp\n",
|
||||
asm_fprintf (stream, "\tlink.w %s,%I0\n\tadd.l %0I%d,%Rsp\n",
|
||||
reg_names[FRAME_POINTER_REGNUM], -fsize);
|
||||
#else
|
||||
asm_fprintf (stream, "\tlink %s,%I0\n\taddl %I%d,%Rsp\n",
|
||||
asm_fprintf (stream, "\tlink %s,%I0\n\taddl %0I%d,%Rsp\n",
|
||||
reg_names[FRAME_POINTER_REGNUM], -fsize);
|
||||
#endif
|
||||
}
|
||||
|
@ -126,17 +126,17 @@ output_function_prologue (stream, size)
|
|||
if (fsize + 4 < 0x8000)
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tadd.w %I%d,%Rsp\n", - (fsize + 4));
|
||||
asm_fprintf (stream, "\tadd.w %0I%d,%Rsp\n", - (fsize + 4));
|
||||
#else
|
||||
asm_fprintf (stream, "\taddw %I%d,%Rsp\n", - (fsize + 4));
|
||||
asm_fprintf (stream, "\taddw %0I%d,%Rsp\n", - (fsize + 4));
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tadd.l %I%d,%Rsp\n", - (fsize + 4));
|
||||
asm_fprintf (stream, "\tadd.l %0I%d,%Rsp\n", - (fsize + 4));
|
||||
#else
|
||||
asm_fprintf (stream, "\taddl %I%d,%Rsp\n", - (fsize + 4));
|
||||
asm_fprintf (stream, "\taddl %0I%d,%Rsp\n", - (fsize + 4));
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
@ -303,9 +303,9 @@ output_function_epilogue (stream, size)
|
|||
&& (mask || fmask || fpoffset))
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tmov.l %I%d,%Ra0\n", -fsize);
|
||||
asm_fprintf (stream, "\tmov.l %0I%d,%Ra0\n", -fsize);
|
||||
#else
|
||||
asm_fprintf (stream, "\tmovel %I%d,%Ra0\n", -fsize);
|
||||
asm_fprintf (stream, "\tmovel %0I%d,%Ra0\n", -fsize);
|
||||
#endif
|
||||
fsize = 0, big = 1;
|
||||
}
|
||||
|
@ -485,22 +485,22 @@ output_function_epilogue (stream, size)
|
|||
if (fsize + 4 < 0x8000)
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tadd.w %I%d,%Rsp\n", fsize + 4);
|
||||
asm_fprintf (stream, "\tadd.w %0I%d,%Rsp\n", fsize + 4);
|
||||
#else
|
||||
asm_fprintf (stream, "\taddw %I%d,%Rsp\n", fsize + 4);
|
||||
asm_fprintf (stream, "\taddw %0I%d,%Rsp\n", fsize + 4);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef MOTOROLA
|
||||
asm_fprintf (stream, "\tadd.l %I%d,%Rsp\n", fsize + 4);
|
||||
asm_fprintf (stream, "\tadd.l %0I%d,%Rsp\n", fsize + 4);
|
||||
#else
|
||||
asm_fprintf (stream, "\taddl %I%d,%Rsp\n", fsize + 4);
|
||||
asm_fprintf (stream, "\taddl %0I%d,%Rsp\n", fsize + 4);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
if (current_function_pops_args)
|
||||
asm_fprintf (stream, "\trtd %I%d\n", current_function_pops_args);
|
||||
asm_fprintf (stream, "\trtd %0I%d\n", current_function_pops_args);
|
||||
else
|
||||
fprintf (stream, "\trts\n");
|
||||
}
|
||||
|
|
|
@ -970,8 +970,8 @@ __transfer_from_trampoline () \
|
|||
{ \
|
||||
register char *a0 asm ("%a0"); \
|
||||
asm ("___trampoline:"); \
|
||||
asm volatile ("mov%.l %0,%@" : : "m" (a0[22])); \
|
||||
asm volatile ("mov%.l %1,%0" : "=a" (a0) : "m" (a0[18])); \
|
||||
asm volatile ("move%.l %0,%@" : : "m" (a0[22])); \
|
||||
asm volatile ("move%.l %1,%0" : "=a" (a0) : "m" (a0[18])); \
|
||||
asm ("rts":); \
|
||||
}
|
||||
|
||||
|
@ -1472,13 +1472,13 @@ __transfer_from_trampoline () \
|
|||
`assemble_name' uses this. */
|
||||
|
||||
#define ASM_OUTPUT_LABELREF(FILE,NAME) \
|
||||
asm_fprintf (FILE, "%U%s", NAME)
|
||||
asm_fprintf (FILE, "%0U%s", NAME)
|
||||
|
||||
/* This is how to output an internal numbered label where
|
||||
PREFIX is the class of label and NUM is the number within the class. */
|
||||
|
||||
#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
|
||||
asm_fprintf (FILE, "%L%s%d:\n", PREFIX, NUM)
|
||||
asm_fprintf (FILE, "%0L%s%d:\n", PREFIX, NUM)
|
||||
|
||||
/* This is how to store into the string LABEL
|
||||
the symbol_ref name of an internal numbered label where
|
||||
|
|
Loading…
Reference in New Issue