aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/z8k/ChangeLog7
-rw-r--r--sim/z8k/writecode.c9
2 files changed, 16 insertions, 0 deletions
diff --git a/sim/z8k/ChangeLog b/sim/z8k/ChangeLog
index 64468a1..8036fe3 100644
--- a/sim/z8k/ChangeLog
+++ b/sim/z8k/ChangeLog
@@ -1,3 +1,10 @@
+2002-04-29 Nick Clifton <nickc@cambridge.redhat.com>
+
+ * writecode.c (lookup_inst): Ignore CLASS_IGNORE.
+ (info_args): Treat CLASS_IGNORE like CLASS_BIT.
+ Handle ARG_NIM4.
+ (info_len_in_words): Handle CLASS_IGNORE and ARG_NIM4.
+
Tue May 23 21:39:23 2000 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
diff --git a/sim/z8k/writecode.c b/sim/z8k/writecode.c
index 8b4c868..b398545 100644
--- a/sim/z8k/writecode.c
+++ b/sim/z8k/writecode.c
@@ -139,6 +139,8 @@ lookup_inst (what)
nibl_matched = 0;
break;
+ case CLASS_IGNORE:
+ break;
case CLASS_BIT:
if (datum_value != instr_nibl)
nibl_matched = 0;
@@ -539,6 +541,7 @@ info_args (p)
case CLASS_BIT_1OR2:
emit ("register unsigned int imm_src=(<insn_4>& 2)?2:1;\n");
break;
+ case CLASS_IGNORE:
case CLASS_BIT:
/* Just ignore these, we've already decoded this bit */
nibs++;
@@ -589,6 +592,10 @@ break;
emit ("register unsigned int imm_src=<insn_4>;\n");
nibs++;
break;
+ case ARG_NIM4:
+ emit ("register unsigned int imm_src = - <insn_4>;\n");
+ nibs++;
+ break;
case ARG_IMM2:
emit ("register unsigned int imm_src=<insn_4> & 0x2;\n");
nibs++;
@@ -1938,6 +1945,7 @@ info_len_in_words (o)
{
switch (*p & CLASS_MASK)
{
+ case CLASS_IGNORE:
case CLASS_BIT:
case CLASS_REGN0:
case CLASS_REG:
@@ -1959,6 +1967,7 @@ info_len_in_words (o)
break;
case ARG_IMM2:
case ARG_IMM4:
+ case ARG_NIM4:
case ARG_IMM4M1:
case ARG_IMM_1:
case ARG_IMM_2: