aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-d10v.c
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1997-10-10 04:50:36 +0000
committerMichael Meissner <gnu@the-meissners.org>1997-10-10 04:50:36 +0000
commit719ddab4cc8d72035669d196f4adca700f2dd7db (patch)
treec06b3aa181a8d4a76e0742231e748a2e0fd5dcbb /gas/config/tc-d10v.c
parent2feb07dc3f9027ad5f7995c15587e46868a4aee3 (diff)
downloadgdb-719ddab4cc8d72035669d196f4adca700f2dd7db.zip
gdb-719ddab4cc8d72035669d196f4adca700f2dd7db.tar.gz
gdb-719ddab4cc8d72035669d196f4adca700f2dd7db.tar.bz2
Do not allow auto inc/dec to parallelize with an instruction that uses the index register
Diffstat (limited to 'gas/config/tc-d10v.c')
-rw-r--r--gas/config/tc-d10v.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index 14ef397..bbed44b 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -871,6 +871,12 @@ parallel_ok (op1, insn1, op2, insn2, exec_type)
used[j] |= 1 << regno ;
if (flags & OPERAND_EVEN)
used[j] |= 1 << (regno + 1);
+
+ /* Auto inc/dec also modifies the register. */
+ if (op->operands[i+1] != 0
+ && (d10v_operands[op->operands[i+1]].flags
+ & (OPERAND_PLUS | OPERAND_MINUS)) != 0)
+ mod[j] |= 1 << regno;
}
}
}