Commit c6ce0969 by Jim Wilson

(print_operand): For '*', only annul branch if optimizing, to avoid dbx bug.

Add '(' to handle unoptimized case.

From-SVN: r1247
parent a4faa7cc
...@@ -2708,10 +2708,19 @@ print_operand (file, x, code) ...@@ -2708,10 +2708,19 @@ print_operand (file, x, code)
fputs ("\n\tnop", file); fputs ("\n\tnop", file);
return; return;
case '*': case '*':
/* Output an annul flag if there's nothing for the delay slot. */ /* Output an annul flag if there's nothing for the delay slot and we
if (dbr_sequence_length () == 0) are optimizing. This is always used with '(' below. */
/* Sun OS 4.1.1 dbx can't handle an annulled unconditional branch;
this is a dbx bug. So, we only do this when optimizing. */
if (dbr_sequence_length () == 0 && optimize)
fputs (",a", file); fputs (",a", file);
return; return;
case '(':
/* Output a 'nop' if there's nothing for the delay slot and we are
not optimizing. This is always used with '*' above. */
if (dbr_sequence_length () == 0 && ! optimize)
fputs ("\n\tnop", file);
return;
case 'Y': case 'Y':
/* Adjust the operand to take into account a RESTORE operation. */ /* Adjust the operand to take into account a RESTORE operation. */
if (GET_CODE (x) != REG) if (GET_CODE (x) != REG)
......
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