aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-d30v.c
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>1999-08-09 19:04:27 +0000
committerJoern Rennecke <joern.rennecke@embecosm.com>1999-08-09 19:04:27 +0000
commit0825afba5d859a8a0fb23a1e0949a7abc4095222 (patch)
tree0733b2a53b2692043878259e1267ab2b4093408e /gas/config/tc-d30v.c
parenta3f779dbea39eb8d831ba6402b840793cfb79c87 (diff)
downloadbinutils-0825afba5d859a8a0fb23a1e0949a7abc4095222.zip
binutils-0825afba5d859a8a0fb23a1e0949a7abc4095222.tar.gz
binutils-0825afba5d859a8a0fb23a1e0949a7abc4095222.tar.bz2
* config/tc-d30v.c (write_2_short): Don't group repeat instructions
with the following instruction unless this was specified.
Diffstat (limited to 'gas/config/tc-d30v.c')
-rw-r--r--gas/config/tc-d30v.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c
index 0682a57..04ceebe 100644
--- a/gas/config/tc-d30v.c
+++ b/gas/config/tc-d30v.c
@@ -799,12 +799,16 @@ write_2_short (opcode1, insn1, opcode2, insn2, exec_type, fx)
fx = fx->next;
}
}
- else if (opcode1->op->flags_used & (FLAG_JMP | FLAG_JSR)
- && ((opcode1->op->flags_used & FLAG_DELAY) == 0)
- && ((opcode1->ecc == ECC_AL) || ! Optimizing))
+ else if ((opcode1->op->flags_used & (FLAG_JMP | FLAG_JSR)
+ && ((opcode1->op->flags_used & FLAG_DELAY) == 0)
+ && ((opcode1->ecc == ECC_AL) || ! Optimizing))
+ || opcode1->op->flags_used & FLAG_RP)
{
/* We must emit (non-delayed) branch type instructions
on their own with nothing in the right container. */
+ /* We must treat repeat instructions likewise, since the
+ following instruction has to be separate from the repeat
+ in order to be repeated. */
write_1_short (opcode1, insn1, fx->next, false);
return 1;
}