Handle CLASS_IGNORE and ARG_NIM4.
authorNick Clifton <nickc@redhat.com>
Mon, 29 Apr 2002 16:50:29 +0000 (16:50 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 29 Apr 2002 16:50:29 +0000 (16:50 +0000)
sim/z8k/ChangeLog
sim/z8k/writecode.c

index 64468a129be8e4f6e1cc5cf4ae4bac4e0b51d215..8036fe331cf06b9195cf94d67f47f6868fc58ca1 100644 (file)
@@ -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.
index 8b4c868edeab4d9ed5ec7a80e79e6a4a741d6565..b398545c04fd17dc72f99f9a6090b46e754766f0 100644 (file)
@@ -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: