Commit cffd0d74 by Richard Stallman

entered into RCS

From-SVN: r543
parent 3f5cfed6
...@@ -112,10 +112,10 @@ output_function_prologue (stream, size) ...@@ -112,10 +112,10 @@ output_function_prologue (stream, size)
else else
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tlink.w %s,%I0\n\tadd.l %0I%d,%Rsp\n", asm_fprintf (stream, "\tlink.w %s,%0I0\n\tadd.l %0I%d,%Rsp\n",
reg_names[FRAME_POINTER_REGNUM], -fsize); reg_names[FRAME_POINTER_REGNUM], -fsize);
#else #else
asm_fprintf (stream, "\tlink %s,%I0\n\taddl %0I%d,%Rsp\n", asm_fprintf (stream, "\tlink %s,%0I0\n\taddl %0I%d,%Rsp\n",
reg_names[FRAME_POINTER_REGNUM], -fsize); reg_names[FRAME_POINTER_REGNUM], -fsize);
#endif #endif
} }
...@@ -159,9 +159,9 @@ output_function_prologue (stream, size) ...@@ -159,9 +159,9 @@ output_function_prologue (stream, size)
if ((mask & 0xff) != 0) if ((mask & 0xff) != 0)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tfmovm %I0x%x,-(%Rsp)\n", mask & 0xff); asm_fprintf (stream, "\tfmovm %0I0x%x,-(%Rsp)\n", mask & 0xff);
#else #else
asm_fprintf (stream, "\tfmovem %I0x%x,%Rsp@-\n", mask & 0xff); asm_fprintf (stream, "\tfmovem %0I0x%x,%Rsp@-\n", mask & 0xff);
#endif #endif
} }
mask = 0; mask = 0;
...@@ -199,21 +199,21 @@ output_function_prologue (stream, size) ...@@ -199,21 +199,21 @@ output_function_prologue (stream, size)
else if (mask) else if (mask)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tmovm.l %I0x%x,-(%Rsp)\n", mask); asm_fprintf (stream, "\tmovm.l %0I0x%x,-(%Rsp)\n", mask);
#else #else
asm_fprintf (stream, "\tmoveml %I0x%x,%Rsp@-\n", mask); asm_fprintf (stream, "\tmoveml %0I0x%x,%Rsp@-\n", mask);
#endif #endif
} }
if (flag_pic && current_function_uses_pic_offset_table) if (flag_pic && current_function_uses_pic_offset_table)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\t%Omove.l %I__GLOBAL_OFFSET_TABLE_, %s\n", asm_fprintf (stream, "\t%Omove.l %0I__GLOBAL_OFFSET_TABLE_, %s\n",
reg_names[PIC_OFFSET_TABLE_REGNUM]); reg_names[PIC_OFFSET_TABLE_REGNUM]);
asm_fprintf (stream, "\tlea.l (%Rpc,%s.l),%s\n", asm_fprintf (stream, "\tlea.l (%Rpc,%s.l),%s\n",
reg_names[PIC_OFFSET_TABLE_REGNUM], reg_names[PIC_OFFSET_TABLE_REGNUM],
reg_names[PIC_OFFSET_TABLE_REGNUM]); reg_names[PIC_OFFSET_TABLE_REGNUM]);
#else #else
asm_fprintf (stream, "\tmovel %I__GLOBAL_OFFSET_TABLE_, %s\n", asm_fprintf (stream, "\tmovel %0I__GLOBAL_OFFSET_TABLE_, %s\n",
reg_names[PIC_OFFSET_TABLE_REGNUM]); reg_names[PIC_OFFSET_TABLE_REGNUM]);
asm_fprintf (stream, "\tlea %Rpc@(0,%s:l),%s\n", asm_fprintf (stream, "\tlea %Rpc@(0,%s:l),%s\n",
reg_names[PIC_OFFSET_TABLE_REGNUM], reg_names[PIC_OFFSET_TABLE_REGNUM],
...@@ -268,7 +268,12 @@ output_function_epilogue (stream, size) ...@@ -268,7 +268,12 @@ output_function_epilogue (stream, size)
if (GET_CODE (insn) == NOTE) if (GET_CODE (insn) == NOTE)
insn = prev_nonnote_insn (insn); insn = prev_nonnote_insn (insn);
if (insn && GET_CODE (insn) == BARRIER) if (insn && GET_CODE (insn) == BARRIER)
return; {
/* Output just a no-op so that debuggers don't get confused
about which function the pc is in at this address. */
asm_fprintf (stream, "\tnop\n");
return;
}
#ifdef FUNCTION_EXTRA_EPILOGUE #ifdef FUNCTION_EXTRA_EPILOGUE
FUNCTION_EXTRA_EPILOGUE (stream, size); FUNCTION_EXTRA_EPILOGUE (stream, size);
...@@ -366,12 +371,12 @@ output_function_epilogue (stream, size) ...@@ -366,12 +371,12 @@ output_function_epilogue (stream, size)
if (big) if (big)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tmovm.l -%d(%s,%Ra0.l),%I0x%x\n", asm_fprintf (stream, "\tmovm.l -%d(%s,%Ra0.l),%0I0x%x\n",
offset + fsize, offset + fsize,
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
mask); mask);
#else #else
asm_fprintf (stream, "\tmoveml %s@(-%d,%Ra0:l),%I0x%x\n", asm_fprintf (stream, "\tmoveml %s@(-%d,%Ra0:l),%0I0x%x\n",
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
offset + fsize, mask); offset + fsize, mask);
#endif #endif
...@@ -379,20 +384,20 @@ output_function_epilogue (stream, size) ...@@ -379,20 +384,20 @@ output_function_epilogue (stream, size)
else if (! frame_pointer_needed) else if (! frame_pointer_needed)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tmovm.l (%Rsp)+,%I0x%x\n", mask); asm_fprintf (stream, "\tmovm.l (%Rsp)+,%0I0x%x\n", mask);
#else #else
asm_fprintf (stream, "\tmoveml %Rsp@+,%I0x%x\n", mask); asm_fprintf (stream, "\tmoveml %Rsp@+,%0I0x%x\n", mask);
#endif #endif
} }
else else
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tmovm.l -%d(%s),%I0x%x\n", asm_fprintf (stream, "\tmovm.l -%d(%s),%0I0x%x\n",
offset + fsize, offset + fsize,
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
mask); mask);
#else #else
asm_fprintf (stream, "\tmoveml %s@(-%d),%I0x%x\n", asm_fprintf (stream, "\tmoveml %s@(-%d),%0I0x%x\n",
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
offset + fsize, mask); offset + fsize, mask);
#endif #endif
...@@ -403,12 +408,12 @@ output_function_epilogue (stream, size) ...@@ -403,12 +408,12 @@ output_function_epilogue (stream, size)
if (big) if (big)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tfmovm -%d(%s,%Ra0.l),%I0x%x\n", asm_fprintf (stream, "\tfmovm -%d(%s,%Ra0.l),%0I0x%x\n",
foffset + fsize, foffset + fsize,
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
fmask); fmask);
#else #else
asm_fprintf (stream, "\tfmovem %s@(-%d,%Ra0:l),%I0x%x\n", asm_fprintf (stream, "\tfmovem %s@(-%d,%Ra0:l),%0I0x%x\n",
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
foffset + fsize, fmask); foffset + fsize, fmask);
#endif #endif
...@@ -416,20 +421,20 @@ output_function_epilogue (stream, size) ...@@ -416,20 +421,20 @@ output_function_epilogue (stream, size)
else if (! frame_pointer_needed) else if (! frame_pointer_needed)
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tfmovm (%Rsp)+,%I0x%x\n", fmask); asm_fprintf (stream, "\tfmovm (%Rsp)+,%0I0x%x\n", fmask);
#else #else
asm_fprintf (stream, "\tfmovem %Rsp@+,%I0x%x\n", fmask); asm_fprintf (stream, "\tfmovem %Rsp@+,%0I0x%x\n", fmask);
#endif #endif
} }
else else
{ {
#ifdef MOTOROLA #ifdef MOTOROLA
asm_fprintf (stream, "\tfmovm -%d(%s),%I0x%x\n", asm_fprintf (stream, "\tfmovm -%d(%s),%0I0x%x\n",
foffset + fsize, foffset + fsize,
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
fmask); fmask);
#else #else
asm_fprintf (stream, "\tfmovem %s@(-%d),%I0x%x\n", asm_fprintf (stream, "\tfmovem %s@(-%d),%0I0x%x\n",
reg_names[FRAME_POINTER_REGNUM], reg_names[FRAME_POINTER_REGNUM],
foffset + fsize, fmask); foffset + fsize, fmask);
#endif #endif
...@@ -1525,7 +1530,7 @@ print_operand (file, op, letter) ...@@ -1525,7 +1530,7 @@ print_operand (file, op, letter)
} }
else if (letter == '#') else if (letter == '#')
{ {
asm_fprintf (file, "%I"); asm_fprintf (file, "%0I");
} }
else if (letter == '-') else if (letter == '-')
{ {
...@@ -1553,11 +1558,7 @@ print_operand (file, op, letter) ...@@ -1553,11 +1558,7 @@ print_operand (file, op, letter)
} }
else if (letter == '!') else if (letter == '!')
{ {
#ifdef MOTOROLA asm_fprintf (file, "%Rfpcr");
asm_fprintf (file, "(%Rcc)");
#else
asm_fprintf (file, "%Rcc");
#endif
} }
else if (letter == '$') else if (letter == '$')
{ {
...@@ -1623,7 +1624,7 @@ print_operand (file, op, letter) ...@@ -1623,7 +1624,7 @@ print_operand (file, op, letter)
} }
else else
{ {
asm_fprintf (file, "%I"); output_addr_const (file, op); asm_fprintf (file, "%0I"); output_addr_const (file, op);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment