diff options
author | Joern Rennecke <joern.rennecke@embecosm.com> | 1999-08-09 19:04:27 +0000 |
---|---|---|
committer | Joern Rennecke <joern.rennecke@embecosm.com> | 1999-08-09 19:04:27 +0000 |
commit | 0825afba5d859a8a0fb23a1e0949a7abc4095222 (patch) | |
tree | 0733b2a53b2692043878259e1267ab2b4093408e /gas/config/tc-d30v.c | |
parent | a3f779dbea39eb8d831ba6402b840793cfb79c87 (diff) | |
download | gdb-0825afba5d859a8a0fb23a1e0949a7abc4095222.zip gdb-0825afba5d859a8a0fb23a1e0949a7abc4095222.tar.gz gdb-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.c | 10 |
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; } |