PR29482 - strip: heap-buffer-overflow
[binutils-gdb.git] / sim / cris / decodev10.c
index a4ea8cdc86d71eb000e9ba469b117d80afaea853..257961ae16085a8f0a134d1840a19d3aeec3dad9 100644 (file)
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996-2007 Free Software Foundation, Inc.
+Copyright 1996-2022 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
@@ -17,8 +17,7 @@ This file is part of the GNU simulators.
    License for more details.
 
    You should have received a copy of the GNU General Public License along
-   with this program; if not, write to the Free Software Foundation, Inc.,
-   51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
+   with this program; if not, see <http://www.gnu.org/licenses/>.
 
 */
 
@@ -27,6 +26,7 @@ This file is part of the GNU simulators.
 
 #include "sim-main.h"
 #include "sim-assert.h"
+#include "cgen-mem.h"
 #include "cgen-ops.h"
 
 /* The instruction descriptor array.
@@ -175,7 +175,7 @@ static const struct insn_sem crisv10f_insn_sem[] =
   { CRIS_INSN_DSTEP, CRISV10F_INSN_DSTEP, CRISV10F_SFMT_DSTEP },
   { CRIS_INSN_ABS, CRISV10F_INSN_ABS, CRISV10F_SFMT_MOVS_B_R },
   { CRIS_INSN_AND_B_R, CRISV10F_INSN_AND_B_R, CRISV10F_SFMT_AND_B_R },
-  { CRIS_INSN_AND_W_R, CRISV10F_INSN_AND_W_R, CRISV10F_SFMT_AND_W_R },
+  { CRIS_INSN_AND_W_R, CRISV10F_INSN_AND_W_R, CRISV10F_SFMT_AND_B_R },
   { CRIS_INSN_AND_D_R, CRISV10F_INSN_AND_D_R, CRISV10F_SFMT_AND_D_R },
   { CRIS_INSN_AND_M_B_M, CRISV10F_INSN_AND_M_B_M, CRISV10F_SFMT_AND_M_B_M },
   { CRIS_INSN_AND_M_W_M, CRISV10F_INSN_AND_M_W_M, CRISV10F_SFMT_AND_M_W_M },
@@ -185,7 +185,7 @@ static const struct insn_sem crisv10f_insn_sem[] =
   { CRIS_INSN_ANDCDR, CRISV10F_INSN_ANDCDR, CRISV10F_SFMT_ANDCDR },
   { CRIS_INSN_ANDQ, CRISV10F_INSN_ANDQ, CRISV10F_SFMT_ANDQ },
   { CRIS_INSN_ORR_B_R, CRISV10F_INSN_ORR_B_R, CRISV10F_SFMT_AND_B_R },
-  { CRIS_INSN_ORR_W_R, CRISV10F_INSN_ORR_W_R, CRISV10F_SFMT_AND_W_R },
+  { CRIS_INSN_ORR_W_R, CRISV10F_INSN_ORR_W_R, CRISV10F_SFMT_AND_B_R },
   { CRIS_INSN_ORR_D_R, CRISV10F_INSN_ORR_D_R, CRISV10F_SFMT_AND_D_R },
   { CRIS_INSN_OR_M_B_M, CRISV10F_INSN_OR_M_B_M, CRISV10F_SFMT_AND_M_B_M },
   { CRIS_INSN_OR_M_W_M, CRISV10F_INSN_OR_M_W_M, CRISV10F_SFMT_AND_M_W_M },
@@ -196,8 +196,8 @@ static const struct insn_sem crisv10f_insn_sem[] =
   { CRIS_INSN_ORQ, CRISV10F_INSN_ORQ, CRISV10F_SFMT_ANDQ },
   { CRIS_INSN_XOR, CRISV10F_INSN_XOR, CRISV10F_SFMT_DSTEP },
   { CRIS_INSN_SWAP, CRISV10F_INSN_SWAP, CRISV10F_SFMT_SWAP },
-  { CRIS_INSN_ASRR_B_R, CRISV10F_INSN_ASRR_B_R, CRISV10F_SFMT_ASRR_B_R },
-  { CRIS_INSN_ASRR_W_R, CRISV10F_INSN_ASRR_W_R, CRISV10F_SFMT_ASRR_B_R },
+  { CRIS_INSN_ASRR_B_R, CRISV10F_INSN_ASRR_B_R, CRISV10F_SFMT_AND_B_R },
+  { CRIS_INSN_ASRR_W_R, CRISV10F_INSN_ASRR_W_R, CRISV10F_SFMT_AND_B_R },
   { CRIS_INSN_ASRR_D_R, CRISV10F_INSN_ASRR_D_R, CRISV10F_SFMT_AND_D_R },
   { CRIS_INSN_ASRQ, CRISV10F_INSN_ASRQ, CRISV10F_SFMT_ASRQ },
   { CRIS_INSN_LSRR_B_R, CRISV10F_INSN_LSRR_B_R, CRISV10F_SFMT_LSRR_B_R },
@@ -252,7 +252,8 @@ static const struct insn_sem crisv10f_insn_sem[] =
   { CRIS_INSN_BIAP_PC_D_R, CRISV10F_INSN_BIAP_PC_D_R, CRISV10F_SFMT_BIAP_PC_B_R },
 };
 
-static const struct insn_sem crisv10f_insn_sem_invalid = {
+static const struct insn_sem crisv10f_insn_sem_invalid =
+{
   VIRTUAL_INSN_X_INVALID, CRISV10F_INSN_X_INVALID, CRISV10F_SFMT_EMPTY
 };
 
@@ -302,7 +303,7 @@ crisv10f_init_idesc_table (SIM_CPU *cpu)
     init_idesc (cpu, id, t);
 
   /* Now fill in the values for the chosen cpu.  */
-  for (t = crisv10f_insn_sem, tend = t + sizeof (crisv10f_insn_sem) / sizeof (*t);
+  for (t = crisv10f_insn_sem, tend = t + ARRAY_SIZE (crisv10f_insn_sem);
        t != tend; ++t)
     {
       init_idesc (cpu, & table[t->index], t);
@@ -316,14 +317,14 @@ crisv10f_init_idesc_table (SIM_CPU *cpu)
 
 const IDESC *
 crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
-              CGEN_INSN_INT base_insn,
+              CGEN_INSN_WORD base_insn,
               ARGBUF *abuf)
 {
   /* Result of decoder.  */
   CRISV10F_INSN_TYPE itype;
 
   {
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 
     {
       unsigned int val = (((insn >> 4) & (255 << 0)));
@@ -363,14 +364,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 15 :
-            if ((base_insn & 0xf00) == 0x0)
-              { itype = CRISV10F_INSN_BCC_B; goto extract_sfmt_bcc_b; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 14 :
-            if ((base_insn & 0xff00) == 0xe000)
-              { itype = CRISV10F_INSN_BA_B; goto extract_sfmt_ba_b; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 : itype = CRISV10F_INSN_BCC_B; goto extract_sfmt_bcc_b;
+          case 14 : itype = CRISV10F_INSN_BA_B; goto extract_sfmt_ba_b;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -408,143 +403,59 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xf00) == 0x100)
-              { itype = CRISV10F_INSN_ADDOQ; goto extract_sfmt_addoq; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xff00) == 0xf100)
-              { itype = CRISV10F_INSN_BDAPQPC; goto extract_sfmt_bdapqpc; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDOQ; goto extract_sfmt_addoq;
+          case 15 : itype = CRISV10F_INSN_BDAPQPC; goto extract_sfmt_bdapqpc;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
       case 32 : /* fall through */
       case 33 : /* fall through */
       case 34 : /* fall through */
-      case 35 :
-        if ((base_insn & 0xfc0) == 0x200)
-          { itype = CRISV10F_INSN_ADDQ; goto extract_sfmt_addq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 35 : itype = CRISV10F_INSN_ADDQ; goto extract_sfmt_addq;
       case 36 : /* fall through */
       case 37 : /* fall through */
       case 38 : /* fall through */
-      case 39 :
-        if ((base_insn & 0xfc0) == 0x240)
-          { itype = CRISV10F_INSN_MOVEQ; goto extract_sfmt_moveq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 39 : itype = CRISV10F_INSN_MOVEQ; goto extract_sfmt_moveq;
       case 40 : /* fall through */
       case 41 : /* fall through */
       case 42 : /* fall through */
-      case 43 :
-        if ((base_insn & 0xfc0) == 0x280)
-          { itype = CRISV10F_INSN_SUBQ; goto extract_sfmt_addq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 43 : itype = CRISV10F_INSN_SUBQ; goto extract_sfmt_addq;
       case 44 : /* fall through */
       case 45 : /* fall through */
       case 46 : /* fall through */
-      case 47 :
-        if ((base_insn & 0xfc0) == 0x2c0)
-          { itype = CRISV10F_INSN_CMPQ; goto extract_sfmt_cmpq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 47 : itype = CRISV10F_INSN_CMPQ; goto extract_sfmt_cmpq;
       case 48 : /* fall through */
       case 49 : /* fall through */
       case 50 : /* fall through */
-      case 51 :
-        if ((base_insn & 0xfc0) == 0x300)
-          { itype = CRISV10F_INSN_ANDQ; goto extract_sfmt_andq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 51 : itype = CRISV10F_INSN_ANDQ; goto extract_sfmt_andq;
       case 52 : /* fall through */
       case 53 : /* fall through */
       case 54 : /* fall through */
-      case 55 :
-        if ((base_insn & 0xfc0) == 0x340)
-          { itype = CRISV10F_INSN_ORQ; goto extract_sfmt_andq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 55 : itype = CRISV10F_INSN_ORQ; goto extract_sfmt_andq;
       case 56 : /* fall through */
-      case 57 :
-        if ((base_insn & 0xfe0) == 0x380)
-          { itype = CRISV10F_INSN_BTSTQ; goto extract_sfmt_btstq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 57 : itype = CRISV10F_INSN_BTSTQ; goto extract_sfmt_btstq;
       case 58 : /* fall through */
-      case 59 :
-        if ((base_insn & 0xfe0) == 0x3a0)
-          { itype = CRISV10F_INSN_ASRQ; goto extract_sfmt_asrq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 59 : itype = CRISV10F_INSN_ASRQ; goto extract_sfmt_asrq;
       case 60 : /* fall through */
-      case 61 :
-        if ((base_insn & 0xfe0) == 0x3c0)
-          { itype = CRISV10F_INSN_LSLQ; goto extract_sfmt_asrq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 61 : itype = CRISV10F_INSN_LSLQ; goto extract_sfmt_asrq;
       case 62 : /* fall through */
-      case 63 :
-        if ((base_insn & 0xfe0) == 0x3e0)
-          { itype = CRISV10F_INSN_LSRQ; goto extract_sfmt_asrq; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 64 :
-        if ((base_insn & 0xff0) == 0x400)
-          { itype = CRISV10F_INSN_ADDU_B_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 65 :
-        if ((base_insn & 0xff0) == 0x410)
-          { itype = CRISV10F_INSN_ADDU_W_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 66 :
-        if ((base_insn & 0xff0) == 0x420)
-          { itype = CRISV10F_INSN_ADDS_B_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 67 :
-        if ((base_insn & 0xff0) == 0x430)
-          { itype = CRISV10F_INSN_ADDS_W_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 68 :
-        if ((base_insn & 0xff0) == 0x440)
-          { itype = CRISV10F_INSN_MOVU_B_R; goto extract_sfmt_movs_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 69 :
-        if ((base_insn & 0xff0) == 0x450)
-          { itype = CRISV10F_INSN_MOVU_W_R; goto extract_sfmt_movs_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 70 :
-        if ((base_insn & 0xff0) == 0x460)
-          { itype = CRISV10F_INSN_MOVS_B_R; goto extract_sfmt_movs_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 71 :
-        if ((base_insn & 0xff0) == 0x470)
-          { itype = CRISV10F_INSN_MOVS_W_R; goto extract_sfmt_movs_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 72 :
-        if ((base_insn & 0xff0) == 0x480)
-          { itype = CRISV10F_INSN_SUBU_B_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 73 :
-        if ((base_insn & 0xff0) == 0x490)
-          { itype = CRISV10F_INSN_SUBU_W_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 74 :
-        if ((base_insn & 0xff0) == 0x4a0)
-          { itype = CRISV10F_INSN_SUBS_B_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 75 :
-        if ((base_insn & 0xff0) == 0x4b0)
-          { itype = CRISV10F_INSN_SUBS_W_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 76 :
-        if ((base_insn & 0xff0) == 0x4c0)
-          { itype = CRISV10F_INSN_LSLR_B_R; goto extract_sfmt_lsrr_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 77 :
-        if ((base_insn & 0xff0) == 0x4d0)
-          { itype = CRISV10F_INSN_LSLR_W_R; goto extract_sfmt_lsrr_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 78 :
-        if ((base_insn & 0xff0) == 0x4e0)
-          { itype = CRISV10F_INSN_LSLR_D_R; goto extract_sfmt_lsrr_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 79 :
-        if ((base_insn & 0xff0) == 0x4f0)
-          { itype = CRISV10F_INSN_BTST; goto extract_sfmt_btst; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 63 : itype = CRISV10F_INSN_LSRQ; goto extract_sfmt_asrq;
+      case 64 : itype = CRISV10F_INSN_ADDU_B_R; goto extract_sfmt_add_d_r;
+      case 65 : itype = CRISV10F_INSN_ADDU_W_R; goto extract_sfmt_add_d_r;
+      case 66 : itype = CRISV10F_INSN_ADDS_B_R; goto extract_sfmt_add_d_r;
+      case 67 : itype = CRISV10F_INSN_ADDS_W_R; goto extract_sfmt_add_d_r;
+      case 68 : itype = CRISV10F_INSN_MOVU_B_R; goto extract_sfmt_movs_b_r;
+      case 69 : itype = CRISV10F_INSN_MOVU_W_R; goto extract_sfmt_movs_b_r;
+      case 70 : itype = CRISV10F_INSN_MOVS_B_R; goto extract_sfmt_movs_b_r;
+      case 71 : itype = CRISV10F_INSN_MOVS_W_R; goto extract_sfmt_movs_b_r;
+      case 72 : itype = CRISV10F_INSN_SUBU_B_R; goto extract_sfmt_add_d_r;
+      case 73 : itype = CRISV10F_INSN_SUBU_W_R; goto extract_sfmt_add_d_r;
+      case 74 : itype = CRISV10F_INSN_SUBS_B_R; goto extract_sfmt_add_d_r;
+      case 75 : itype = CRISV10F_INSN_SUBS_W_R; goto extract_sfmt_add_d_r;
+      case 76 : itype = CRISV10F_INSN_LSLR_B_R; goto extract_sfmt_lsrr_b_r;
+      case 77 : itype = CRISV10F_INSN_LSLR_W_R; goto extract_sfmt_lsrr_b_r;
+      case 78 : itype = CRISV10F_INSN_LSLR_D_R; goto extract_sfmt_lsrr_d_r;
+      case 79 : itype = CRISV10F_INSN_BTST; goto extract_sfmt_btst;
       case 80 :
         {
           unsigned int val = (((insn >> 8) & (7 << 4)) | ((insn >> 0) & (15 << 0)));
@@ -676,41 +587,23 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 124 : /* fall through */
           case 125 : /* fall through */
           case 126 : /* fall through */
-          case 127 :
-            if ((base_insn & 0xff0) == 0x500)
-              { itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 127 : itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r;
           case 15 :
             {
               unsigned int val = (((insn >> 15) & (1 << 0)));
               switch (val)
               {
-              case 0 :
-                if ((base_insn & 0xffff) == 0x50f)
-                  { itype = CRISV10F_INSN_NOP; goto extract_sfmt_nop; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 1 :
-                if ((base_insn & 0xff0) == 0x500)
-                  { itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 0 : itype = CRISV10F_INSN_NOP; goto extract_sfmt_nop;
+              case 1 : itype = CRISV10F_INSN_ADDI_B_R; goto extract_sfmt_addi_b_r;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 81 :
-        if ((base_insn & 0xff0) == 0x510)
-          { itype = CRISV10F_INSN_ADDI_W_R; goto extract_sfmt_addi_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 82 :
-        if ((base_insn & 0xff0) == 0x520)
-          { itype = CRISV10F_INSN_ADDI_D_R; goto extract_sfmt_addi_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 83 :
-        if ((base_insn & 0xff0) == 0x530)
-          { itype = CRISV10F_INSN_SCC; goto extract_sfmt_scc; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 81 : itype = CRISV10F_INSN_ADDI_W_R; goto extract_sfmt_addi_b_r;
+      case 82 : itype = CRISV10F_INSN_ADDI_D_R; goto extract_sfmt_addi_b_r;
+      case 83 : itype = CRISV10F_INSN_SCC; goto extract_sfmt_scc;
       case 84 :
         {
           unsigned int val = (((insn >> 0) & (15 << 0)));
@@ -730,14 +623,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xff0) == 0x540)
-              { itype = CRISV10F_INSN_ADDI_ACR_B_R; goto extract_sfmt_addi_acr_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0x54f)
-              { itype = CRISV10F_INSN_BIAP_PC_B_R; goto extract_sfmt_biap_pc_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDI_ACR_B_R; goto extract_sfmt_addi_acr_b_r;
+          case 15 : itype = CRISV10F_INSN_BIAP_PC_B_R; goto extract_sfmt_biap_pc_b_r;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -760,14 +647,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xff0) == 0x550)
-              { itype = CRISV10F_INSN_ADDI_ACR_W_R; goto extract_sfmt_addi_acr_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0x55f)
-              { itype = CRISV10F_INSN_BIAP_PC_W_R; goto extract_sfmt_biap_pc_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDI_ACR_W_R; goto extract_sfmt_addi_acr_b_r;
+          case 15 : itype = CRISV10F_INSN_BIAP_PC_W_R; goto extract_sfmt_biap_pc_b_r;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -790,73 +671,25 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xff0) == 0x560)
-              { itype = CRISV10F_INSN_ADDI_ACR_D_R; goto extract_sfmt_addi_acr_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0x56f)
-              { itype = CRISV10F_INSN_BIAP_PC_D_R; goto extract_sfmt_biap_pc_b_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDI_ACR_D_R; goto extract_sfmt_addi_acr_b_r;
+          case 15 : itype = CRISV10F_INSN_BIAP_PC_D_R; goto extract_sfmt_biap_pc_b_r;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 88 :
-        if ((base_insn & 0xff0) == 0x580)
-          { itype = CRISV10F_INSN_NEG_B_R; goto extract_sfmt_neg_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 89 :
-        if ((base_insn & 0xff0) == 0x590)
-          { itype = CRISV10F_INSN_NEG_W_R; goto extract_sfmt_neg_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 90 :
-        if ((base_insn & 0xff0) == 0x5a0)
-          { itype = CRISV10F_INSN_NEG_D_R; goto extract_sfmt_neg_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 91 :
-        if ((base_insn & 0xff0) == 0x5b0)
-          { itype = CRISV10F_INSN_SETF; goto extract_sfmt_setf; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 92 :
-        if ((base_insn & 0xff0) == 0x5c0)
-          { itype = CRISV10F_INSN_BOUND_R_B_R; goto extract_sfmt_dstep; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 93 :
-        if ((base_insn & 0xff0) == 0x5d0)
-          { itype = CRISV10F_INSN_BOUND_R_W_R; goto extract_sfmt_dstep; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 94 :
-        if ((base_insn & 0xff0) == 0x5e0)
-          { itype = CRISV10F_INSN_BOUND_R_D_R; goto extract_sfmt_dstep; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 95 :
-        if ((base_insn & 0xff0) == 0x5f0)
-          { itype = CRISV10F_INSN_CLEARF; goto extract_sfmt_setf; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 96 :
-        if ((base_insn & 0xff0) == 0x600)
-          { itype = CRISV10F_INSN_ADD_B_R; goto extract_sfmt_add_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 97 :
-        if ((base_insn & 0xff0) == 0x610)
-          { itype = CRISV10F_INSN_ADD_W_R; goto extract_sfmt_add_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 98 :
-        if ((base_insn & 0xff0) == 0x620)
-          { itype = CRISV10F_INSN_ADD_D_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 99 :
-        if ((base_insn & 0xff0) == 0x630)
-          { itype = CRISV10F_INSN_MOVE_R_SPRV10; goto extract_sfmt_move_r_sprv10; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 100 :
-        if ((base_insn & 0xff0) == 0x640)
-          { itype = CRISV10F_INSN_MOVE_B_R; goto extract_sfmt_move_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 101 :
-        if ((base_insn & 0xff0) == 0x650)
-          { itype = CRISV10F_INSN_MOVE_W_R; goto extract_sfmt_move_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 88 : itype = CRISV10F_INSN_NEG_B_R; goto extract_sfmt_neg_b_r;
+      case 89 : itype = CRISV10F_INSN_NEG_W_R; goto extract_sfmt_neg_b_r;
+      case 90 : itype = CRISV10F_INSN_NEG_D_R; goto extract_sfmt_neg_d_r;
+      case 91 : itype = CRISV10F_INSN_SETF; goto extract_sfmt_setf;
+      case 92 : itype = CRISV10F_INSN_BOUND_R_B_R; goto extract_sfmt_dstep;
+      case 93 : itype = CRISV10F_INSN_BOUND_R_W_R; goto extract_sfmt_dstep;
+      case 94 : itype = CRISV10F_INSN_BOUND_R_D_R; goto extract_sfmt_dstep;
+      case 95 : itype = CRISV10F_INSN_CLEARF; goto extract_sfmt_setf;
+      case 96 : itype = CRISV10F_INSN_ADD_B_R; goto extract_sfmt_add_b_r;
+      case 97 : itype = CRISV10F_INSN_ADD_W_R; goto extract_sfmt_add_b_r;
+      case 98 : itype = CRISV10F_INSN_ADD_D_R; goto extract_sfmt_add_d_r;
+      case 99 : itype = CRISV10F_INSN_MOVE_R_SPRV10; goto extract_sfmt_move_r_sprv10;
+      case 100 : itype = CRISV10F_INSN_MOVE_B_R; goto extract_sfmt_move_b_r;
+      case 101 : itype = CRISV10F_INSN_MOVE_W_R; goto extract_sfmt_move_b_r;
       case 102 :
         {
           unsigned int val = (((insn >> 0) & (15 << 0)));
@@ -876,14 +709,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xff0) == 0x660)
-              { itype = CRISV10F_INSN_MOVE_D_R; goto extract_sfmt_move_d_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0x66f)
-              { itype = CRISV10F_INSN_MOVEPCR; goto extract_sfmt_movepcr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVE_D_R; goto extract_sfmt_move_d_r;
+          case 15 : itype = CRISV10F_INSN_MOVEPCR; goto extract_sfmt_movepcr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -906,125 +733,38 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xff0) == 0x670)
-              { itype = CRISV10F_INSN_MOVE_SPR_RV10; goto extract_sfmt_move_spr_rv10; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0x67f)
-              { itype = CRISV10F_INSN_RET_TYPE; goto extract_sfmt_ret_type; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVE_SPR_RV10; goto extract_sfmt_move_spr_rv10;
+          case 15 : itype = CRISV10F_INSN_RET_TYPE; goto extract_sfmt_ret_type;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 104 :
-        if ((base_insn & 0xff0) == 0x680)
-          { itype = CRISV10F_INSN_SUB_B_R; goto extract_sfmt_add_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 105 :
-        if ((base_insn & 0xff0) == 0x690)
-          { itype = CRISV10F_INSN_SUB_W_R; goto extract_sfmt_add_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 106 :
-        if ((base_insn & 0xff0) == 0x6a0)
-          { itype = CRISV10F_INSN_SUB_D_R; goto extract_sfmt_add_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 107 :
-        if ((base_insn & 0xff0) == 0x6b0)
-          { itype = CRISV10F_INSN_ABS; goto extract_sfmt_movs_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 108 :
-        if ((base_insn & 0xff0) == 0x6c0)
-          { itype = CRISV10F_INSN_CMP_R_B_R; goto extract_sfmt_cmp_r_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 109 :
-        if ((base_insn & 0xff0) == 0x6d0)
-          { itype = CRISV10F_INSN_CMP_R_W_R; goto extract_sfmt_cmp_r_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 110 :
-        if ((base_insn & 0xff0) == 0x6e0)
-          { itype = CRISV10F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 111 :
-        if ((base_insn & 0xff0) == 0x6f0)
-          { itype = CRISV10F_INSN_DSTEP; goto extract_sfmt_dstep; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 112 :
-        if ((base_insn & 0xff0) == 0x700)
-          { itype = CRISV10F_INSN_AND_B_R; goto extract_sfmt_and_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 113 :
-        if ((base_insn & 0xff0) == 0x710)
-          { itype = CRISV10F_INSN_AND_W_R; goto extract_sfmt_and_w_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 114 :
-        if ((base_insn & 0xff0) == 0x720)
-          { itype = CRISV10F_INSN_AND_D_R; goto extract_sfmt_and_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 115 :
-        if ((base_insn & 0xff0) == 0x730)
-          { itype = CRISV10F_INSN_LZ; goto extract_sfmt_movs_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 116 :
-        if ((base_insn & 0xff0) == 0x740)
-          { itype = CRISV10F_INSN_ORR_B_R; goto extract_sfmt_and_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 117 :
-        if ((base_insn & 0xff0) == 0x750)
-          { itype = CRISV10F_INSN_ORR_W_R; goto extract_sfmt_and_w_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 118 :
-        if ((base_insn & 0xff0) == 0x760)
-          { itype = CRISV10F_INSN_ORR_D_R; goto extract_sfmt_and_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 119 :
-        if ((base_insn & 0xff0) == 0x770)
-          { itype = CRISV10F_INSN_SWAP; goto extract_sfmt_swap; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 120 :
-        if ((base_insn & 0xff0) == 0x780)
-          { itype = CRISV10F_INSN_ASRR_B_R; goto extract_sfmt_asrr_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 121 :
-        if ((base_insn & 0xff0) == 0x790)
-          { itype = CRISV10F_INSN_ASRR_W_R; goto extract_sfmt_asrr_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 122 :
-        if ((base_insn & 0xff0) == 0x7a0)
-          { itype = CRISV10F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 123 :
-        if ((base_insn & 0xff0) == 0x7b0)
-          { itype = CRISV10F_INSN_XOR; goto extract_sfmt_dstep; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 124 :
-        if ((base_insn & 0xff0) == 0x7c0)
-          { itype = CRISV10F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 125 :
-        if ((base_insn & 0xff0) == 0x7d0)
-          { itype = CRISV10F_INSN_LSRR_W_R; goto extract_sfmt_lsrr_b_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 126 :
-        if ((base_insn & 0xff0) == 0x7e0)
-          { itype = CRISV10F_INSN_LSRR_D_R; goto extract_sfmt_lsrr_d_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 127 :
-        if ((base_insn & 0xff0) == 0x7f0)
-          { itype = CRISV10F_INSN_MSTEP; goto extract_sfmt_mstep; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 128 :
-        if ((base_insn & 0xbf0) == 0x800)
-          { itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 129 :
-        if ((base_insn & 0xbf0) == 0x810)
-          { itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 130 :
-        if ((base_insn & 0xbf0) == 0x820)
-          { itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 104 : itype = CRISV10F_INSN_SUB_B_R; goto extract_sfmt_add_b_r;
+      case 105 : itype = CRISV10F_INSN_SUB_W_R; goto extract_sfmt_add_b_r;
+      case 106 : itype = CRISV10F_INSN_SUB_D_R; goto extract_sfmt_add_d_r;
+      case 107 : itype = CRISV10F_INSN_ABS; goto extract_sfmt_movs_b_r;
+      case 108 : itype = CRISV10F_INSN_CMP_R_B_R; goto extract_sfmt_cmp_r_b_r;
+      case 109 : itype = CRISV10F_INSN_CMP_R_W_R; goto extract_sfmt_cmp_r_b_r;
+      case 110 : itype = CRISV10F_INSN_CMP_R_D_R; goto extract_sfmt_cmp_r_b_r;
+      case 111 : itype = CRISV10F_INSN_DSTEP; goto extract_sfmt_dstep;
+      case 112 : itype = CRISV10F_INSN_AND_B_R; goto extract_sfmt_and_b_r;
+      case 113 : itype = CRISV10F_INSN_AND_W_R; goto extract_sfmt_and_b_r;
+      case 114 : itype = CRISV10F_INSN_AND_D_R; goto extract_sfmt_and_d_r;
+      case 115 : itype = CRISV10F_INSN_LZ; goto extract_sfmt_movs_b_r;
+      case 116 : itype = CRISV10F_INSN_ORR_B_R; goto extract_sfmt_and_b_r;
+      case 117 : itype = CRISV10F_INSN_ORR_W_R; goto extract_sfmt_and_b_r;
+      case 118 : itype = CRISV10F_INSN_ORR_D_R; goto extract_sfmt_and_d_r;
+      case 119 : itype = CRISV10F_INSN_SWAP; goto extract_sfmt_swap;
+      case 120 : itype = CRISV10F_INSN_ASRR_B_R; goto extract_sfmt_and_b_r;
+      case 121 : itype = CRISV10F_INSN_ASRR_W_R; goto extract_sfmt_and_b_r;
+      case 122 : itype = CRISV10F_INSN_ASRR_D_R; goto extract_sfmt_and_d_r;
+      case 123 : itype = CRISV10F_INSN_XOR; goto extract_sfmt_dstep;
+      case 124 : itype = CRISV10F_INSN_LSRR_B_R; goto extract_sfmt_lsrr_b_r;
+      case 125 : itype = CRISV10F_INSN_LSRR_W_R; goto extract_sfmt_lsrr_b_r;
+      case 126 : itype = CRISV10F_INSN_LSRR_D_R; goto extract_sfmt_lsrr_d_r;
+      case 127 : itype = CRISV10F_INSN_MSTEP; goto extract_sfmt_mstep;
+      case 128 : itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m;
+      case 129 : itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m;
+      case 130 : itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m;
       case 131 :
         {
           unsigned int val = (((insn >> 8) & (7 << 4)) | ((insn >> 0) & (15 << 0)));
@@ -1156,89 +896,35 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 123 : /* fall through */
           case 124 : /* fall through */
           case 125 : /* fall through */
-          case 126 :
-            if ((base_insn & 0xbf0) == 0x830)
-              { itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 126 : itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
           case 127 :
             {
               unsigned int val = (((insn >> 15) & (1 << 0)));
               switch (val)
               {
-              case 0 :
-                if ((base_insn & 0xbf0) == 0x830)
-                  { itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 1 :
-                if ((base_insn & 0xffff) == 0xf83f)
-                  { itype = CRISV10F_INSN_ADDSPCPC; goto extract_sfmt_addspcpc; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 0 : itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
+              case 1 : itype = CRISV10F_INSN_ADDSPCPC; goto extract_sfmt_addspcpc;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 132 :
-        if ((base_insn & 0xbf0) == 0x840)
-          { itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 133 :
-        if ((base_insn & 0xbf0) == 0x850)
-          { itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 134 :
-        if ((base_insn & 0xbf0) == 0x860)
-          { itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 135 :
-        if ((base_insn & 0xbf0) == 0x870)
-          { itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 136 :
-        if ((base_insn & 0xbf0) == 0x880)
-          { itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 137 :
-        if ((base_insn & 0xbf0) == 0x890)
-          { itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 138 :
-        if ((base_insn & 0xbf0) == 0x8a0)
-          { itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 139 :
-        if ((base_insn & 0xbf0) == 0x8b0)
-          { itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 140 :
-        if ((base_insn & 0xbf0) == 0x8c0)
-          { itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 141 :
-        if ((base_insn & 0xbf0) == 0x8d0)
-          { itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 142 :
-        if ((base_insn & 0xbf0) == 0x8e0)
-          { itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 143 :
-        if ((base_insn & 0xbf0) == 0x8f0)
-          { itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 144 :
-        if ((base_insn & 0xff0) == 0x900)
-          { itype = CRISV10F_INSN_MULU_B; goto extract_sfmt_muls_b; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 145 :
-        if ((base_insn & 0xff0) == 0x910)
-          { itype = CRISV10F_INSN_MULU_W; goto extract_sfmt_muls_b; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 146 :
-        if ((base_insn & 0xff0) == 0x920)
-          { itype = CRISV10F_INSN_MULU_D; goto extract_sfmt_muls_b; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 132 : itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m;
+      case 133 : itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m;
+      case 134 : itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m;
+      case 135 : itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m;
+      case 136 : itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m;
+      case 137 : itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m;
+      case 138 : itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m;
+      case 139 : itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m;
+      case 140 : itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m;
+      case 141 : itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m;
+      case 142 : itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m;
+      case 143 : itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m;
+      case 144 : itype = CRISV10F_INSN_MULU_B; goto extract_sfmt_muls_b;
+      case 145 : itype = CRISV10F_INSN_MULU_W; goto extract_sfmt_muls_b;
+      case 146 : itype = CRISV10F_INSN_MULU_D; goto extract_sfmt_muls_b;
       case 147 :
         {
           unsigned int val = (((insn >> 12) & (15 << 0)));
@@ -1258,130 +944,43 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 15 :
-            if ((base_insn & 0xbf0) == 0x930)
-              { itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 14 :
-            if ((base_insn & 0xfff0) == 0xe930)
-              { itype = CRISV10F_INSN_BREAK; goto extract_sfmt_break; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 : itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m;
+          case 14 : itype = CRISV10F_INSN_BREAK; goto extract_sfmt_break;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 148 :
-        if ((base_insn & 0xbf0) == 0x940)
-          { itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 149 :
-        if ((base_insn & 0xbf0) == 0x950)
-          { itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 150 :
-        if ((base_insn & 0xbf0) == 0x960)
-          { itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 148 : itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m;
+      case 149 : itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m;
+      case 150 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
       case 151 :
         if ((base_insn & 0xfbf0) == 0x970)
           { itype = CRISV10F_INSN_DIP_M; goto extract_sfmt_dip_m; }
         itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 155 :
-        if ((base_insn & 0xff0) == 0x9b0)
-          { itype = CRISV10F_INSN_JUMP_R; goto extract_sfmt_jump_r; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 156 :
-        if ((base_insn & 0xbf0) == 0x9c0)
-          { itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 157 :
-        if ((base_insn & 0xbf0) == 0x9d0)
-          { itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 158 :
-        if ((base_insn & 0xbf0) == 0x9e0)
-          { itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 160 :
-        if ((base_insn & 0xbf0) == 0xa00)
-          { itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 161 :
-        if ((base_insn & 0xbf0) == 0xa10)
-          { itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 162 :
-        if ((base_insn & 0xbf0) == 0xa20)
-          { itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 163 :
-        if ((base_insn & 0xbf0) == 0xa30)
-          { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 164 :
-        if ((base_insn & 0xbf0) == 0xa40)
-          { itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 165 :
-        if ((base_insn & 0xbf0) == 0xa50)
-          { itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 166 :
-        if ((base_insn & 0xbf0) == 0xa60)
-          { itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 155 : itype = CRISV10F_INSN_JUMP_R; goto extract_sfmt_jump_r;
+      case 156 : itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m;
+      case 157 : itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m;
+      case 158 : itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m;
+      case 160 : itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
+      case 161 : itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
+      case 162 : itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
+      case 163 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+      case 164 : itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m;
+      case 165 : itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m;
+      case 166 : itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m;
       case 167 : /* fall through */
-      case 231 :
-        if ((base_insn & 0xbf0) == 0xa70)
-          { itype = CRISV10F_INSN_MOVE_SPR_MV10; goto extract_sfmt_move_spr_mv10; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 168 :
-        if ((base_insn & 0xbf0) == 0xa80)
-          { itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 169 :
-        if ((base_insn & 0xbf0) == 0xa90)
-          { itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 170 :
-        if ((base_insn & 0xbf0) == 0xaa0)
-          { itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 172 :
-        if ((base_insn & 0xbf0) == 0xac0)
-          { itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 173 :
-        if ((base_insn & 0xbf0) == 0xad0)
-          { itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 174 :
-        if ((base_insn & 0xbf0) == 0xae0)
-          { itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 176 :
-        if ((base_insn & 0xbf0) == 0xb00)
-          { itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 177 :
-        if ((base_insn & 0xbf0) == 0xb10)
-          { itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 178 :
-        if ((base_insn & 0xbf0) == 0xb20)
-          { itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 180 :
-        if ((base_insn & 0xbf0) == 0xb40)
-          { itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 181 :
-        if ((base_insn & 0xbf0) == 0xb50)
-          { itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 182 :
-        if ((base_insn & 0xbf0) == 0xb60)
-          { itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 231 : itype = CRISV10F_INSN_MOVE_SPR_MV10; goto extract_sfmt_move_spr_mv10;
+      case 168 : itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m;
+      case 169 : itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m;
+      case 170 : itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m;
+      case 172 : itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m;
+      case 173 : itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m;
+      case 174 : itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m;
+      case 176 : itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m;
+      case 177 : itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m;
+      case 178 : itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m;
+      case 180 : itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m;
+      case 181 : itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m;
+      case 182 : itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
       case 183 : /* fall through */
       case 247 :
         if ((base_insn & 0xfbf0) == 0x3b70)
@@ -1422,37 +1021,19 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xbb0)
-              { itype = CRISV10F_INSN_MOVEM_M_R; goto extract_sfmt_movem_m_r; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfbf0) == 0xfbb0)
-              { itype = CRISV10F_INSN_MOVEM_M_PC; goto extract_sfmt_movem_m_pc; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVEM_M_R; goto extract_sfmt_movem_m_r;
+          case 15 : itype = CRISV10F_INSN_MOVEM_M_PC; goto extract_sfmt_movem_m_pc;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
       case 188 : /* fall through */
-      case 252 :
-        if ((base_insn & 0xbf0) == 0xbc0)
-          { itype = CRISV10F_INSN_MOVE_R_M_B_M; goto extract_sfmt_move_r_m_b_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 252 : itype = CRISV10F_INSN_MOVE_R_M_B_M; goto extract_sfmt_move_r_m_b_m;
       case 189 : /* fall through */
-      case 253 :
-        if ((base_insn & 0xbf0) == 0xbd0)
-          { itype = CRISV10F_INSN_MOVE_R_M_W_M; goto extract_sfmt_move_r_m_w_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 253 : itype = CRISV10F_INSN_MOVE_R_M_W_M; goto extract_sfmt_move_r_m_w_m;
       case 190 : /* fall through */
-      case 254 :
-        if ((base_insn & 0xbf0) == 0xbe0)
-          { itype = CRISV10F_INSN_MOVE_R_M_D_M; goto extract_sfmt_move_r_m_d_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 254 : itype = CRISV10F_INSN_MOVE_R_M_D_M; goto extract_sfmt_move_r_m_d_m;
       case 191 : /* fall through */
-      case 255 :
-        if ((base_insn & 0xbf0) == 0xbf0)
-          { itype = CRISV10F_INSN_MOVEM_R_M; goto extract_sfmt_movem_r_m; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 255 : itype = CRISV10F_INSN_MOVEM_R_M; goto extract_sfmt_movem_r_m;
       case 192 :
         {
           unsigned int val = (((insn >> 0) & (15 << 0)));
@@ -1472,14 +1053,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x800)
-              { itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc0f)
-              { itype = CRISV10F_INSN_ADDUCBR; goto extract_sfmt_addscbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDU_M_B_M; goto extract_sfmt_adds_m_b_m;
+          case 15 : itype = CRISV10F_INSN_ADDUCBR; goto extract_sfmt_addscbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1502,14 +1077,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x810)
-              { itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc1f)
-              { itype = CRISV10F_INSN_ADDUCWR; goto extract_sfmt_addscwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDU_M_W_M; goto extract_sfmt_adds_m_w_m;
+          case 15 : itype = CRISV10F_INSN_ADDUCWR; goto extract_sfmt_addscwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1532,14 +1101,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x820)
-              { itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc2f)
-              { itype = CRISV10F_INSN_ADDSCBR; goto extract_sfmt_addscbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDS_M_B_M; goto extract_sfmt_adds_m_b_m;
+          case 15 : itype = CRISV10F_INSN_ADDSCBR; goto extract_sfmt_addscbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1562,14 +1125,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x830)
-              { itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc3f)
-              { itype = CRISV10F_INSN_ADDSCWR; goto extract_sfmt_addscwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDS_M_W_M; goto extract_sfmt_adds_m_w_m;
+          case 15 : itype = CRISV10F_INSN_ADDSCWR; goto extract_sfmt_addscwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1592,14 +1149,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x840)
-              { itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc4f)
-              { itype = CRISV10F_INSN_MOVUCBR; goto extract_sfmt_movucbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVU_M_B_M; goto extract_sfmt_movs_m_b_m;
+          case 15 : itype = CRISV10F_INSN_MOVUCBR; goto extract_sfmt_movucbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1622,14 +1173,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x850)
-              { itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc5f)
-              { itype = CRISV10F_INSN_MOVUCWR; goto extract_sfmt_movucwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVU_M_W_M; goto extract_sfmt_movs_m_w_m;
+          case 15 : itype = CRISV10F_INSN_MOVUCWR; goto extract_sfmt_movucwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1652,14 +1197,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x860)
-              { itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc6f)
-              { itype = CRISV10F_INSN_MOVSCBR; goto extract_sfmt_movscbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVS_M_B_M; goto extract_sfmt_movs_m_b_m;
+          case 15 : itype = CRISV10F_INSN_MOVSCBR; goto extract_sfmt_movscbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1682,14 +1221,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x870)
-              { itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc7f)
-              { itype = CRISV10F_INSN_MOVSCWR; goto extract_sfmt_movscwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVS_M_W_M; goto extract_sfmt_movs_m_w_m;
+          case 15 : itype = CRISV10F_INSN_MOVSCWR; goto extract_sfmt_movscwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1712,14 +1245,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x880)
-              { itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc8f)
-              { itype = CRISV10F_INSN_SUBUCBR; goto extract_sfmt_addscbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUBU_M_B_M; goto extract_sfmt_adds_m_b_m;
+          case 15 : itype = CRISV10F_INSN_SUBUCBR; goto extract_sfmt_addscbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1742,14 +1269,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x890)
-              { itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xc9f)
-              { itype = CRISV10F_INSN_SUBUCWR; goto extract_sfmt_addscwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUBU_M_W_M; goto extract_sfmt_adds_m_w_m;
+          case 15 : itype = CRISV10F_INSN_SUBUCWR; goto extract_sfmt_addscwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1772,14 +1293,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x8a0)
-              { itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xcaf)
-              { itype = CRISV10F_INSN_SUBSCBR; goto extract_sfmt_addscbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUBS_M_B_M; goto extract_sfmt_adds_m_b_m;
+          case 15 : itype = CRISV10F_INSN_SUBSCBR; goto extract_sfmt_addscbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1802,14 +1317,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x8b0)
-              { itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xcbf)
-              { itype = CRISV10F_INSN_SUBSCWR; goto extract_sfmt_addscwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUBS_M_W_M; goto extract_sfmt_adds_m_w_m;
+          case 15 : itype = CRISV10F_INSN_SUBSCWR; goto extract_sfmt_addscwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1832,14 +1341,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x8c0)
-              { itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xccf)
-              { itype = CRISV10F_INSN_CMPUCBR; goto extract_sfmt_cmpucbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMPU_M_B_M; goto extract_sfmt_cmp_m_b_m;
+          case 15 : itype = CRISV10F_INSN_CMPUCBR; goto extract_sfmt_cmpucbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1862,14 +1365,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x8d0)
-              { itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xcdf)
-              { itype = CRISV10F_INSN_CMPUCWR; goto extract_sfmt_cmpucwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMPU_M_W_M; goto extract_sfmt_cmp_m_w_m;
+          case 15 : itype = CRISV10F_INSN_CMPUCWR; goto extract_sfmt_cmpucwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1892,14 +1389,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x8e0)
-              { itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xcef)
-              { itype = CRISV10F_INSN_CMPSCBR; goto extract_sfmt_cmpcbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMPS_M_B_M; goto extract_sfmt_cmp_m_b_m;
+          case 15 : itype = CRISV10F_INSN_CMPSCBR; goto extract_sfmt_cmpcbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1922,29 +1413,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x8f0)
-              { itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xcff)
-              { itype = CRISV10F_INSN_CMPSCWR; goto extract_sfmt_cmpcwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMPS_M_W_M; goto extract_sfmt_cmp_m_w_m;
+          case 15 : itype = CRISV10F_INSN_CMPSCWR; goto extract_sfmt_cmpcwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 208 :
-        if ((base_insn & 0xff0) == 0xd00)
-          { itype = CRISV10F_INSN_MULS_B; goto extract_sfmt_muls_b; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 209 :
-        if ((base_insn & 0xff0) == 0xd10)
-          { itype = CRISV10F_INSN_MULS_W; goto extract_sfmt_muls_b; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 210 :
-        if ((base_insn & 0xff0) == 0xd20)
-          { itype = CRISV10F_INSN_MULS_D; goto extract_sfmt_muls_b; }
-        itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 208 : itype = CRISV10F_INSN_MULS_B; goto extract_sfmt_muls_b;
+      case 209 : itype = CRISV10F_INSN_MULS_W; goto extract_sfmt_muls_b;
+      case 210 : itype = CRISV10F_INSN_MULS_D; goto extract_sfmt_muls_b;
       case 211 :
         {
           unsigned int val = (((insn >> 0) & (15 << 0)));
@@ -1964,14 +1440,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x930)
-              { itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xd3f)
-              { itype = CRISV10F_INSN_JUMP_C; goto extract_sfmt_jump_c; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_JUMP_M; goto extract_sfmt_jump_m;
+          case 15 : itype = CRISV10F_INSN_JUMP_C; goto extract_sfmt_jump_c;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1994,14 +1464,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x940)
-              { itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xd4f)
-              { itype = CRISV10F_INSN_ADDO_CB; goto extract_sfmt_addo_cb; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDO_M_B_M; goto extract_sfmt_addo_m_b_m;
+          case 15 : itype = CRISV10F_INSN_ADDO_CB; goto extract_sfmt_addo_cb;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2024,14 +1488,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x950)
-              { itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xd5f)
-              { itype = CRISV10F_INSN_ADDO_CW; goto extract_sfmt_addo_cw; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADDO_M_W_M; goto extract_sfmt_addo_m_w_m;
+          case 15 : itype = CRISV10F_INSN_ADDO_CW; goto extract_sfmt_addo_cw;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2073,14 +1531,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 11 : /* fall through */
               case 12 : /* fall through */
               case 13 : /* fall through */
-              case 14 :
-                if ((base_insn & 0xbf0) == 0x960)
-                  { itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 15 :
-                if ((base_insn & 0xfff) == 0xd6f)
-                  { itype = CRISV10F_INSN_ADDO_CD; goto extract_sfmt_addo_cd; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 14 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
+              case 15 : itype = CRISV10F_INSN_ADDO_CD; goto extract_sfmt_addo_cd;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2103,14 +1555,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 11 : /* fall through */
               case 12 : /* fall through */
               case 13 : /* fall through */
-              case 14 :
-                if ((base_insn & 0xbf0) == 0x960)
-                  { itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 15 :
-                if ((base_insn & 0xffff) == 0xfd6f)
-                  { itype = CRISV10F_INSN_BDAP_32_PC; goto extract_sfmt_bdap_32_pc; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 14 : itype = CRISV10F_INSN_ADDO_M_D_M; goto extract_sfmt_addo_m_d_m;
+              case 15 : itype = CRISV10F_INSN_BDAP_32_PC; goto extract_sfmt_bdap_32_pc;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2166,14 +1612,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x9c0)
-              { itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xdcf)
-              { itype = CRISV10F_INSN_BOUND_CB; goto extract_sfmt_bound_cb; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_BOUND_M_B_M; goto extract_sfmt_bound_m_b_m;
+          case 15 : itype = CRISV10F_INSN_BOUND_CB; goto extract_sfmt_bound_cb;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2196,14 +1636,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x9d0)
-              { itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xddf)
-              { itype = CRISV10F_INSN_BOUND_CW; goto extract_sfmt_bound_cw; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_BOUND_M_W_M; goto extract_sfmt_bound_m_w_m;
+          case 15 : itype = CRISV10F_INSN_BOUND_CW; goto extract_sfmt_bound_cw;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2226,14 +1660,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0x9e0)
-              { itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xdef)
-              { itype = CRISV10F_INSN_BOUND_CD; goto extract_sfmt_bound_cd; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_BOUND_M_D_M; goto extract_sfmt_bound_m_d_m;
+          case 15 : itype = CRISV10F_INSN_BOUND_CD; goto extract_sfmt_bound_cd;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2286,14 +1714,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa00)
-              { itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe0f)
-              { itype = CRISV10F_INSN_ADDCBR; goto extract_sfmt_addcbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADD_M_B_M; goto extract_sfmt_add_m_b_m;
+          case 15 : itype = CRISV10F_INSN_ADDCBR; goto extract_sfmt_addcbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2316,14 +1738,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa10)
-              { itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe1f)
-              { itype = CRISV10F_INSN_ADDCWR; goto extract_sfmt_addcwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_ADD_M_W_M; goto extract_sfmt_add_m_w_m;
+          case 15 : itype = CRISV10F_INSN_ADDCWR; goto extract_sfmt_addcwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2365,14 +1781,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 11 : /* fall through */
               case 12 : /* fall through */
               case 13 : /* fall through */
-              case 14 :
-                if ((base_insn & 0xbf0) == 0xa20)
-                  { itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 15 :
-                if ((base_insn & 0xfff) == 0xe2f)
-                  { itype = CRISV10F_INSN_ADDCDR; goto extract_sfmt_addcdr; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 14 : itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
+              case 15 : itype = CRISV10F_INSN_ADDCDR; goto extract_sfmt_addcdr;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2395,14 +1805,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 11 : /* fall through */
               case 12 : /* fall through */
               case 13 : /* fall through */
-              case 14 :
-                if ((base_insn & 0xbf0) == 0xa20)
-                  { itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 15 :
-                if ((base_insn & 0xffff) == 0xfe2f)
-                  { itype = CRISV10F_INSN_ADDCPC; goto extract_sfmt_addcpc; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 14 : itype = CRISV10F_INSN_ADD_M_D_M; goto extract_sfmt_add_m_d_m;
+              case 15 : itype = CRISV10F_INSN_ADDCPC; goto extract_sfmt_addcpc;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2434,10 +1838,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 24 : /* fall through */
           case 26 : /* fall through */
           case 28 : /* fall through */
-          case 30 :
-            if ((base_insn & 0xbf0) == 0xa30)
-              { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 30 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
           case 1 :
             {
               unsigned int val = (((insn >> 1) & (7 << 0)));
@@ -2449,14 +1850,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xe3f)
-                  { itype = CRISV10F_INSN_MOVE_M_PCPLUS_P0; goto extract_sfmt_move_m_pcplus_p0; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_M_PCPLUS_P0; goto extract_sfmt_move_m_pcplus_p0;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2471,14 +1866,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0x5e3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P5; goto extract_sfmt_move_c_sprv10_p5; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P5; goto extract_sfmt_move_c_sprv10_p5;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2493,14 +1882,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0x7e3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P7; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P7; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2515,14 +1898,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0x8e3e)
-                  { itype = CRISV10F_INSN_MOVE_M_SPPLUS_P8; goto extract_sfmt_move_m_spplus_p8; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_M_SPPLUS_P8; goto extract_sfmt_move_m_spplus_p8;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2537,14 +1914,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0x9e3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P9; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P9; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2559,14 +1930,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xae3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P10; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P10; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2581,14 +1946,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xbe3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P11; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P11; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2603,14 +1962,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xce3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P12; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P12; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2625,14 +1978,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xde3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P13; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P13; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2647,14 +1994,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xee3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P14; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P14; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2669,14 +2010,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
               case 3 : /* fall through */
               case 4 : /* fall through */
               case 5 : /* fall through */
-              case 6 :
-                if ((base_insn & 0xbf0) == 0xa30)
-                  { itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-              case 7 :
-                if ((base_insn & 0xffff) == 0xfe3f)
-                  { itype = CRISV10F_INSN_MOVE_C_SPRV10_P15; goto extract_sfmt_move_c_sprv10_p9; }
-                itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 6 : itype = CRISV10F_INSN_MOVE_M_SPRV10; goto extract_sfmt_move_m_sprv10;
+              case 7 : itype = CRISV10F_INSN_MOVE_C_SPRV10_P15; goto extract_sfmt_move_c_sprv10_p9;
               default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -2702,14 +2037,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa40)
-              { itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe4f)
-              { itype = CRISV10F_INSN_MOVECBR; goto extract_sfmt_movecbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVE_M_B_M; goto extract_sfmt_move_m_b_m;
+          case 15 : itype = CRISV10F_INSN_MOVECBR; goto extract_sfmt_movecbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2732,14 +2061,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa50)
-              { itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe5f)
-              { itype = CRISV10F_INSN_MOVECWR; goto extract_sfmt_movecwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVE_M_W_M; goto extract_sfmt_move_m_w_m;
+          case 15 : itype = CRISV10F_INSN_MOVECWR; goto extract_sfmt_movecwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2762,14 +2085,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa60)
-              { itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe6f)
-              { itype = CRISV10F_INSN_MOVECDR; goto extract_sfmt_movecdr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_MOVE_M_D_M; goto extract_sfmt_move_m_d_m;
+          case 15 : itype = CRISV10F_INSN_MOVECDR; goto extract_sfmt_movecdr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2792,14 +2109,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa80)
-              { itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe8f)
-              { itype = CRISV10F_INSN_SUBCBR; goto extract_sfmt_addcbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUB_M_B_M; goto extract_sfmt_add_m_b_m;
+          case 15 : itype = CRISV10F_INSN_SUBCBR; goto extract_sfmt_addcbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2822,14 +2133,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xa90)
-              { itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xe9f)
-              { itype = CRISV10F_INSN_SUBCWR; goto extract_sfmt_addcwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUB_M_W_M; goto extract_sfmt_add_m_w_m;
+          case 15 : itype = CRISV10F_INSN_SUBCWR; goto extract_sfmt_addcwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2852,14 +2157,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xaa0)
-              { itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xeaf)
-              { itype = CRISV10F_INSN_SUBCDR; goto extract_sfmt_addcdr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_SUB_M_D_M; goto extract_sfmt_add_m_d_m;
+          case 15 : itype = CRISV10F_INSN_SUBCDR; goto extract_sfmt_addcdr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2882,14 +2181,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xac0)
-              { itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xecf)
-              { itype = CRISV10F_INSN_CMPCBR; goto extract_sfmt_cmpcbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMP_M_B_M; goto extract_sfmt_cmp_m_b_m;
+          case 15 : itype = CRISV10F_INSN_CMPCBR; goto extract_sfmt_cmpcbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2912,14 +2205,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xad0)
-              { itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xedf)
-              { itype = CRISV10F_INSN_CMPCWR; goto extract_sfmt_cmpcwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMP_M_W_M; goto extract_sfmt_cmp_m_w_m;
+          case 15 : itype = CRISV10F_INSN_CMPCWR; goto extract_sfmt_cmpcwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2942,14 +2229,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xae0)
-              { itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xeef)
-              { itype = CRISV10F_INSN_CMPCDR; goto extract_sfmt_cmpcdr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_CMP_M_D_M; goto extract_sfmt_cmp_m_d_m;
+          case 15 : itype = CRISV10F_INSN_CMPCDR; goto extract_sfmt_cmpcdr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2972,14 +2253,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xb00)
-              { itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xf0f)
-              { itype = CRISV10F_INSN_ANDCBR; goto extract_sfmt_andcbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_AND_M_B_M; goto extract_sfmt_and_m_b_m;
+          case 15 : itype = CRISV10F_INSN_ANDCBR; goto extract_sfmt_andcbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -3002,14 +2277,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xb10)
-              { itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xf1f)
-              { itype = CRISV10F_INSN_ANDCWR; goto extract_sfmt_andcwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_AND_M_W_M; goto extract_sfmt_and_m_w_m;
+          case 15 : itype = CRISV10F_INSN_ANDCWR; goto extract_sfmt_andcwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -3032,14 +2301,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xb20)
-              { itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xf2f)
-              { itype = CRISV10F_INSN_ANDCDR; goto extract_sfmt_andcdr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_AND_M_D_M; goto extract_sfmt_and_m_d_m;
+          case 15 : itype = CRISV10F_INSN_ANDCDR; goto extract_sfmt_andcdr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -3062,14 +2325,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xb40)
-              { itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xf4f)
-              { itype = CRISV10F_INSN_ORCBR; goto extract_sfmt_andcbr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_OR_M_B_M; goto extract_sfmt_and_m_b_m;
+          case 15 : itype = CRISV10F_INSN_ORCBR; goto extract_sfmt_andcbr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -3092,14 +2349,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xb50)
-              { itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xf5f)
-              { itype = CRISV10F_INSN_ORCWR; goto extract_sfmt_andcwr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_OR_M_W_M; goto extract_sfmt_and_m_w_m;
+          case 15 : itype = CRISV10F_INSN_ORCWR; goto extract_sfmt_andcwr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -3122,14 +2373,8 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : /* fall through */
           case 12 : /* fall through */
           case 13 : /* fall through */
-          case 14 :
-            if ((base_insn & 0xbf0) == 0xb60)
-              { itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 15 :
-            if ((base_insn & 0xfff) == 0xf6f)
-              { itype = CRISV10F_INSN_ORCDR; goto extract_sfmt_andcdr; }
-            itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 : itype = CRISV10F_INSN_OR_M_D_M; goto extract_sfmt_and_m_d_m;
+          case 15 : itype = CRISV10F_INSN_ORCDR; goto extract_sfmt_andcdr;
           default : itype = CRISV10F_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -3143,11 +2388,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_empty:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
 
 
   /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
 
 #undef FLD
     return idesc;
@@ -3156,11 +2401,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nop:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
 
 
   /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
 
 #undef FLD
     return idesc;
@@ -3169,7 +2414,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -3180,14 +2425,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -3197,7 +2442,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_d_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -3208,14 +2453,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -3225,7 +2470,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movepcr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_moveq.f
     UINT f_operand2;
 
@@ -3233,7 +2478,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3249,18 +2494,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_moveq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_moveq.f
     UINT f_operand2;
     INT f_s6;
 
     f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
-    f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
+    f_s6 = EXTRACT_LSB0_SINT (insn, 16, 5, 6);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_s6) = f_s6;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3276,7 +2521,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movs_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_muls_b.f
     UINT f_operand2;
     UINT f_operand1;
@@ -3287,7 +2532,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3304,7 +2549,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movecbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcbr.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -3318,13 +2563,13 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -3334,7 +2579,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movecwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcwr.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -3348,13 +2593,13 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -3364,7 +2609,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movecdr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cd.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -3378,7 +2623,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3394,7 +2639,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movscbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cb.f
     UINT f_operand2;
     INT f_indir_pc__byte;
@@ -3408,7 +2653,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3424,7 +2669,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movscwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cw.f
     UINT f_operand2;
     INT f_indir_pc__word;
@@ -3438,7 +2683,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__word) = f_indir_pc__word;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3454,7 +2699,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movucbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cb.f
     UINT f_operand2;
     INT f_indir_pc__byte;
@@ -3468,7 +2713,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3484,7 +2729,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movucwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cw.f
     UINT f_operand2;
     INT f_indir_pc__word;
@@ -3498,7 +2743,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__word) = f_indir_pc__word;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3514,7 +2759,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addq.f
     UINT f_operand2;
     UINT f_u6;
@@ -3525,14 +2770,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_u6) = f_u6;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -3542,7 +2787,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmp_r_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -3553,7 +2798,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3570,7 +2815,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmp_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3584,7 +2829,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3602,7 +2847,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmp_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3616,7 +2861,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3634,7 +2879,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmp_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3648,7 +2893,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3666,7 +2911,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpcbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cb.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -3680,7 +2925,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3696,7 +2941,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpcwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cw.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -3710,7 +2955,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3726,7 +2971,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpcdr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cd.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -3740,7 +2985,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3756,18 +3001,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_andq.f
     UINT f_operand2;
     INT f_s6;
 
     f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
-    f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
+    f_s6 = EXTRACT_LSB0_SINT (insn, 16, 5, 6);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_s6) = f_s6;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3783,7 +3028,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpucbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cb.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -3797,7 +3042,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3813,7 +3058,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpucwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cw.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -3827,7 +3072,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3843,7 +3088,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3857,7 +3102,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3865,7 +3110,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -3875,7 +3120,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3889,7 +3134,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3897,7 +3142,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -3907,7 +3152,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3921,7 +3166,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3929,7 +3174,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -3939,7 +3184,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movs_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3953,7 +3198,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -3971,7 +3216,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movs_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -3985,7 +3230,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4003,7 +3248,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_r_sprv10:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4014,7 +3259,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4031,7 +3276,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_spr_rv10:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4042,14 +3287,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Ps) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rs) = FLD (f_operand1);
+      FLD (out_h_gr_SI_index_of__INT_Rs) = FLD (f_operand1);
     }
 #endif
 #undef FLD
@@ -4059,7 +3304,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ret_type:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_rv10.f
     UINT f_operand2;
 
@@ -4067,7 +3312,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4083,7 +3328,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_m_sprv10:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4097,7 +3342,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4115,7 +3360,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_c_sprv10_p5:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p5.f
     UINT f_operand2;
     INT f_indir_pc__word;
@@ -4129,7 +3374,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__word) = f_indir_pc__word;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p5", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p5", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4145,7 +3390,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_c_sprv10_p9:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -4159,7 +3404,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p9", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p9", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4175,7 +3420,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_spr_mv10:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4189,7 +3434,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4207,11 +3452,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_sbfs:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
 
 
   /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0));
 
 #undef FLD
     return idesc;
@@ -4220,7 +3465,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movem_r_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_movem_r_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4234,7 +3479,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4268,7 +3513,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movem_m_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4282,7 +3527,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4315,7 +3560,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movem_m_pc:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_movem_m_r.f
     UINT f_memmode;
     UINT f_operand1;
@@ -4326,7 +3571,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4358,7 +3603,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_add_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4369,7 +3614,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4377,7 +3622,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4387,7 +3632,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_add_d_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4398,7 +3643,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4406,7 +3651,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4416,7 +3661,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_add_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4430,7 +3675,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4439,7 +3684,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -4449,7 +3694,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_add_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4463,7 +3708,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4472,7 +3717,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -4482,7 +3727,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_add_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4496,7 +3741,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4505,7 +3750,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -4515,7 +3760,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addcbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcbr.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -4529,14 +3774,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4546,7 +3791,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addcwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcwr.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -4560,14 +3805,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4577,7 +3822,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addcdr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcdr.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -4591,14 +3836,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4608,7 +3853,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addcpc:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
     INT f_indir_pc__dword;
     /* Contents of trailing part of insn.  */
@@ -4619,7 +3864,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4634,7 +3879,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_adds_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4648,7 +3893,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4657,7 +3902,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -4667,7 +3912,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_adds_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4681,7 +3926,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4690,7 +3935,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -4700,7 +3945,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addscbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcbr.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -4714,14 +3959,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4731,7 +3976,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addscwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcwr.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -4745,14 +3990,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4762,11 +4007,11 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addspcpc:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
+#define FLD(f) abuf->fields.sfmt_empty.f
 
 
   /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4781,7 +4026,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addi_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4792,7 +4037,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4810,7 +4055,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_neg_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4821,14 +4066,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4838,7 +4083,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_neg_d_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -4849,14 +4094,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -4866,7 +4111,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_test_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_memmode;
     UINT f_operand1;
@@ -4877,7 +4122,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4894,7 +4139,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_test_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_memmode;
     UINT f_operand1;
@@ -4905,7 +4150,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4922,7 +4167,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_test_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_memmode;
     UINT f_operand1;
@@ -4933,7 +4178,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4950,7 +4195,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_r_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4964,7 +4209,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -4982,7 +4227,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_r_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -4996,7 +4241,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5014,7 +4259,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_r_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5028,7 +4273,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5046,7 +4291,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_muls_b:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_muls_b.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5057,7 +4302,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5076,7 +4321,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mstep:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_muls_b.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5087,7 +4332,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5105,7 +4350,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_dstep:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_muls_b.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5116,7 +4361,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5134,7 +4379,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_and_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5145,7 +4390,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5153,36 +4398,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_and_w_r:
-  {
-    const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add_b_r.f
-    UINT f_operand2;
-    UINT f_operand1;
-
-    f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
-    f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_operand2) = f_operand2;
-  FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_w_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rd) = f_operand2;
-      FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5192,7 +4408,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_and_d_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5203,7 +4419,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5211,7 +4427,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5221,7 +4437,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_and_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5235,7 +4451,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5244,7 +4460,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -5254,7 +4470,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_and_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5268,7 +4484,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5277,7 +4493,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -5287,7 +4503,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_and_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5301,7 +4517,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5310,7 +4526,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
       FLD (out_Rs) = f_operand1;
-      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__DFLT_inc_index_of__DFLT_Rs_index_of__DFLT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
+      FLD (out_h_gr_SI_if__SI_andif__DFLT_prefix_set_not__UINT_inc_index_of__INT_Rs_index_of__INT_Rd) = ((ANDIF (GET_H_INSN_PREFIXED_P (), (! (FLD (f_memmode))))) ? (FLD (f_operand1)) : (FLD (f_operand2)));
     }
 #endif
 #undef FLD
@@ -5320,7 +4536,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andcbr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcbr.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -5334,14 +4550,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5351,7 +4567,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andcwr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcwr.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -5365,14 +4581,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5382,7 +4598,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andcdr:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addcdr.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -5396,14 +4612,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5413,25 +4629,25 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_andq.f
     UINT f_operand2;
     INT f_s6;
 
     f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
-    f_s6 = EXTRACT_LSB0_INT (insn, 16, 5, 6);
+    f_s6 = EXTRACT_LSB0_SINT (insn, 16, 5, 6);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_s6) = f_s6;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_Rd) = f_operand2;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5441,7 +4657,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_swap:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5452,7 +4668,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5462,35 +4678,6 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (out_Rs) = f_operand1;
     }
 #endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_asrr_b_r:
-  {
-    const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add_b_r.f
-    UINT f_operand2;
-    UINT f_operand1;
-
-    f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
-    f_operand1 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_operand2) = f_operand2;
-  FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rd) = f_operand2;
-      FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
-    }
-#endif
 #undef FLD
     return idesc;
   }
@@ -5498,7 +4685,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_asrq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_asrq.f
     UINT f_operand2;
     UINT f_u5;
@@ -5509,7 +4696,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_u5) = f_u5;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5526,7 +4713,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lsrr_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5537,7 +4724,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5545,7 +4732,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5555,7 +4742,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lsrr_d_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5566,7 +4753,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5574,7 +4761,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_Rd) = f_operand2;
       FLD (in_Rs) = f_operand1;
-      FLD (out_h_gr_SI_index_of__DFLT_Rd) = FLD (f_operand2);
+      FLD (out_h_gr_SI_index_of__INT_Rd) = FLD (f_operand2);
     }
 #endif
 #undef FLD
@@ -5584,7 +4771,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_btst:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5595,7 +4782,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5612,7 +4799,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_btstq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_asrq.f
     UINT f_operand2;
     UINT f_u5;
@@ -5623,7 +4810,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_u5) = f_u5;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5639,7 +4826,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_setf:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_setf.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5651,7 +4838,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_dstsrc) = f_dstsrc;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
 
 #undef FLD
     return idesc;
@@ -5660,7 +4847,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bcc_b:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bcc_b.f
     UINT f_operand2;
     UINT f_disp9_lo;
@@ -5669,7 +4856,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
     f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
-    f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
+    f_disp9_hi = EXTRACT_LSB0_SINT (insn, 16, 0, 1);
 {
   SI tmp_abslo;
   SI tmp_absval;
@@ -5681,7 +4868,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (i_o_pcrel) = f_disp9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5696,14 +4883,14 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ba_b:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bcc_b.f
     UINT f_disp9_lo;
     INT f_disp9_hi;
     INT f_disp9;
 
     f_disp9_lo = EXTRACT_LSB0_UINT (insn, 16, 7, 7);
-    f_disp9_hi = EXTRACT_LSB0_INT (insn, 16, 0, 1);
+    f_disp9_hi = EXTRACT_LSB0_SINT (insn, 16, 0, 1);
 {
   SI tmp_abslo;
   SI tmp_absval;
@@ -5714,7 +4901,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (i_o_pcrel) = f_disp9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5729,7 +4916,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bcc_w:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bcc_w.f
     SI f_indir_pc__word_pcrel;
     UINT f_operand2;
@@ -5743,7 +4930,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5758,7 +4945,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ba_w:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bcc_w.f
     SI f_indir_pc__word_pcrel;
     /* Contents of trailing part of insn.  */
@@ -5769,7 +4956,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5784,7 +4971,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_jump_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
     UINT f_operand2;
     UINT f_operand1;
@@ -5795,7 +4982,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5812,7 +4999,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_jump_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_m_sprv10.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5826,7 +5013,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5844,7 +5031,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_jump_c:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -5858,7 +5045,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5874,7 +5061,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_break:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_break.f
     UINT f_u4;
 
@@ -5882,7 +5069,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_u4) = f_u4;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5897,7 +5084,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bound_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5911,7 +5098,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5930,7 +5117,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bound_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5944,7 +5131,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5963,7 +5150,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bound_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -5977,7 +5164,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -5996,7 +5183,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bound_cb:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cb.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -6010,7 +5197,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6027,7 +5214,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bound_cw:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cw.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -6041,7 +5228,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6058,7 +5245,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bound_cd:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cd.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -6072,7 +5259,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6089,7 +5276,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_scc:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_operand2;
     UINT f_operand1;
@@ -6100,7 +5287,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6116,18 +5303,18 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addoq:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addoq.f
     UINT f_operand2;
     INT f_s8;
 
     f_operand2 = EXTRACT_LSB0_UINT (insn, 16, 15, 4);
-    f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
+    f_s8 = EXTRACT_LSB0_SINT (insn, 16, 7, 8);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_s8) = f_s8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6143,15 +5330,15 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bdapqpc:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addoq.f
     INT f_s8;
 
-    f_s8 = EXTRACT_LSB0_INT (insn, 16, 7, 8);
+    f_s8 = EXTRACT_LSB0_SINT (insn, 16, 7, 8);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_s8) = f_s8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6166,7 +5353,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bdap_32_pc:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
     INT f_indir_pc__dword;
     /* Contents of trailing part of insn.  */
@@ -6177,7 +5364,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdap_32_pc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdap_32_pc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6192,7 +5379,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_m_pcplus_p0:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_m_spplus_p8.f
     UINT f_memmode;
 
@@ -6200,7 +5387,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_pcplus_p0", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_pcplus_p0", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6215,7 +5402,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_move_m_spplus_p8:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_m_spplus_p8.f
     UINT f_memmode;
 
@@ -6223,7 +5410,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_spplus_p8", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_spplus_p8", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6240,7 +5427,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addo_m_b_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -6254,7 +5441,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6272,7 +5459,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addo_m_w_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -6286,7 +5473,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6304,7 +5491,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addo_m_d_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_m_b_m.f
     UINT f_operand2;
     UINT f_memmode;
@@ -6318,7 +5505,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6336,7 +5523,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addo_cb:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cb.f
     INT f_indir_pc__byte;
     UINT f_operand2;
@@ -6350,7 +5537,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__byte) = f_indir_pc__byte;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6366,7 +5553,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addo_cw:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cw.f
     INT f_indir_pc__word;
     UINT f_operand2;
@@ -6380,7 +5567,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__word) = f_indir_pc__word;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6396,7 +5583,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addo_cd:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_bound_cd.f
     INT f_indir_pc__dword;
     UINT f_operand2;
@@ -6410,7 +5597,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6426,7 +5613,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_dip_m:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_spr_mv10.f
     UINT f_memmode;
     UINT f_operand1;
@@ -6437,7 +5624,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand1) = f_operand1;
   FLD (f_memmode) = f_memmode;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6454,7 +5641,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_dip_c:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_move_c_sprv10_p9.f
     INT f_indir_pc__dword;
     /* Contents of trailing part of insn.  */
@@ -6465,7 +5652,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_indir_pc__dword) = f_indir_pc__dword;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
 
 #undef FLD
     return idesc;
@@ -6474,7 +5661,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addi_acr_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_add_b_r.f
     UINT f_operand2;
     UINT f_operand1;
@@ -6485,7 +5672,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
   FLD (f_operand1) = f_operand1;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6502,7 +5689,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_biap_pc_b_r:
   {
     const IDESC *idesc = &crisv10f_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 #define FLD(f) abuf->fields.sfmt_addoq.f
     UINT f_operand2;
 
@@ -6510,7 +5697,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_operand2) = f_operand2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */