aboutsummaryrefslogtreecommitdiff
path: root/gas
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
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')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-d10v.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 37072c0..4e04778 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+Fri Oct 10 00:47:44 1997 Michael Meissner <meissner@cygnus.com>
+
+ * config/tc-d10v.c (parallel_ok): Note that auto increment and
+ decrement modify the index register.
+
Thu Oct 9 15:17:50 1997 Ian Lance Taylor <ian@cygnus.com>
From Robin Kirkham <Robin.Kirkham@mlb.dmt.csiro.au>:
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;
}
}
}