Commit 8d6f415e by Richard Stallman

(output_cbranch): In forward/long branch case...

(output_cbranch): In forward/long branch case, only
nullify if the delay slot was empty or if the delay slot
was explicitly nullified.

(output_bb): Likewise.

From-SVN: r4608
parent d0ca05ef
...@@ -3225,10 +3225,13 @@ output_cbranch (operands, nullify, length, negated, insn) ...@@ -3225,10 +3225,13 @@ output_cbranch (operands, nullify, length, negated, insn)
strcat (buf, "%S3"); strcat (buf, "%S3");
else else
strcat (buf, "%B3"); strcat (buf, "%B3");
/* Regardless of whether or not this branch got its slot /* Nullify the delay slot if the delay slot was explicitly
filled we can nullify the following instruction and nullified by the delay branch scheduler or if no insn
avoid emitting a nop. */ could be placed in the delay slot. */
strcat (buf, " %2,%1,0\n\tbl%* %0,0"); if (nullify)
strcat (buf, " %2,%1,0\n\tbl,n %0,0");
else
strcat (buf, " %2,%1,0\n\tbl%* %0,0");
break; break;
/* Long backward conditional branch with nullification. */ /* Long backward conditional branch with nullification. */
...@@ -3308,10 +3311,14 @@ output_bb (operands, nullify, length, negated, insn, which) ...@@ -3308,10 +3311,14 @@ output_bb (operands, nullify, length, negated, insn, which)
strcat (buf, "<"); strcat (buf, "<");
else else
strcat (buf, ">="); strcat (buf, ">=");
/* Regardless of whether or not this branch got its slot /* Nullify the delay slot if the delay slot was explicitly
filled we can nullify the following instruction and nullified by the delay branch scheduler or if no insn
avoid emitting a nop. */ could be placed in the delay slot. */
if (negated) if (nullify && negated)
strcat (buf, " %0,%1,1,0\n\tbl,n %3,0");
else if (nullify && ! negated)
strcat (buf, " %0,%1,1,0\n\tbl,n %2,0");
else if (negated)
strcat (buf, " %0,%1,1,0\n\tbl%* %3,0"); strcat (buf, " %0,%1,1,0\n\tbl%* %3,0");
else else
strcat (buf, " %0,%1,1,0\n\tbl%* %2,0"); strcat (buf, " %0,%1,1,0\n\tbl%* %2,0");
......
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