]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - sim/frv/decode.c
Update years in copyright notice for the GDB files.
[thirdparty/binutils-gdb.git] / sim / frv / decode.c
index 0fe1a17abd3d25aee6e76621bd37fe509ddd9ba0..cacd9889b47426ba07aa0e2a7fb524fa78070b50 100644 (file)
@@ -2,23 +2,22 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright 1996-2013 Free Software Foundation, Inc.
 
 This file is part of the GNU simulators.
 
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3, or (at your option)
+   any later version.
 
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   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.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+   You should have received a copy of the GNU General Public License along
+   with this program; if not, see <http://www.gnu.org/licenses/>.
 
 */
 
@@ -58,9 +57,14 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_NUDIV, FRVBF_INSN_NUDIV, FRVBF_SFMT_SDIV },
   { FRV_INSN_SMUL, FRVBF_INSN_SMUL, FRVBF_SFMT_SMUL },
   { FRV_INSN_UMUL, FRVBF_INSN_UMUL, FRVBF_SFMT_SMUL },
+  { FRV_INSN_SMU, FRVBF_INSN_SMU, FRVBF_SFMT_SMU },
+  { FRV_INSN_SMASS, FRVBF_INSN_SMASS, FRVBF_SFMT_SMASS },
+  { FRV_INSN_SMSSS, FRVBF_INSN_SMSSS, FRVBF_SFMT_SMASS },
   { FRV_INSN_SLL, FRVBF_INSN_SLL, FRVBF_SFMT_ADD },
   { FRV_INSN_SRL, FRVBF_INSN_SRL, FRVBF_SFMT_ADD },
   { FRV_INSN_SRA, FRVBF_INSN_SRA, FRVBF_SFMT_ADD },
+  { FRV_INSN_SLASS, FRVBF_INSN_SLASS, FRVBF_SFMT_SLASS },
+  { FRV_INSN_SCUTSS, FRVBF_INSN_SCUTSS, FRVBF_SFMT_SCUTSS },
   { FRV_INSN_SCAN, FRVBF_INSN_SCAN, FRVBF_SFMT_ADD },
   { FRV_INSN_CADD, FRVBF_INSN_CADD, FRVBF_SFMT_CADD },
   { FRV_INSN_CSUB, FRVBF_INSN_CSUB, FRVBF_SFMT_CADD },
@@ -98,6 +102,8 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_SUBX, FRVBF_INSN_SUBX, FRVBF_SFMT_ADDX },
   { FRV_INSN_ADDXCC, FRVBF_INSN_ADDXCC, FRVBF_SFMT_ADDCC },
   { FRV_INSN_SUBXCC, FRVBF_INSN_SUBXCC, FRVBF_SFMT_ADDCC },
+  { FRV_INSN_ADDSS, FRVBF_INSN_ADDSS, FRVBF_SFMT_SLASS },
+  { FRV_INSN_SUBSS, FRVBF_INSN_SUBSS, FRVBF_SFMT_SLASS },
   { FRV_INSN_ADDI, FRVBF_INSN_ADDI, FRVBF_SFMT_ADDI },
   { FRV_INSN_SUBI, FRVBF_INSN_SUBI, FRVBF_SFMT_ADDI },
   { FRV_INSN_ANDI, FRVBF_INSN_ANDI, FRVBF_SFMT_ADDI },
@@ -216,22 +222,12 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_STHF, FRVBF_INSN_STHF, FRVBF_SFMT_STBF },
   { FRV_INSN_STF, FRVBF_INSN_STF, FRVBF_SFMT_STBF },
   { FRV_INSN_STC, FRVBF_INSN_STC, FRVBF_SFMT_STC },
-  { FRV_INSN_RSTB, FRVBF_INSN_RSTB, FRVBF_SFMT_RSTB },
-  { FRV_INSN_RSTH, FRVBF_INSN_RSTH, FRVBF_SFMT_RSTB },
-  { FRV_INSN_RST, FRVBF_INSN_RST, FRVBF_SFMT_RSTB },
-  { FRV_INSN_RSTBF, FRVBF_INSN_RSTBF, FRVBF_SFMT_RSTBF },
-  { FRV_INSN_RSTHF, FRVBF_INSN_RSTHF, FRVBF_SFMT_RSTBF },
-  { FRV_INSN_RSTF, FRVBF_INSN_RSTF, FRVBF_SFMT_RSTBF },
   { FRV_INSN_STD, FRVBF_INSN_STD, FRVBF_SFMT_STD },
   { FRV_INSN_STDF, FRVBF_INSN_STDF, FRVBF_SFMT_STDF },
   { FRV_INSN_STDC, FRVBF_INSN_STDC, FRVBF_SFMT_STDC },
-  { FRV_INSN_RSTD, FRVBF_INSN_RSTD, FRVBF_SFMT_RSTD },
-  { FRV_INSN_RSTDF, FRVBF_INSN_RSTDF, FRVBF_SFMT_RSTDF },
   { FRV_INSN_STQ, FRVBF_INSN_STQ, FRVBF_SFMT_LDQ },
   { FRV_INSN_STQF, FRVBF_INSN_STQF, FRVBF_SFMT_LDQF },
   { FRV_INSN_STQC, FRVBF_INSN_STQC, FRVBF_SFMT_LDQC },
-  { FRV_INSN_RSTQ, FRVBF_INSN_RSTQ, FRVBF_SFMT_LDQ },
-  { FRV_INSN_RSTQF, FRVBF_INSN_RSTQF, FRVBF_SFMT_LDQF },
   { FRV_INSN_STBU, FRVBF_INSN_STBU, FRVBF_SFMT_STBU },
   { FRV_INSN_STHU, FRVBF_INSN_STHU, FRVBF_SFMT_STBU },
   { FRV_INSN_STU, FRVBF_INSN_STU, FRVBF_SFMT_STBU },
@@ -325,8 +321,8 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_BP, FRVBF_INSN_BP, FRVBF_SFMT_BEQ },
   { FRV_INSN_BV, FRVBF_INSN_BV, FRVBF_SFMT_BEQ },
   { FRV_INSN_BNV, FRVBF_INSN_BNV, FRVBF_SFMT_BEQ },
-  { FRV_INSN_FBRA, FRVBF_INSN_FBRA, FRVBF_SFMT_BRA },
-  { FRV_INSN_FBNO, FRVBF_INSN_FBNO, FRVBF_SFMT_BNO },
+  { FRV_INSN_FBRA, FRVBF_INSN_FBRA, FRVBF_SFMT_FBRA },
+  { FRV_INSN_FBNO, FRVBF_INSN_FBNO, FRVBF_SFMT_FBNO },
   { FRV_INSN_FBNE, FRVBF_INSN_FBNE, FRVBF_SFMT_FBNE },
   { FRV_INSN_FBEQ, FRVBF_INSN_FBEQ, FRVBF_SFMT_FBNE },
   { FRV_INSN_FBLG, FRVBF_INSN_FBLG, FRVBF_SFMT_FBNE },
@@ -358,8 +354,8 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_BPLR, FRVBF_INSN_BPLR, FRVBF_SFMT_BEQLR },
   { FRV_INSN_BVLR, FRVBF_INSN_BVLR, FRVBF_SFMT_BEQLR },
   { FRV_INSN_BNVLR, FRVBF_INSN_BNVLR, FRVBF_SFMT_BEQLR },
-  { FRV_INSN_FBRALR, FRVBF_INSN_FBRALR, FRVBF_SFMT_BRALR },
-  { FRV_INSN_FBNOLR, FRVBF_INSN_FBNOLR, FRVBF_SFMT_BNOLR },
+  { FRV_INSN_FBRALR, FRVBF_INSN_FBRALR, FRVBF_SFMT_FBRALR },
+  { FRV_INSN_FBNOLR, FRVBF_INSN_FBNOLR, FRVBF_SFMT_FBNOLR },
   { FRV_INSN_FBEQLR, FRVBF_INSN_FBEQLR, FRVBF_SFMT_FBEQLR },
   { FRV_INSN_FBNELR, FRVBF_INSN_FBNELR, FRVBF_SFMT_FBEQLR },
   { FRV_INSN_FBLGLR, FRVBF_INSN_FBLGLR, FRVBF_SFMT_FBEQLR },
@@ -390,8 +386,8 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_BCPLR, FRVBF_INSN_BCPLR, FRVBF_SFMT_BCEQLR },
   { FRV_INSN_BCVLR, FRVBF_INSN_BCVLR, FRVBF_SFMT_BCEQLR },
   { FRV_INSN_BCNVLR, FRVBF_INSN_BCNVLR, FRVBF_SFMT_BCEQLR },
-  { FRV_INSN_FCBRALR, FRVBF_INSN_FCBRALR, FRVBF_SFMT_BCRALR },
-  { FRV_INSN_FCBNOLR, FRVBF_INSN_FCBNOLR, FRVBF_SFMT_BCNOLR },
+  { FRV_INSN_FCBRALR, FRVBF_INSN_FCBRALR, FRVBF_SFMT_FCBRALR },
+  { FRV_INSN_FCBNOLR, FRVBF_INSN_FCBNOLR, FRVBF_SFMT_FCBNOLR },
   { FRV_INSN_FCBEQLR, FRVBF_INSN_FCBEQLR, FRVBF_SFMT_FCBEQLR },
   { FRV_INSN_FCBNELR, FRVBF_INSN_FCBNELR, FRVBF_SFMT_FCBEQLR },
   { FRV_INSN_FCBLGLR, FRVBF_INSN_FCBLGLR, FRVBF_SFMT_FCBEQLR },
@@ -407,9 +403,9 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_FCBULR, FRVBF_INSN_FCBULR, FRVBF_SFMT_FCBEQLR },
   { FRV_INSN_FCBOLR, FRVBF_INSN_FCBOLR, FRVBF_SFMT_FCBEQLR },
   { FRV_INSN_JMPL, FRVBF_INSN_JMPL, FRVBF_SFMT_JMPL },
-  { FRV_INSN_CALLL, FRVBF_INSN_CALLL, FRVBF_SFMT_JMPL },
+  { FRV_INSN_CALLL, FRVBF_INSN_CALLL, FRVBF_SFMT_CALLL },
   { FRV_INSN_JMPIL, FRVBF_INSN_JMPIL, FRVBF_SFMT_JMPIL },
-  { FRV_INSN_CALLIL, FRVBF_INSN_CALLIL, FRVBF_SFMT_JMPIL },
+  { FRV_INSN_CALLIL, FRVBF_INSN_CALLIL, FRVBF_SFMT_CALLIL },
   { FRV_INSN_CALL, FRVBF_INSN_CALL, FRVBF_SFMT_CALL },
   { FRV_INSN_RETT, FRVBF_INSN_RETT, FRVBF_SFMT_RETT },
   { FRV_INSN_REI, FRVBF_INSN_REI, FRVBF_SFMT_REI },
@@ -429,7 +425,7 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_TP, FRVBF_INSN_TP, FRVBF_SFMT_TEQ },
   { FRV_INSN_TV, FRVBF_INSN_TV, FRVBF_SFMT_TEQ },
   { FRV_INSN_TNV, FRVBF_INSN_TNV, FRVBF_SFMT_TEQ },
-  { FRV_INSN_FTRA, FRVBF_INSN_FTRA, FRVBF_SFMT_TRA },
+  { FRV_INSN_FTRA, FRVBF_INSN_FTRA, FRVBF_SFMT_FTRA },
   { FRV_INSN_FTNO, FRVBF_INSN_FTNO, FRVBF_SFMT_REI },
   { FRV_INSN_FTNE, FRVBF_INSN_FTNE, FRVBF_SFMT_FTNE },
   { FRV_INSN_FTEQ, FRVBF_INSN_FTEQ, FRVBF_SFMT_FTNE },
@@ -461,7 +457,7 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_TIP, FRVBF_INSN_TIP, FRVBF_SFMT_TIEQ },
   { FRV_INSN_TIV, FRVBF_INSN_TIV, FRVBF_SFMT_TIEQ },
   { FRV_INSN_TINV, FRVBF_INSN_TINV, FRVBF_SFMT_TIEQ },
-  { FRV_INSN_FTIRA, FRVBF_INSN_FTIRA, FRVBF_SFMT_TIRA },
+  { FRV_INSN_FTIRA, FRVBF_INSN_FTIRA, FRVBF_SFMT_FTIRA },
   { FRV_INSN_FTINO, FRVBF_INSN_FTINO, FRVBF_SFMT_REI },
   { FRV_INSN_FTINE, FRVBF_INSN_FTINE, FRVBF_SFMT_FTINE },
   { FRV_INSN_FTIEQ, FRVBF_INSN_FTIEQ, FRVBF_SFMT_FTINE },
@@ -554,7 +550,7 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_CFCKU, FRVBF_INSN_CFCKU, FRVBF_SFMT_CFCKNE },
   { FRV_INSN_CFCKO, FRVBF_INSN_CFCKO, FRVBF_SFMT_CFCKNE },
   { FRV_INSN_CJMPL, FRVBF_INSN_CJMPL, FRVBF_SFMT_CJMPL },
-  { FRV_INSN_CCALLL, FRVBF_INSN_CCALLL, FRVBF_SFMT_CJMPL },
+  { FRV_INSN_CCALLL, FRVBF_INSN_CCALLL, FRVBF_SFMT_CCALLL },
   { FRV_INSN_ICI, FRVBF_INSN_ICI, FRVBF_SFMT_ICI },
   { FRV_INSN_DCI, FRVBF_INSN_DCI, FRVBF_SFMT_ICI },
   { FRV_INSN_ICEI, FRVBF_INSN_ICEI, FRVBF_SFMT_ICEI },
@@ -571,6 +567,9 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_DCUL, FRVBF_INSN_DCUL, FRVBF_SFMT_ICUL },
   { FRV_INSN_BAR, FRVBF_INSN_BAR, FRVBF_SFMT_REI },
   { FRV_INSN_MEMBAR, FRVBF_INSN_MEMBAR, FRVBF_SFMT_REI },
+  { FRV_INSN_LRAI, FRVBF_INSN_LRAI, FRVBF_SFMT_REI },
+  { FRV_INSN_LRAD, FRVBF_INSN_LRAD, FRVBF_SFMT_REI },
+  { FRV_INSN_TLBPR, FRVBF_INSN_TLBPR, FRVBF_SFMT_REI },
   { FRV_INSN_COP1, FRVBF_INSN_COP1, FRVBF_SFMT_REI },
   { FRV_INSN_COP2, FRVBF_INSN_COP2, FRVBF_SFMT_REI },
   { FRV_INSN_CLRGR, FRVBF_INSN_CLRGR, FRVBF_SFMT_CLRGR },
@@ -718,6 +717,10 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_CMQADDHUS, FRVBF_INSN_CMQADDHUS, FRVBF_SFMT_CMQADDHSS },
   { FRV_INSN_CMQSUBHSS, FRVBF_INSN_CMQSUBHSS, FRVBF_SFMT_CMQADDHSS },
   { FRV_INSN_CMQSUBHUS, FRVBF_INSN_CMQSUBHUS, FRVBF_SFMT_CMQADDHSS },
+  { FRV_INSN_MQLCLRHS, FRVBF_INSN_MQLCLRHS, FRVBF_SFMT_MQSATHS },
+  { FRV_INSN_MQLMTHS, FRVBF_INSN_MQLMTHS, FRVBF_SFMT_MQSATHS },
+  { FRV_INSN_MQSLLHI, FRVBF_INSN_MQSLLHI, FRVBF_SFMT_MQSLLHI },
+  { FRV_INSN_MQSRAHI, FRVBF_INSN_MQSRAHI, FRVBF_SFMT_MQSLLHI },
   { FRV_INSN_MADDACCS, FRVBF_INSN_MADDACCS, FRVBF_SFMT_MADDACCS },
   { FRV_INSN_MSUBACCS, FRVBF_INSN_MSUBACCS, FRVBF_SFMT_MADDACCS },
   { FRV_INSN_MDADDACCS, FRVBF_INSN_MDADDACCS, FRVBF_SFMT_MDADDACCS },
@@ -787,7 +790,8 @@ static const struct insn_sem frvbf_insn_sem[] =
   { FRV_INSN_FNOP, FRVBF_INSN_FNOP, FRVBF_SFMT_REI },
 };
 
-static const struct insn_sem frvbf_insn_sem_invalid = {
+static const struct insn_sem frvbf_insn_sem_invalid =
+{
   VIRTUAL_INSN_X_INVALID, FRVBF_INSN_X_INVALID, FRVBF_SFMT_EMPTY
 };
 
@@ -851,14 +855,14 @@ frvbf_init_idesc_table (SIM_CPU *cpu)
 
 const IDESC *
 frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
-              CGEN_INSN_INT base_insn, CGEN_INSN_INT entire_insn,
+              CGEN_INSN_WORD base_insn, CGEN_INSN_WORD entire_insn,
               ARGBUF *abuf)
 {
   /* Result of decoder.  */
   FRVBF_INSN_TYPE itype;
 
   {
-    CGEN_INSN_INT insn = base_insn;
+    CGEN_INSN_WORD insn = base_insn;
 
     {
       unsigned int val = (((insn >> 18) & (127 << 0)));
@@ -869,22 +873,46 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_ADD; goto extract_sfmt_add;
+          case 0 :
+            if ((entire_insn & 0x1fc0fc0) == 0x0)
+              { itype = FRVBF_INSN_ADD; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 : itype = FRVBF_INSN_ADDCC; goto extract_sfmt_addcc;
           case 2 : itype = FRVBF_INSN_ADDX; goto extract_sfmt_addx;
           case 3 : itype = FRVBF_INSN_ADDXCC; goto extract_sfmt_addcc;
-          case 4 : itype = FRVBF_INSN_SUB; goto extract_sfmt_add;
+          case 4 :
+            if ((entire_insn & 0x1fc0fc0) == 0x100)
+              { itype = FRVBF_INSN_SUB; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 5 : itype = FRVBF_INSN_SUBCC; goto extract_sfmt_addcc;
           case 6 : itype = FRVBF_INSN_SUBX; goto extract_sfmt_addx;
           case 7 : itype = FRVBF_INSN_SUBXCC; goto extract_sfmt_addcc;
-          case 8 : itype = FRVBF_INSN_SMUL; goto extract_sfmt_smul;
+          case 8 :
+            if ((entire_insn & 0x1fc0fc0) == 0x200)
+              { itype = FRVBF_INSN_SMUL; goto extract_sfmt_smul; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 9 : itype = FRVBF_INSN_SMULCC; goto extract_sfmt_smulcc;
-          case 10 : itype = FRVBF_INSN_UMUL; goto extract_sfmt_smul;
+          case 10 :
+            if ((entire_insn & 0x1fc0fc0) == 0x280)
+              { itype = FRVBF_INSN_UMUL; goto extract_sfmt_smul; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 11 : itype = FRVBF_INSN_UMULCC; goto extract_sfmt_smulcc;
-          case 12 : itype = FRVBF_INSN_CMPB; goto extract_sfmt_cmpb;
-          case 13 : itype = FRVBF_INSN_CMPBA; goto extract_sfmt_cmpb;
-          case 14 : itype = FRVBF_INSN_SDIV; goto extract_sfmt_sdiv;
-          case 15 : itype = FRVBF_INSN_UDIV; goto extract_sfmt_sdiv;
+          case 12 :
+            if ((entire_insn & 0x7ffc03c0) == 0x300)
+              { itype = FRVBF_INSN_CMPB; goto extract_sfmt_cmpb; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x7ffc03c0) == 0x340)
+              { itype = FRVBF_INSN_CMPBA; goto extract_sfmt_cmpb; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x1fc0fc0) == 0x380)
+              { itype = FRVBF_INSN_SDIV; goto extract_sfmt_sdiv; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x1fc0fc0) == 0x3c0)
+              { itype = FRVBF_INSN_UDIV; goto extract_sfmt_sdiv; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -893,21 +921,48 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_AND; goto extract_sfmt_add;
+          case 0 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40000)
+              { itype = FRVBF_INSN_AND; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 : itype = FRVBF_INSN_ANDCC; goto extract_sfmt_andcc;
-          case 2 : itype = FRVBF_INSN_OR; goto extract_sfmt_add;
+          case 2 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40080)
+              { itype = FRVBF_INSN_OR; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 3 : itype = FRVBF_INSN_ORCC; goto extract_sfmt_andcc;
-          case 4 : itype = FRVBF_INSN_XOR; goto extract_sfmt_add;
+          case 4 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40100)
+              { itype = FRVBF_INSN_XOR; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 5 : itype = FRVBF_INSN_XORCC; goto extract_sfmt_andcc;
-          case 6 : itype = FRVBF_INSN_NOT; goto extract_sfmt_not;
-          case 8 : itype = FRVBF_INSN_SLL; goto extract_sfmt_add;
+          case 6 :
+            if ((entire_insn & 0x1ffffc0) == 0x40180)
+              { itype = FRVBF_INSN_NOT; goto extract_sfmt_not; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40200)
+              { itype = FRVBF_INSN_SLL; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 9 : itype = FRVBF_INSN_SLLCC; goto extract_sfmt_addcc;
-          case 10 : itype = FRVBF_INSN_SRL; goto extract_sfmt_add;
+          case 10 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40280)
+              { itype = FRVBF_INSN_SRL; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 11 : itype = FRVBF_INSN_SRLCC; goto extract_sfmt_addcc;
-          case 12 : itype = FRVBF_INSN_SRA; goto extract_sfmt_add;
+          case 12 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40300)
+              { itype = FRVBF_INSN_SRA; goto extract_sfmt_add; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 13 : itype = FRVBF_INSN_SRACC; goto extract_sfmt_addcc;
-          case 14 : itype = FRVBF_INSN_NSDIV; goto extract_sfmt_sdiv;
-          case 15 : itype = FRVBF_INSN_NUDIV; goto extract_sfmt_sdiv;
+          case 14 :
+            if ((entire_insn & 0x1fc0fc0) == 0x40380)
+              { itype = FRVBF_INSN_NSDIV; goto extract_sfmt_sdiv; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x1fc0fc0) == 0x403c0)
+              { itype = FRVBF_INSN_NUDIV; goto extract_sfmt_sdiv; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -991,54 +1046,116 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 10 : itype = FRVBF_INSN_STF; goto extract_sfmt_stbf;
           case 11 : itype = FRVBF_INSN_STDF; goto extract_sfmt_stdf;
           case 12 : itype = FRVBF_INSN_STQF; goto extract_sfmt_ldqf;
-          case 13 : itype = FRVBF_INSN_MOVFG; goto extract_sfmt_movfg;
-          case 14 : itype = FRVBF_INSN_MOVFGD; goto extract_sfmt_movfgd;
-          case 15 : itype = FRVBF_INSN_MOVFGQ; goto extract_sfmt_movfgq;
+          case 13 :
+            if ((entire_insn & 0x1ffffc0) == 0xc0340)
+              { itype = FRVBF_INSN_MOVFG; goto extract_sfmt_movfg; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x1ffffc0) == 0xc0380)
+              { itype = FRVBF_INSN_MOVFGD; goto extract_sfmt_movfgd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x1ffffc0) == 0xc03c0)
+              { itype = FRVBF_INSN_MOVFGQ; goto extract_sfmt_movfgq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 16 : itype = FRVBF_INSN_STBU; goto extract_sfmt_stbu;
           case 17 : itype = FRVBF_INSN_STHU; goto extract_sfmt_stbu;
           case 18 : itype = FRVBF_INSN_STU; goto extract_sfmt_stbu;
           case 19 : itype = FRVBF_INSN_STDU; goto extract_sfmt_stdu;
           case 20 : itype = FRVBF_INSN_STQU; goto extract_sfmt_stqu;
-          case 21 : itype = FRVBF_INSN_MOVGF; goto extract_sfmt_movgf;
-          case 22 : itype = FRVBF_INSN_MOVGFD; goto extract_sfmt_movgfd;
-          case 23 : itype = FRVBF_INSN_MOVGFQ; goto extract_sfmt_movgfq;
+          case 21 :
+            if ((entire_insn & 0x1ffffc0) == 0xc0540)
+              { itype = FRVBF_INSN_MOVGF; goto extract_sfmt_movgf; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 22 :
+            if ((entire_insn & 0x1ffffc0) == 0xc0580)
+              { itype = FRVBF_INSN_MOVGFD; goto extract_sfmt_movgfd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 23 :
+            if ((entire_insn & 0x1ffffc0) == 0xc05c0)
+              { itype = FRVBF_INSN_MOVGFQ; goto extract_sfmt_movgfq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 24 : itype = FRVBF_INSN_STBFU; goto extract_sfmt_stbfu;
           case 25 : itype = FRVBF_INSN_STHFU; goto extract_sfmt_stbfu;
           case 26 : itype = FRVBF_INSN_STFU; goto extract_sfmt_stbfu;
           case 27 : itype = FRVBF_INSN_STDFU; goto extract_sfmt_stdfu;
           case 28 : itype = FRVBF_INSN_STQFU; goto extract_sfmt_ldqfu;
-          case 32 : itype = FRVBF_INSN_RSTB; goto extract_sfmt_rstb;
-          case 33 : itype = FRVBF_INSN_RSTH; goto extract_sfmt_rstb;
-          case 34 : itype = FRVBF_INSN_RST; goto extract_sfmt_rstb;
-          case 35 : itype = FRVBF_INSN_RSTD; goto extract_sfmt_rstd;
-          case 36 : itype = FRVBF_INSN_RSTQ; goto extract_sfmt_ldq;
+          case 32 :
+            if ((entire_insn & 0x1fc0fc7) == 0xc0800)
+              { itype = FRVBF_INSN_LRAI; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 33 :
+            if ((entire_insn & 0x1fc0fc7) == 0xc0840)
+              { itype = FRVBF_INSN_LRAD; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 36 :
+            if ((entire_insn & 0x61fc0fc0) == 0xc0900)
+              { itype = FRVBF_INSN_TLBPR; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 37 : itype = FRVBF_INSN_STC; goto extract_sfmt_stc;
           case 38 : itype = FRVBF_INSN_STDC; goto extract_sfmt_stdc;
           case 39 : itype = FRVBF_INSN_STQC; goto extract_sfmt_ldqc;
-          case 40 : itype = FRVBF_INSN_RSTBF; goto extract_sfmt_rstbf;
-          case 41 : itype = FRVBF_INSN_RSTHF; goto extract_sfmt_rstbf;
-          case 42 : itype = FRVBF_INSN_RSTF; goto extract_sfmt_rstbf;
-          case 43 : itype = FRVBF_INSN_RSTDF; goto extract_sfmt_rstdf;
-          case 44 : itype = FRVBF_INSN_RSTQF; goto extract_sfmt_ldqf;
           case 45 : itype = FRVBF_INSN_STCU; goto extract_sfmt_stcu;
           case 46 : itype = FRVBF_INSN_STDCU; goto extract_sfmt_stdcu;
           case 47 : itype = FRVBF_INSN_STQCU; goto extract_sfmt_ldqcu;
-          case 48 : itype = FRVBF_INSN_ICPL; goto extract_sfmt_icpl;
-          case 49 : itype = FRVBF_INSN_ICUL; goto extract_sfmt_icul;
+          case 48 :
+            if ((entire_insn & 0x7dfc0fc0) == 0xc0c00)
+              { itype = FRVBF_INSN_ICPL; goto extract_sfmt_icpl; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 49 :
+            if ((entire_insn & 0x7ffc0fff) == 0xc0c40)
+              { itype = FRVBF_INSN_ICUL; goto extract_sfmt_icul; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 50 : itype = FRVBF_INSN_WITLB; goto extract_sfmt_rei;
-          case 51 : itype = FRVBF_INSN_ITLBI; goto extract_sfmt_rei;
-          case 52 : itype = FRVBF_INSN_DCPL; goto extract_sfmt_icpl;
-          case 53 : itype = FRVBF_INSN_DCUL; goto extract_sfmt_icul;
+          case 51 :
+            if ((entire_insn & 0x7ffc0fc0) == 0xc0cc0)
+              { itype = FRVBF_INSN_ITLBI; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 52 :
+            if ((entire_insn & 0x7dfc0fc0) == 0xc0d00)
+              { itype = FRVBF_INSN_DCPL; goto extract_sfmt_icpl; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 53 :
+            if ((entire_insn & 0x7ffc0fff) == 0xc0d40)
+              { itype = FRVBF_INSN_DCUL; goto extract_sfmt_icul; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 54 : itype = FRVBF_INSN_WDTLB; goto extract_sfmt_rei;
-          case 55 : itype = FRVBF_INSN_DTLBI; goto extract_sfmt_rei;
-          case 56 : itype = FRVBF_INSN_ICI; goto extract_sfmt_ici;
-          case 57 : itype = FRVBF_INSN_ICEI; goto extract_sfmt_icei;
-          case 58 : itype = FRVBF_INSN_DCEI; goto extract_sfmt_icei;
-          case 59 : itype = FRVBF_INSN_DCEF; goto extract_sfmt_icei;
-          case 60 : itype = FRVBF_INSN_DCI; goto extract_sfmt_ici;
-          case 61 : itype = FRVBF_INSN_DCF; goto extract_sfmt_ici;
-          case 62 : itype = FRVBF_INSN_BAR; goto extract_sfmt_rei;
-          case 63 : itype = FRVBF_INSN_MEMBAR; goto extract_sfmt_rei;
+          case 55 :
+            if ((entire_insn & 0x7ffc0fc0) == 0xc0dc0)
+              { itype = FRVBF_INSN_DTLBI; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 56 :
+            if ((entire_insn & 0x7ffc0fc0) == 0xc0e00)
+              { itype = FRVBF_INSN_ICI; goto extract_sfmt_ici; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 57 :
+            if ((entire_insn & 0x7dfc0fc0) == 0xc0e40)
+              { itype = FRVBF_INSN_ICEI; goto extract_sfmt_icei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 58 :
+            if ((entire_insn & 0x7dfc0fc0) == 0xc0e80)
+              { itype = FRVBF_INSN_DCEI; goto extract_sfmt_icei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 59 :
+            if ((entire_insn & 0x7dfc0fc0) == 0xc0ec0)
+              { itype = FRVBF_INSN_DCEF; goto extract_sfmt_icei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 60 :
+            if ((entire_insn & 0x7ffc0fc0) == 0xc0f00)
+              { itype = FRVBF_INSN_DCI; goto extract_sfmt_ici; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 61 :
+            if ((entire_insn & 0x7ffc0fc0) == 0xc0f40)
+              { itype = FRVBF_INSN_DCF; goto extract_sfmt_ici; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 62 :
+            if ((entire_insn & 0x7fffffff) == 0xc0f80)
+              { itype = FRVBF_INSN_BAR; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 63 :
+            if ((entire_insn & 0x7fffffff) == 0xc0fc0)
+              { itype = FRVBF_INSN_MEMBAR; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1047,50 +1164,158 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 25) & (15 << 2)) | ((insn >> 6) & (3 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_TNO; goto extract_sfmt_rei;
-          case 1 : itype = FRVBF_INSN_FTNO; goto extract_sfmt_rei;
-          case 2 : itype = FRVBF_INSN_MTRAP; goto extract_sfmt_rei;
-          case 3 : itype = FRVBF_INSN_BREAK; goto extract_sfmt_break;
-          case 4 : itype = FRVBF_INSN_TC; goto extract_sfmt_teq;
-          case 5 : itype = FRVBF_INSN_FTU; goto extract_sfmt_ftne;
-          case 8 : itype = FRVBF_INSN_TV; goto extract_sfmt_teq;
-          case 9 : itype = FRVBF_INSN_FTGT; goto extract_sfmt_ftne;
-          case 12 : itype = FRVBF_INSN_TLT; goto extract_sfmt_teq;
-          case 13 : itype = FRVBF_INSN_FTUG; goto extract_sfmt_ftne;
-          case 16 : itype = FRVBF_INSN_TEQ; goto extract_sfmt_teq;
-          case 17 : itype = FRVBF_INSN_FTLT; goto extract_sfmt_ftne;
-          case 20 : itype = FRVBF_INSN_TLS; goto extract_sfmt_teq;
-          case 21 : itype = FRVBF_INSN_FTUL; goto extract_sfmt_ftne;
-          case 24 : itype = FRVBF_INSN_TN; goto extract_sfmt_teq;
-          case 25 : itype = FRVBF_INSN_FTLG; goto extract_sfmt_ftne;
-          case 28 : itype = FRVBF_INSN_TLE; goto extract_sfmt_teq;
-          case 29 : itype = FRVBF_INSN_FTNE; goto extract_sfmt_ftne;
-          case 32 : itype = FRVBF_INSN_TRA; goto extract_sfmt_tra;
-          case 33 : itype = FRVBF_INSN_FTEQ; goto extract_sfmt_ftne;
-          case 36 : itype = FRVBF_INSN_TNC; goto extract_sfmt_teq;
-          case 37 : itype = FRVBF_INSN_FTUE; goto extract_sfmt_ftne;
-          case 40 : itype = FRVBF_INSN_TNV; goto extract_sfmt_teq;
-          case 41 : itype = FRVBF_INSN_FTGE; goto extract_sfmt_ftne;
-          case 44 : itype = FRVBF_INSN_TGE; goto extract_sfmt_teq;
-          case 45 : itype = FRVBF_INSN_FTUGE; goto extract_sfmt_ftne;
-          case 48 : itype = FRVBF_INSN_TNE; goto extract_sfmt_teq;
-          case 49 : itype = FRVBF_INSN_FTLE; goto extract_sfmt_ftne;
-          case 52 : itype = FRVBF_INSN_THI; goto extract_sfmt_teq;
-          case 53 : itype = FRVBF_INSN_FTULE; goto extract_sfmt_ftne;
-          case 56 : itype = FRVBF_INSN_TP; goto extract_sfmt_teq;
-          case 57 : itype = FRVBF_INSN_FTO; goto extract_sfmt_ftne;
-          case 60 : itype = FRVBF_INSN_TGT; goto extract_sfmt_teq;
-          case 61 : itype = FRVBF_INSN_FTRA; goto extract_sfmt_tra;
+          case 0 :
+            if ((entire_insn & 0x7fffffff) == 0x100000)
+              { itype = FRVBF_INSN_TNO; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x7fffffff) == 0x100040)
+              { itype = FRVBF_INSN_FTNO; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x7fffffff) == 0x100080)
+              { itype = FRVBF_INSN_MTRAP; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x7fffffff) == 0x1000c0)
+              { itype = FRVBF_INSN_BREAK; goto extract_sfmt_break; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x79fc0fc0) == 0x8100000)
+              { itype = FRVBF_INSN_TC; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x79fc0fc0) == 0x8100040)
+              { itype = FRVBF_INSN_FTU; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x79fc0fc0) == 0x10100000)
+              { itype = FRVBF_INSN_TV; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x79fc0fc0) == 0x10100040)
+              { itype = FRVBF_INSN_FTGT; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x79fc0fc0) == 0x18100000)
+              { itype = FRVBF_INSN_TLT; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x79fc0fc0) == 0x18100040)
+              { itype = FRVBF_INSN_FTUG; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 16 :
+            if ((entire_insn & 0x79fc0fc0) == 0x20100000)
+              { itype = FRVBF_INSN_TEQ; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 17 :
+            if ((entire_insn & 0x79fc0fc0) == 0x20100040)
+              { itype = FRVBF_INSN_FTLT; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 20 :
+            if ((entire_insn & 0x79fc0fc0) == 0x28100000)
+              { itype = FRVBF_INSN_TLS; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 21 :
+            if ((entire_insn & 0x79fc0fc0) == 0x28100040)
+              { itype = FRVBF_INSN_FTUL; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 24 :
+            if ((entire_insn & 0x79fc0fc0) == 0x30100000)
+              { itype = FRVBF_INSN_TN; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 25 :
+            if ((entire_insn & 0x79fc0fc0) == 0x30100040)
+              { itype = FRVBF_INSN_FTLG; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 28 :
+            if ((entire_insn & 0x79fc0fc0) == 0x38100000)
+              { itype = FRVBF_INSN_TLE; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 29 :
+            if ((entire_insn & 0x79fc0fc0) == 0x38100040)
+              { itype = FRVBF_INSN_FTNE; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 32 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x40100000)
+              { itype = FRVBF_INSN_TRA; goto extract_sfmt_tra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 33 :
+            if ((entire_insn & 0x79fc0fc0) == 0x40100040)
+              { itype = FRVBF_INSN_FTEQ; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 36 :
+            if ((entire_insn & 0x79fc0fc0) == 0x48100000)
+              { itype = FRVBF_INSN_TNC; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 37 :
+            if ((entire_insn & 0x79fc0fc0) == 0x48100040)
+              { itype = FRVBF_INSN_FTUE; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 40 :
+            if ((entire_insn & 0x79fc0fc0) == 0x50100000)
+              { itype = FRVBF_INSN_TNV; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 41 :
+            if ((entire_insn & 0x79fc0fc0) == 0x50100040)
+              { itype = FRVBF_INSN_FTGE; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 44 :
+            if ((entire_insn & 0x79fc0fc0) == 0x58100000)
+              { itype = FRVBF_INSN_TGE; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 45 :
+            if ((entire_insn & 0x79fc0fc0) == 0x58100040)
+              { itype = FRVBF_INSN_FTUGE; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 48 :
+            if ((entire_insn & 0x79fc0fc0) == 0x60100000)
+              { itype = FRVBF_INSN_TNE; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 49 :
+            if ((entire_insn & 0x79fc0fc0) == 0x60100040)
+              { itype = FRVBF_INSN_FTLE; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 52 :
+            if ((entire_insn & 0x79fc0fc0) == 0x68100000)
+              { itype = FRVBF_INSN_THI; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 53 :
+            if ((entire_insn & 0x79fc0fc0) == 0x68100040)
+              { itype = FRVBF_INSN_FTULE; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 56 :
+            if ((entire_insn & 0x79fc0fc0) == 0x70100000)
+              { itype = FRVBF_INSN_TP; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 57 :
+            if ((entire_insn & 0x79fc0fc0) == 0x70100040)
+              { itype = FRVBF_INSN_FTO; goto extract_sfmt_ftne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 60 :
+            if ((entire_insn & 0x79fc0fc0) == 0x78100000)
+              { itype = FRVBF_INSN_TGT; goto extract_sfmt_teq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 61 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x78100040)
+              { itype = FRVBF_INSN_FTRA; goto extract_sfmt_ftra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 5 : itype = FRVBF_INSN_RETT; goto extract_sfmt_rett;
+      case 5 :
+        if ((entire_insn & 0x7dffffff) == 0x140000)
+          { itype = FRVBF_INSN_RETT; goto extract_sfmt_rett; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
       case 6 :
         {
           unsigned int val = (((insn >> 27) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_BNO; goto extract_sfmt_bno;
+          case 0 :
+            if ((entire_insn & 0x7ffcffff) == 0x180000)
+              { itype = FRVBF_INSN_BNO; goto extract_sfmt_bno; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 : itype = FRVBF_INSN_BC; goto extract_sfmt_beq;
           case 2 : itype = FRVBF_INSN_BV; goto extract_sfmt_beq;
           case 3 : itype = FRVBF_INSN_BLT; goto extract_sfmt_beq;
@@ -1098,7 +1323,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 5 : itype = FRVBF_INSN_BLS; goto extract_sfmt_beq;
           case 6 : itype = FRVBF_INSN_BN; goto extract_sfmt_beq;
           case 7 : itype = FRVBF_INSN_BLE; goto extract_sfmt_beq;
-          case 8 : itype = FRVBF_INSN_BRA; goto extract_sfmt_bra;
+          case 8 :
+            if ((entire_insn & 0x7ffc0000) == 0x40180000)
+              { itype = FRVBF_INSN_BRA; goto extract_sfmt_bra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 9 : itype = FRVBF_INSN_BNC; goto extract_sfmt_beq;
           case 10 : itype = FRVBF_INSN_BNV; goto extract_sfmt_beq;
           case 11 : itype = FRVBF_INSN_BGE; goto extract_sfmt_beq;
@@ -1114,7 +1342,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 27) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_FBNO; goto extract_sfmt_bno;
+          case 0 :
+            if ((entire_insn & 0x7ffcffff) == 0x1c0000)
+              { itype = FRVBF_INSN_FBNO; goto extract_sfmt_fbno; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 : itype = FRVBF_INSN_FBU; goto extract_sfmt_fbne;
           case 2 : itype = FRVBF_INSN_FBGT; goto extract_sfmt_fbne;
           case 3 : itype = FRVBF_INSN_FBUG; goto extract_sfmt_fbne;
@@ -1129,7 +1360,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 12 : itype = FRVBF_INSN_FBLE; goto extract_sfmt_fbne;
           case 13 : itype = FRVBF_INSN_FBULE; goto extract_sfmt_fbne;
           case 14 : itype = FRVBF_INSN_FBO; goto extract_sfmt_fbne;
-          case 15 : itype = FRVBF_INSN_FBRA; goto extract_sfmt_bra;
+          case 15 :
+            if ((entire_insn & 0x7ffc0000) == 0x781c0000)
+              { itype = FRVBF_INSN_FBRA; goto extract_sfmt_fbra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1138,22 +1372,70 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 27) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CKNO; goto extract_sfmt_ckra;
-          case 1 : itype = FRVBF_INSN_CKC; goto extract_sfmt_ckeq;
-          case 2 : itype = FRVBF_INSN_CKV; goto extract_sfmt_ckeq;
-          case 3 : itype = FRVBF_INSN_CKLT; goto extract_sfmt_ckeq;
-          case 4 : itype = FRVBF_INSN_CKEQ; goto extract_sfmt_ckeq;
-          case 5 : itype = FRVBF_INSN_CKLS; goto extract_sfmt_ckeq;
-          case 6 : itype = FRVBF_INSN_CKN; goto extract_sfmt_ckeq;
-          case 7 : itype = FRVBF_INSN_CKLE; goto extract_sfmt_ckeq;
-          case 8 : itype = FRVBF_INSN_CKRA; goto extract_sfmt_ckra;
-          case 9 : itype = FRVBF_INSN_CKNC; goto extract_sfmt_ckeq;
-          case 10 : itype = FRVBF_INSN_CKNV; goto extract_sfmt_ckeq;
-          case 11 : itype = FRVBF_INSN_CKGE; goto extract_sfmt_ckeq;
-          case 12 : itype = FRVBF_INSN_CKNE; goto extract_sfmt_ckeq;
-          case 13 : itype = FRVBF_INSN_CKHI; goto extract_sfmt_ckeq;
-          case 14 : itype = FRVBF_INSN_CKP; goto extract_sfmt_ckeq;
-          case 15 : itype = FRVBF_INSN_CKGT; goto extract_sfmt_ckeq;
+          case 0 :
+            if ((entire_insn & 0x79ffffff) == 0x200000)
+              { itype = FRVBF_INSN_CKNO; goto extract_sfmt_ckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x79fffffc) == 0x8200000)
+              { itype = FRVBF_INSN_CKC; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x79fffffc) == 0x10200000)
+              { itype = FRVBF_INSN_CKV; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x79fffffc) == 0x18200000)
+              { itype = FRVBF_INSN_CKLT; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x79fffffc) == 0x20200000)
+              { itype = FRVBF_INSN_CKEQ; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x79fffffc) == 0x28200000)
+              { itype = FRVBF_INSN_CKLS; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x79fffffc) == 0x30200000)
+              { itype = FRVBF_INSN_CKN; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x79fffffc) == 0x38200000)
+              { itype = FRVBF_INSN_CKLE; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x79ffffff) == 0x40200000)
+              { itype = FRVBF_INSN_CKRA; goto extract_sfmt_ckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x79fffffc) == 0x48200000)
+              { itype = FRVBF_INSN_CKNC; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x79fffffc) == 0x50200000)
+              { itype = FRVBF_INSN_CKNV; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 11 :
+            if ((entire_insn & 0x79fffffc) == 0x58200000)
+              { itype = FRVBF_INSN_CKGE; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x79fffffc) == 0x60200000)
+              { itype = FRVBF_INSN_CKNE; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x79fffffc) == 0x68200000)
+              { itype = FRVBF_INSN_CKHI; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x79fffffc) == 0x70200000)
+              { itype = FRVBF_INSN_CKP; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x79fffffc) == 0x78200000)
+              { itype = FRVBF_INSN_CKGT; goto extract_sfmt_ckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1162,22 +1444,70 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 27) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_FCKNO; goto extract_sfmt_fckra;
-          case 1 : itype = FRVBF_INSN_FCKU; goto extract_sfmt_fckne;
-          case 2 : itype = FRVBF_INSN_FCKGT; goto extract_sfmt_fckne;
-          case 3 : itype = FRVBF_INSN_FCKUG; goto extract_sfmt_fckne;
-          case 4 : itype = FRVBF_INSN_FCKLT; goto extract_sfmt_fckne;
-          case 5 : itype = FRVBF_INSN_FCKUL; goto extract_sfmt_fckne;
-          case 6 : itype = FRVBF_INSN_FCKLG; goto extract_sfmt_fckne;
-          case 7 : itype = FRVBF_INSN_FCKNE; goto extract_sfmt_fckne;
-          case 8 : itype = FRVBF_INSN_FCKEQ; goto extract_sfmt_fckne;
-          case 9 : itype = FRVBF_INSN_FCKUE; goto extract_sfmt_fckne;
-          case 10 : itype = FRVBF_INSN_FCKGE; goto extract_sfmt_fckne;
-          case 11 : itype = FRVBF_INSN_FCKUGE; goto extract_sfmt_fckne;
-          case 12 : itype = FRVBF_INSN_FCKLE; goto extract_sfmt_fckne;
-          case 13 : itype = FRVBF_INSN_FCKULE; goto extract_sfmt_fckne;
-          case 14 : itype = FRVBF_INSN_FCKO; goto extract_sfmt_fckne;
-          case 15 : itype = FRVBF_INSN_FCKRA; goto extract_sfmt_fckra;
+          case 0 :
+            if ((entire_insn & 0x79fffffc) == 0x240000)
+              { itype = FRVBF_INSN_FCKNO; goto extract_sfmt_fckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x79fffffc) == 0x8240000)
+              { itype = FRVBF_INSN_FCKU; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x79fffffc) == 0x10240000)
+              { itype = FRVBF_INSN_FCKGT; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x79fffffc) == 0x18240000)
+              { itype = FRVBF_INSN_FCKUG; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x79fffffc) == 0x20240000)
+              { itype = FRVBF_INSN_FCKLT; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x79fffffc) == 0x28240000)
+              { itype = FRVBF_INSN_FCKUL; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x79fffffc) == 0x30240000)
+              { itype = FRVBF_INSN_FCKLG; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x79fffffc) == 0x38240000)
+              { itype = FRVBF_INSN_FCKNE; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x79fffffc) == 0x40240000)
+              { itype = FRVBF_INSN_FCKEQ; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x79fffffc) == 0x48240000)
+              { itype = FRVBF_INSN_FCKUE; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x79fffffc) == 0x50240000)
+              { itype = FRVBF_INSN_FCKGE; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 11 :
+            if ((entire_insn & 0x79fffffc) == 0x58240000)
+              { itype = FRVBF_INSN_FCKUGE; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x79fffffc) == 0x60240000)
+              { itype = FRVBF_INSN_FCKLE; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x79fffffc) == 0x68240000)
+              { itype = FRVBF_INSN_FCKULE; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x79fffffc) == 0x70240000)
+              { itype = FRVBF_INSN_FCKO; goto extract_sfmt_fckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x79fffffc) == 0x78240000)
+              { itype = FRVBF_INSN_FCKRA; goto extract_sfmt_fckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1186,35 +1516,98 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (31 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CLRGR; goto extract_sfmt_clrgr;
-          case 1 : itype = FRVBF_INSN_CLRGA; goto extract_sfmt_rei;
-          case 2 : itype = FRVBF_INSN_CLRFR; goto extract_sfmt_clrfr;
-          case 3 : itype = FRVBF_INSN_CLRFA; goto extract_sfmt_rei;
-          case 4 : itype = FRVBF_INSN_COMMITGR; goto extract_sfmt_commitgr;
-          case 5 : itype = FRVBF_INSN_COMMITGA; goto extract_sfmt_rei;
-          case 6 : itype = FRVBF_INSN_COMMITFR; goto extract_sfmt_commitfr;
-          case 7 : itype = FRVBF_INSN_COMMITFA; goto extract_sfmt_rei;
-          case 8 : itype = FRVBF_INSN_ANDCR; goto extract_sfmt_andcr;
-          case 9 : itype = FRVBF_INSN_ORCR; goto extract_sfmt_andcr;
-          case 10 : itype = FRVBF_INSN_XORCR; goto extract_sfmt_andcr;
-          case 11 : itype = FRVBF_INSN_NOTCR; goto extract_sfmt_notcr;
-          case 12 : itype = FRVBF_INSN_NANDCR; goto extract_sfmt_andcr;
-          case 13 : itype = FRVBF_INSN_NORCR; goto extract_sfmt_andcr;
-          case 16 : itype = FRVBF_INSN_ANDNCR; goto extract_sfmt_andcr;
-          case 17 : itype = FRVBF_INSN_ORNCR; goto extract_sfmt_andcr;
-          case 20 : itype = FRVBF_INSN_NANDNCR; goto extract_sfmt_andcr;
-          case 21 : itype = FRVBF_INSN_NORNCR; goto extract_sfmt_andcr;
+          case 0 :
+            if ((entire_insn & 0x1ffffff) == 0x280000)
+              { itype = FRVBF_INSN_CLRGR; goto extract_sfmt_clrgr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x7fffffff) == 0x280040)
+              { itype = FRVBF_INSN_CLRGA; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x1ffffff) == 0x280080)
+              { itype = FRVBF_INSN_CLRFR; goto extract_sfmt_clrfr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x7fffffff) == 0x2800c0)
+              { itype = FRVBF_INSN_CLRFA; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x1ffffff) == 0x280100)
+              { itype = FRVBF_INSN_COMMITGR; goto extract_sfmt_commitgr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x7fffffff) == 0x280140)
+              { itype = FRVBF_INSN_COMMITGA; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x1ffffff) == 0x280180)
+              { itype = FRVBF_INSN_COMMITFR; goto extract_sfmt_commitfr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x7fffffff) == 0x2801c0)
+              { itype = FRVBF_INSN_COMMITFA; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280200)
+              { itype = FRVBF_INSN_ANDCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280240)
+              { itype = FRVBF_INSN_ORCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280280)
+              { itype = FRVBF_INSN_XORCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 11 :
+            if ((entire_insn & 0x71fffff8) == 0x2802c0)
+              { itype = FRVBF_INSN_NOTCR; goto extract_sfmt_notcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280300)
+              { itype = FRVBF_INSN_NANDCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280340)
+              { itype = FRVBF_INSN_NORCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 16 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280400)
+              { itype = FRVBF_INSN_ANDNCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 17 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280440)
+              { itype = FRVBF_INSN_ORNCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 20 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280500)
+              { itype = FRVBF_INSN_NANDNCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 21 :
+            if ((entire_insn & 0x71ff8ff8) == 0x280540)
+              { itype = FRVBF_INSN_NORNCR; goto extract_sfmt_andcr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 11 : itype = FRVBF_INSN_SCAN; goto extract_sfmt_add;
+      case 11 :
+        if ((entire_insn & 0x1fc0fc0) == 0x2c0000)
+          { itype = FRVBF_INSN_SCAN; goto extract_sfmt_add; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
       case 12 :
         {
           unsigned int val = (((insn >> 25) & (1 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_JMPL; goto extract_sfmt_jmpl;
-          case 1 : itype = FRVBF_INSN_CALLL; goto extract_sfmt_jmpl;
+          case 0 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x300000)
+              { itype = FRVBF_INSN_JMPL; goto extract_sfmt_jmpl; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x2300000)
+              { itype = FRVBF_INSN_CALLL; goto extract_sfmt_calll; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1223,8 +1616,14 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 25) & (1 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_JMPIL; goto extract_sfmt_jmpil;
-          case 1 : itype = FRVBF_INSN_CALLIL; goto extract_sfmt_jmpil;
+          case 0 :
+            if ((entire_insn & 0x7ffc0000) == 0x340000)
+              { itype = FRVBF_INSN_JMPIL; goto extract_sfmt_jmpil; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x7ffc0000) == 0x2340000)
+              { itype = FRVBF_INSN_CALLIL; goto extract_sfmt_callil; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1233,79 +1632,274 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 25) & (15 << 2)) | ((insn >> 14) & (1 << 1)) | ((insn >> 13) & (1 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_BNOLR; goto extract_sfmt_bnolr;
+          case 0 :
+            if ((entire_insn & 0x7ffcffff) == 0x384000)
+              { itype = FRVBF_INSN_BNOLR; goto extract_sfmt_bnolr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 :
             {
               unsigned int val = (((insn >> 14) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_BCTRLR; goto extract_sfmt_bctrlr;
-              case 1 : itype = FRVBF_INSN_BCNOLR; goto extract_sfmt_bcnolr;
+              case 0 :
+                if ((entire_insn & 0x7ffcefff) == 0x382000)
+                  { itype = FRVBF_INSN_BCTRLR; goto extract_sfmt_bctrlr; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 1 :
+                if ((entire_insn & 0x7ffcffff) == 0x386000)
+                  { itype = FRVBF_INSN_BCNOLR; goto extract_sfmt_bcnolr; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
-          case 2 : itype = FRVBF_INSN_FBNOLR; goto extract_sfmt_bnolr;
-          case 3 : itype = FRVBF_INSN_FCBNOLR; goto extract_sfmt_bcnolr;
-          case 4 : itype = FRVBF_INSN_BCLR; goto extract_sfmt_beqlr;
-          case 5 : itype = FRVBF_INSN_BCCLR; goto extract_sfmt_bceqlr;
-          case 6 : itype = FRVBF_INSN_FBULR; goto extract_sfmt_fbeqlr;
-          case 7 : itype = FRVBF_INSN_FCBULR; goto extract_sfmt_fcbeqlr;
-          case 8 : itype = FRVBF_INSN_BVLR; goto extract_sfmt_beqlr;
-          case 9 : itype = FRVBF_INSN_BCVLR; goto extract_sfmt_bceqlr;
-          case 10 : itype = FRVBF_INSN_FBGTLR; goto extract_sfmt_fbeqlr;
-          case 11 : itype = FRVBF_INSN_FCBGTLR; goto extract_sfmt_fcbeqlr;
-          case 12 : itype = FRVBF_INSN_BLTLR; goto extract_sfmt_beqlr;
-          case 13 : itype = FRVBF_INSN_BCLTLR; goto extract_sfmt_bceqlr;
-          case 14 : itype = FRVBF_INSN_FBUGLR; goto extract_sfmt_fbeqlr;
-          case 15 : itype = FRVBF_INSN_FCBUGLR; goto extract_sfmt_fcbeqlr;
-          case 16 : itype = FRVBF_INSN_BEQLR; goto extract_sfmt_beqlr;
-          case 17 : itype = FRVBF_INSN_BCEQLR; goto extract_sfmt_bceqlr;
-          case 18 : itype = FRVBF_INSN_FBLTLR; goto extract_sfmt_fbeqlr;
-          case 19 : itype = FRVBF_INSN_FCBLTLR; goto extract_sfmt_fcbeqlr;
-          case 20 : itype = FRVBF_INSN_BLSLR; goto extract_sfmt_beqlr;
-          case 21 : itype = FRVBF_INSN_BCLSLR; goto extract_sfmt_bceqlr;
-          case 22 : itype = FRVBF_INSN_FBULLR; goto extract_sfmt_fbeqlr;
-          case 23 : itype = FRVBF_INSN_FCBULLR; goto extract_sfmt_fcbeqlr;
-          case 24 : itype = FRVBF_INSN_BNLR; goto extract_sfmt_beqlr;
-          case 25 : itype = FRVBF_INSN_BCNLR; goto extract_sfmt_bceqlr;
-          case 26 : itype = FRVBF_INSN_FBLGLR; goto extract_sfmt_fbeqlr;
-          case 27 : itype = FRVBF_INSN_FCBLGLR; goto extract_sfmt_fcbeqlr;
-          case 28 : itype = FRVBF_INSN_BLELR; goto extract_sfmt_beqlr;
-          case 29 : itype = FRVBF_INSN_BCLELR; goto extract_sfmt_bceqlr;
-          case 30 : itype = FRVBF_INSN_FBNELR; goto extract_sfmt_fbeqlr;
-          case 31 : itype = FRVBF_INSN_FCBNELR; goto extract_sfmt_fcbeqlr;
-          case 32 : itype = FRVBF_INSN_BRALR; goto extract_sfmt_bralr;
-          case 33 : itype = FRVBF_INSN_BCRALR; goto extract_sfmt_bcralr;
-          case 34 : itype = FRVBF_INSN_FBEQLR; goto extract_sfmt_fbeqlr;
-          case 35 : itype = FRVBF_INSN_FCBEQLR; goto extract_sfmt_fcbeqlr;
-          case 36 : itype = FRVBF_INSN_BNCLR; goto extract_sfmt_beqlr;
-          case 37 : itype = FRVBF_INSN_BCNCLR; goto extract_sfmt_bceqlr;
-          case 38 : itype = FRVBF_INSN_FBUELR; goto extract_sfmt_fbeqlr;
-          case 39 : itype = FRVBF_INSN_FCBUELR; goto extract_sfmt_fcbeqlr;
-          case 40 : itype = FRVBF_INSN_BNVLR; goto extract_sfmt_beqlr;
-          case 41 : itype = FRVBF_INSN_BCNVLR; goto extract_sfmt_bceqlr;
-          case 42 : itype = FRVBF_INSN_FBGELR; goto extract_sfmt_fbeqlr;
-          case 43 : itype = FRVBF_INSN_FCBGELR; goto extract_sfmt_fcbeqlr;
-          case 44 : itype = FRVBF_INSN_BGELR; goto extract_sfmt_beqlr;
-          case 45 : itype = FRVBF_INSN_BCGELR; goto extract_sfmt_bceqlr;
-          case 46 : itype = FRVBF_INSN_FBUGELR; goto extract_sfmt_fbeqlr;
-          case 47 : itype = FRVBF_INSN_FCBUGELR; goto extract_sfmt_fcbeqlr;
-          case 48 : itype = FRVBF_INSN_BNELR; goto extract_sfmt_beqlr;
-          case 49 : itype = FRVBF_INSN_BCNELR; goto extract_sfmt_bceqlr;
-          case 50 : itype = FRVBF_INSN_FBLELR; goto extract_sfmt_fbeqlr;
-          case 51 : itype = FRVBF_INSN_FCBLELR; goto extract_sfmt_fcbeqlr;
-          case 52 : itype = FRVBF_INSN_BHILR; goto extract_sfmt_beqlr;
-          case 53 : itype = FRVBF_INSN_BCHILR; goto extract_sfmt_bceqlr;
-          case 54 : itype = FRVBF_INSN_FBULELR; goto extract_sfmt_fbeqlr;
-          case 55 : itype = FRVBF_INSN_FCBULELR; goto extract_sfmt_fcbeqlr;
-          case 56 : itype = FRVBF_INSN_BPLR; goto extract_sfmt_beqlr;
-          case 57 : itype = FRVBF_INSN_BCPLR; goto extract_sfmt_bceqlr;
-          case 58 : itype = FRVBF_INSN_FBOLR; goto extract_sfmt_fbeqlr;
-          case 59 : itype = FRVBF_INSN_FCBOLR; goto extract_sfmt_fcbeqlr;
-          case 60 : itype = FRVBF_INSN_BGTLR; goto extract_sfmt_beqlr;
-          case 61 : itype = FRVBF_INSN_BCGTLR; goto extract_sfmt_bceqlr;
-          case 62 : itype = FRVBF_INSN_FBRALR; goto extract_sfmt_bralr;
-          case 63 : itype = FRVBF_INSN_FCBRALR; goto extract_sfmt_bcralr;
+          case 2 :
+            if ((entire_insn & 0x7ffcffff) == 0x38c000)
+              { itype = FRVBF_INSN_FBNOLR; goto extract_sfmt_fbnolr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x7ffcffff) == 0x38e000)
+              { itype = FRVBF_INSN_FCBNOLR; goto extract_sfmt_fcbnolr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x79fcffff) == 0x8384000)
+              { itype = FRVBF_INSN_BCLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x79fcefff) == 0x8386000)
+              { itype = FRVBF_INSN_BCCLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x79fcffff) == 0x838c000)
+              { itype = FRVBF_INSN_FBULR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x79fcefff) == 0x838e000)
+              { itype = FRVBF_INSN_FCBULR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x79fcffff) == 0x10384000)
+              { itype = FRVBF_INSN_BVLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x79fcefff) == 0x10386000)
+              { itype = FRVBF_INSN_BCVLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x79fcffff) == 0x1038c000)
+              { itype = FRVBF_INSN_FBGTLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 11 :
+            if ((entire_insn & 0x79fcefff) == 0x1038e000)
+              { itype = FRVBF_INSN_FCBGTLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x79fcffff) == 0x18384000)
+              { itype = FRVBF_INSN_BLTLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x79fcefff) == 0x18386000)
+              { itype = FRVBF_INSN_BCLTLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x79fcffff) == 0x1838c000)
+              { itype = FRVBF_INSN_FBUGLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x79fcefff) == 0x1838e000)
+              { itype = FRVBF_INSN_FCBUGLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 16 :
+            if ((entire_insn & 0x79fcffff) == 0x20384000)
+              { itype = FRVBF_INSN_BEQLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 17 :
+            if ((entire_insn & 0x79fcefff) == 0x20386000)
+              { itype = FRVBF_INSN_BCEQLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 18 :
+            if ((entire_insn & 0x79fcffff) == 0x2038c000)
+              { itype = FRVBF_INSN_FBLTLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 19 :
+            if ((entire_insn & 0x79fcefff) == 0x2038e000)
+              { itype = FRVBF_INSN_FCBLTLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 20 :
+            if ((entire_insn & 0x79fcffff) == 0x28384000)
+              { itype = FRVBF_INSN_BLSLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 21 :
+            if ((entire_insn & 0x79fcefff) == 0x28386000)
+              { itype = FRVBF_INSN_BCLSLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 22 :
+            if ((entire_insn & 0x79fcffff) == 0x2838c000)
+              { itype = FRVBF_INSN_FBULLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 23 :
+            if ((entire_insn & 0x79fcefff) == 0x2838e000)
+              { itype = FRVBF_INSN_FCBULLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 24 :
+            if ((entire_insn & 0x79fcffff) == 0x30384000)
+              { itype = FRVBF_INSN_BNLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 25 :
+            if ((entire_insn & 0x79fcefff) == 0x30386000)
+              { itype = FRVBF_INSN_BCNLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 26 :
+            if ((entire_insn & 0x79fcffff) == 0x3038c000)
+              { itype = FRVBF_INSN_FBLGLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 27 :
+            if ((entire_insn & 0x79fcefff) == 0x3038e000)
+              { itype = FRVBF_INSN_FCBLGLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 28 :
+            if ((entire_insn & 0x79fcffff) == 0x38384000)
+              { itype = FRVBF_INSN_BLELR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 29 :
+            if ((entire_insn & 0x79fcefff) == 0x38386000)
+              { itype = FRVBF_INSN_BCLELR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 30 :
+            if ((entire_insn & 0x79fcffff) == 0x3838c000)
+              { itype = FRVBF_INSN_FBNELR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 31 :
+            if ((entire_insn & 0x79fcefff) == 0x3838e000)
+              { itype = FRVBF_INSN_FCBNELR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 32 :
+            if ((entire_insn & 0x7ffcffff) == 0x40384000)
+              { itype = FRVBF_INSN_BRALR; goto extract_sfmt_bralr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 33 :
+            if ((entire_insn & 0x7ffcefff) == 0x40386000)
+              { itype = FRVBF_INSN_BCRALR; goto extract_sfmt_bcralr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 34 :
+            if ((entire_insn & 0x79fcffff) == 0x4038c000)
+              { itype = FRVBF_INSN_FBEQLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 35 :
+            if ((entire_insn & 0x79fcefff) == 0x4038e000)
+              { itype = FRVBF_INSN_FCBEQLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 36 :
+            if ((entire_insn & 0x79fcffff) == 0x48384000)
+              { itype = FRVBF_INSN_BNCLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 37 :
+            if ((entire_insn & 0x79fcefff) == 0x48386000)
+              { itype = FRVBF_INSN_BCNCLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 38 :
+            if ((entire_insn & 0x79fcffff) == 0x4838c000)
+              { itype = FRVBF_INSN_FBUELR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 39 :
+            if ((entire_insn & 0x79fcefff) == 0x4838e000)
+              { itype = FRVBF_INSN_FCBUELR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 40 :
+            if ((entire_insn & 0x79fcffff) == 0x50384000)
+              { itype = FRVBF_INSN_BNVLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 41 :
+            if ((entire_insn & 0x79fcefff) == 0x50386000)
+              { itype = FRVBF_INSN_BCNVLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 42 :
+            if ((entire_insn & 0x79fcffff) == 0x5038c000)
+              { itype = FRVBF_INSN_FBGELR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 43 :
+            if ((entire_insn & 0x79fcefff) == 0x5038e000)
+              { itype = FRVBF_INSN_FCBGELR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 44 :
+            if ((entire_insn & 0x79fcffff) == 0x58384000)
+              { itype = FRVBF_INSN_BGELR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 45 :
+            if ((entire_insn & 0x79fcefff) == 0x58386000)
+              { itype = FRVBF_INSN_BCGELR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 46 :
+            if ((entire_insn & 0x79fcffff) == 0x5838c000)
+              { itype = FRVBF_INSN_FBUGELR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 47 :
+            if ((entire_insn & 0x79fcefff) == 0x5838e000)
+              { itype = FRVBF_INSN_FCBUGELR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 48 :
+            if ((entire_insn & 0x79fcffff) == 0x60384000)
+              { itype = FRVBF_INSN_BNELR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 49 :
+            if ((entire_insn & 0x79fcefff) == 0x60386000)
+              { itype = FRVBF_INSN_BCNELR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 50 :
+            if ((entire_insn & 0x79fcffff) == 0x6038c000)
+              { itype = FRVBF_INSN_FBLELR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 51 :
+            if ((entire_insn & 0x79fcefff) == 0x6038e000)
+              { itype = FRVBF_INSN_FCBLELR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 52 :
+            if ((entire_insn & 0x79fcffff) == 0x68384000)
+              { itype = FRVBF_INSN_BHILR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 53 :
+            if ((entire_insn & 0x79fcefff) == 0x68386000)
+              { itype = FRVBF_INSN_BCHILR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 54 :
+            if ((entire_insn & 0x79fcffff) == 0x6838c000)
+              { itype = FRVBF_INSN_FBULELR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 55 :
+            if ((entire_insn & 0x79fcefff) == 0x6838e000)
+              { itype = FRVBF_INSN_FCBULELR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 56 :
+            if ((entire_insn & 0x79fcffff) == 0x70384000)
+              { itype = FRVBF_INSN_BPLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 57 :
+            if ((entire_insn & 0x79fcefff) == 0x70386000)
+              { itype = FRVBF_INSN_BCPLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 58 :
+            if ((entire_insn & 0x79fcffff) == 0x7038c000)
+              { itype = FRVBF_INSN_FBOLR; goto extract_sfmt_fbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 59 :
+            if ((entire_insn & 0x79fcefff) == 0x7038e000)
+              { itype = FRVBF_INSN_FCBOLR; goto extract_sfmt_fcbeqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 60 :
+            if ((entire_insn & 0x79fcffff) == 0x78384000)
+              { itype = FRVBF_INSN_BGTLR; goto extract_sfmt_beqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 61 :
+            if ((entire_insn & 0x79fcefff) == 0x78386000)
+              { itype = FRVBF_INSN_BCGTLR; goto extract_sfmt_bceqlr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 62 :
+            if ((entire_insn & 0x7ffcffff) == 0x7838c000)
+              { itype = FRVBF_INSN_FBRALR; goto extract_sfmt_fbralr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 63 :
+            if ((entire_insn & 0x7ffcefff) == 0x7838e000)
+              { itype = FRVBF_INSN_FCBRALR; goto extract_sfmt_fcbralr; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1327,7 +1921,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 27) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_TINO; goto extract_sfmt_rei;
+          case 0 :
+            if ((entire_insn & 0x7fffffff) == 0x700000)
+              { itype = FRVBF_INSN_TINO; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 : itype = FRVBF_INSN_TIC; goto extract_sfmt_tieq;
           case 2 : itype = FRVBF_INSN_TIV; goto extract_sfmt_tieq;
           case 3 : itype = FRVBF_INSN_TILT; goto extract_sfmt_tieq;
@@ -1335,7 +1932,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 5 : itype = FRVBF_INSN_TILS; goto extract_sfmt_tieq;
           case 6 : itype = FRVBF_INSN_TIN; goto extract_sfmt_tieq;
           case 7 : itype = FRVBF_INSN_TILE; goto extract_sfmt_tieq;
-          case 8 : itype = FRVBF_INSN_TIRA; goto extract_sfmt_tira;
+          case 8 :
+            if ((entire_insn & 0x7ffc0000) == 0x40700000)
+              { itype = FRVBF_INSN_TIRA; goto extract_sfmt_tira; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 9 : itype = FRVBF_INSN_TINC; goto extract_sfmt_tieq;
           case 10 : itype = FRVBF_INSN_TINV; goto extract_sfmt_tieq;
           case 11 : itype = FRVBF_INSN_TIGE; goto extract_sfmt_tieq;
@@ -1351,7 +1951,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 27) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_FTINO; goto extract_sfmt_rei;
+          case 0 :
+            if ((entire_insn & 0x7fffffff) == 0x740000)
+              { itype = FRVBF_INSN_FTINO; goto extract_sfmt_rei; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 1 : itype = FRVBF_INSN_FTIU; goto extract_sfmt_ftine;
           case 2 : itype = FRVBF_INSN_FTIGT; goto extract_sfmt_ftine;
           case 3 : itype = FRVBF_INSN_FTIUG; goto extract_sfmt_ftine;
@@ -1366,7 +1969,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 12 : itype = FRVBF_INSN_FTILE; goto extract_sfmt_ftine;
           case 13 : itype = FRVBF_INSN_FTIULE; goto extract_sfmt_ftine;
           case 14 : itype = FRVBF_INSN_FTIO; goto extract_sfmt_ftine;
-          case 15 : itype = FRVBF_INSN_FTIRA; goto extract_sfmt_tira;
+          case 15 :
+            if ((entire_insn & 0x7ffc0000) == 0x78740000)
+              { itype = FRVBF_INSN_FTIRA; goto extract_sfmt_ftira; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1393,21 +1999,69 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       case 52 : itype = FRVBF_INSN_LDQI; goto extract_sfmt_ldqi;
       case 53 : itype = FRVBF_INSN_LDUBI; goto extract_sfmt_ldsbi;
       case 54 : itype = FRVBF_INSN_LDUHI; goto extract_sfmt_ldsbi;
-      case 55 : itype = FRVBF_INSN_REI; goto extract_sfmt_rei;
+      case 55 :
+        if ((entire_insn & 0x7ffc0fff) == 0xdc0000)
+          { itype = FRVBF_INSN_REI; goto extract_sfmt_rei; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
       case 56 : itype = FRVBF_INSN_LDBFI; goto extract_sfmt_ldbfi;
       case 57 : itype = FRVBF_INSN_LDHFI; goto extract_sfmt_ldbfi;
       case 58 : itype = FRVBF_INSN_LDFI; goto extract_sfmt_ldbfi;
       case 59 : itype = FRVBF_INSN_LDDFI; goto extract_sfmt_lddfi;
       case 60 : itype = FRVBF_INSN_LDQFI; goto extract_sfmt_ldqfi;
-      case 61 : itype = FRVBF_INSN_SETLO; goto extract_sfmt_setlo;
-      case 62 : itype = FRVBF_INSN_SETHI; goto extract_sfmt_sethi;
-      case 63 : itype = FRVBF_INSN_SETLOS; goto extract_sfmt_setlos;
+      case 61 :
+        if ((entire_insn & 0x1ff0000) == 0xf40000)
+          { itype = FRVBF_INSN_SETLO; goto extract_sfmt_setlo; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 62 :
+        if ((entire_insn & 0x1ff0000) == 0xf80000)
+          { itype = FRVBF_INSN_SETHI; goto extract_sfmt_sethi; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 63 :
+        if ((entire_insn & 0x1ff0000) == 0xfc0000)
+          { itype = FRVBF_INSN_SETLOS; goto extract_sfmt_setlos; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
       case 64 : itype = FRVBF_INSN_NLDSBI; goto extract_sfmt_nldsbi;
       case 65 : itype = FRVBF_INSN_NLDUBI; goto extract_sfmt_nldsbi;
       case 66 : itype = FRVBF_INSN_NLDSHI; goto extract_sfmt_nldsbi;
       case 67 : itype = FRVBF_INSN_NLDUHI; goto extract_sfmt_nldsbi;
       case 68 : itype = FRVBF_INSN_NLDI; goto extract_sfmt_nldsbi;
       case 69 : itype = FRVBF_INSN_NLDDI; goto extract_sfmt_nlddi;
+      case 70 :
+        {
+          unsigned int val = (((insn >> 6) & (7 << 0)));
+          switch (val)
+          {
+          case 0 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1180000)
+              { itype = FRVBF_INSN_ADDSS; goto extract_sfmt_slass; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1180040)
+              { itype = FRVBF_INSN_SUBSS; goto extract_sfmt_slass; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1180080)
+              { itype = FRVBF_INSN_SLASS; goto extract_sfmt_slass; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x1ffffc0) == 0x1180100)
+              { itype = FRVBF_INSN_SCUTSS; goto extract_sfmt_scutss; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x1180140)
+              { itype = FRVBF_INSN_SMU; goto extract_sfmt_smu; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x1180180)
+              { itype = FRVBF_INSN_SMASS; goto extract_sfmt_smass; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x7ffc0fc0) == 0x11801c0)
+              { itype = FRVBF_INSN_SMSSS; goto extract_sfmt_smass; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          }
+        }
       case 71 : itype = FRVBF_INSN_SCANI; goto extract_sfmt_addi;
       case 72 : itype = FRVBF_INSN_NLDBFI; goto extract_sfmt_nldbfi;
       case 73 : itype = FRVBF_INSN_NLDHFI; goto extract_sfmt_nldbfi;
@@ -1457,7 +2111,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 0 : itype = FRVBF_INSN_CAND; goto extract_sfmt_cadd;
           case 1 : itype = FRVBF_INSN_COR; goto extract_sfmt_cadd;
           case 2 : itype = FRVBF_INSN_CXOR; goto extract_sfmt_cadd;
-          case 3 : itype = FRVBF_INSN_CNOT; goto extract_sfmt_cnot;
+          case 3 :
+            if ((entire_insn & 0x1fff0c0) == 0x16800c0)
+              { itype = FRVBF_INSN_CNOT; goto extract_sfmt_cnot; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1628,10 +2285,22 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (3 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CMOVGF; goto extract_sfmt_cmovgf;
-          case 1 : itype = FRVBF_INSN_CMOVGFD; goto extract_sfmt_cmovgfd;
-          case 2 : itype = FRVBF_INSN_CMOVFG; goto extract_sfmt_cmovfg;
-          case 3 : itype = FRVBF_INSN_CMOVFGD; goto extract_sfmt_cmovfgd;
+          case 0 :
+            if ((entire_insn & 0x1fff0c0) == 0x1a40000)
+              { itype = FRVBF_INSN_CMOVGF; goto extract_sfmt_cmovgf; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1fff0c0) == 0x1a40040)
+              { itype = FRVBF_INSN_CMOVGFD; goto extract_sfmt_cmovgfd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x1fff0c0) == 0x1a40080)
+              { itype = FRVBF_INSN_CMOVFG; goto extract_sfmt_cmovfg; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x1fff0c0) == 0x1a400c0)
+              { itype = FRVBF_INSN_CMOVFGD; goto extract_sfmt_cmovfgd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1646,43 +2315,145 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               switch (val)
               {
               case 0 : /* fall through */
-              case 2 : itype = FRVBF_INSN_CCKNO; goto extract_sfmt_cckra;
-              case 1 : itype = FRVBF_INSN_CJMPL; goto extract_sfmt_cjmpl;
-              case 3 : itype = FRVBF_INSN_CCALLL; goto extract_sfmt_cjmpl;
+              case 2 :
+                if ((entire_insn & 0x79fff0ff) == 0x1a80000)
+                  { itype = FRVBF_INSN_CCKNO; goto extract_sfmt_cckra; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 1 :
+                if ((entire_insn & 0x7ffc00c0) == 0x1a80080)
+                  { itype = FRVBF_INSN_CJMPL; goto extract_sfmt_cjmpl; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 3 :
+                if ((entire_insn & 0x7ffc00c0) == 0x3a80080)
+                  { itype = FRVBF_INSN_CCALLL; goto extract_sfmt_ccalll; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
-          case 1 : itype = FRVBF_INSN_CFCKNO; goto extract_sfmt_cfckra;
-          case 2 : itype = FRVBF_INSN_CCKC; goto extract_sfmt_cckeq;
-          case 3 : itype = FRVBF_INSN_CFCKU; goto extract_sfmt_cfckne;
-          case 4 : itype = FRVBF_INSN_CCKV; goto extract_sfmt_cckeq;
-          case 5 : itype = FRVBF_INSN_CFCKGT; goto extract_sfmt_cfckne;
-          case 6 : itype = FRVBF_INSN_CCKLT; goto extract_sfmt_cckeq;
-          case 7 : itype = FRVBF_INSN_CFCKUG; goto extract_sfmt_cfckne;
-          case 8 : itype = FRVBF_INSN_CCKEQ; goto extract_sfmt_cckeq;
-          case 9 : itype = FRVBF_INSN_CFCKLT; goto extract_sfmt_cfckne;
-          case 10 : itype = FRVBF_INSN_CCKLS; goto extract_sfmt_cckeq;
-          case 11 : itype = FRVBF_INSN_CFCKUL; goto extract_sfmt_cfckne;
-          case 12 : itype = FRVBF_INSN_CCKN; goto extract_sfmt_cckeq;
-          case 13 : itype = FRVBF_INSN_CFCKLG; goto extract_sfmt_cfckne;
-          case 14 : itype = FRVBF_INSN_CCKLE; goto extract_sfmt_cckeq;
-          case 15 : itype = FRVBF_INSN_CFCKNE; goto extract_sfmt_cfckne;
-          case 16 : itype = FRVBF_INSN_CCKRA; goto extract_sfmt_cckra;
-          case 17 : itype = FRVBF_INSN_CFCKEQ; goto extract_sfmt_cfckne;
-          case 18 : itype = FRVBF_INSN_CCKNC; goto extract_sfmt_cckeq;
-          case 19 : itype = FRVBF_INSN_CFCKUE; goto extract_sfmt_cfckne;
-          case 20 : itype = FRVBF_INSN_CCKNV; goto extract_sfmt_cckeq;
-          case 21 : itype = FRVBF_INSN_CFCKGE; goto extract_sfmt_cfckne;
-          case 22 : itype = FRVBF_INSN_CCKGE; goto extract_sfmt_cckeq;
-          case 23 : itype = FRVBF_INSN_CFCKUGE; goto extract_sfmt_cfckne;
-          case 24 : itype = FRVBF_INSN_CCKNE; goto extract_sfmt_cckeq;
-          case 25 : itype = FRVBF_INSN_CFCKLE; goto extract_sfmt_cfckne;
-          case 26 : itype = FRVBF_INSN_CCKHI; goto extract_sfmt_cckeq;
-          case 27 : itype = FRVBF_INSN_CFCKULE; goto extract_sfmt_cfckne;
-          case 28 : itype = FRVBF_INSN_CCKP; goto extract_sfmt_cckeq;
-          case 29 : itype = FRVBF_INSN_CFCKO; goto extract_sfmt_cfckne;
-          case 30 : itype = FRVBF_INSN_CCKGT; goto extract_sfmt_cckeq;
-          case 31 : itype = FRVBF_INSN_CFCKRA; goto extract_sfmt_cfckra;
+          case 1 :
+            if ((entire_insn & 0x79fff0ff) == 0x1a80040)
+              { itype = FRVBF_INSN_CFCKNO; goto extract_sfmt_cfckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x79fff0fc) == 0x9a80000)
+              { itype = FRVBF_INSN_CCKC; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x79fff0fc) == 0x9a80040)
+              { itype = FRVBF_INSN_CFCKU; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x79fff0fc) == 0x11a80000)
+              { itype = FRVBF_INSN_CCKV; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x79fff0fc) == 0x11a80040)
+              { itype = FRVBF_INSN_CFCKGT; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x79fff0fc) == 0x19a80000)
+              { itype = FRVBF_INSN_CCKLT; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x79fff0fc) == 0x19a80040)
+              { itype = FRVBF_INSN_CFCKUG; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x79fff0fc) == 0x21a80000)
+              { itype = FRVBF_INSN_CCKEQ; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x79fff0fc) == 0x21a80040)
+              { itype = FRVBF_INSN_CFCKLT; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x79fff0fc) == 0x29a80000)
+              { itype = FRVBF_INSN_CCKLS; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 11 :
+            if ((entire_insn & 0x79fff0fc) == 0x29a80040)
+              { itype = FRVBF_INSN_CFCKUL; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x79fff0fc) == 0x31a80000)
+              { itype = FRVBF_INSN_CCKN; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 13 :
+            if ((entire_insn & 0x79fff0fc) == 0x31a80040)
+              { itype = FRVBF_INSN_CFCKLG; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x79fff0fc) == 0x39a80000)
+              { itype = FRVBF_INSN_CCKLE; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x79fff0fc) == 0x39a80040)
+              { itype = FRVBF_INSN_CFCKNE; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 16 :
+            if ((entire_insn & 0x79fff0ff) == 0x41a80000)
+              { itype = FRVBF_INSN_CCKRA; goto extract_sfmt_cckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 17 :
+            if ((entire_insn & 0x79fff0fc) == 0x41a80040)
+              { itype = FRVBF_INSN_CFCKEQ; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 18 :
+            if ((entire_insn & 0x79fff0fc) == 0x49a80000)
+              { itype = FRVBF_INSN_CCKNC; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 19 :
+            if ((entire_insn & 0x79fff0fc) == 0x49a80040)
+              { itype = FRVBF_INSN_CFCKUE; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 20 :
+            if ((entire_insn & 0x79fff0fc) == 0x51a80000)
+              { itype = FRVBF_INSN_CCKNV; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 21 :
+            if ((entire_insn & 0x79fff0fc) == 0x51a80040)
+              { itype = FRVBF_INSN_CFCKGE; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 22 :
+            if ((entire_insn & 0x79fff0fc) == 0x59a80000)
+              { itype = FRVBF_INSN_CCKGE; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 23 :
+            if ((entire_insn & 0x79fff0fc) == 0x59a80040)
+              { itype = FRVBF_INSN_CFCKUGE; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 24 :
+            if ((entire_insn & 0x79fff0fc) == 0x61a80000)
+              { itype = FRVBF_INSN_CCKNE; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 25 :
+            if ((entire_insn & 0x79fff0fc) == 0x61a80040)
+              { itype = FRVBF_INSN_CFCKLE; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 26 :
+            if ((entire_insn & 0x79fff0fc) == 0x69a80000)
+              { itype = FRVBF_INSN_CCKHI; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 27 :
+            if ((entire_insn & 0x79fff0fc) == 0x69a80040)
+              { itype = FRVBF_INSN_CFCKULE; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 28 :
+            if ((entire_insn & 0x79fff0fc) == 0x71a80000)
+              { itype = FRVBF_INSN_CCKP; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 29 :
+            if ((entire_insn & 0x79fff0fc) == 0x71a80040)
+              { itype = FRVBF_INSN_CFCKO; goto extract_sfmt_cfckne; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 30 :
+            if ((entire_insn & 0x79fff0fc) == 0x79a80000)
+              { itype = FRVBF_INSN_CCKGT; goto extract_sfmt_cckeq; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 31 :
+            if ((entire_insn & 0x79fff0ff) == 0x79a80040)
+              { itype = FRVBF_INSN_CFCKRA; goto extract_sfmt_cfckra; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1691,8 +2462,14 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (1 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CFITOS; goto extract_sfmt_cfitos;
-          case 1 : itype = FRVBF_INSN_CFSTOI; goto extract_sfmt_cfstoi;
+          case 0 :
+            if ((entire_insn & 0x1fff0c0) == 0x1ac0000)
+              { itype = FRVBF_INSN_CFITOS; goto extract_sfmt_cfitos; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1fff0c0) == 0x1ac0040)
+              { itype = FRVBF_INSN_CFSTOI; goto extract_sfmt_cfstoi; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1701,9 +2478,18 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (3 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CFMOVS; goto extract_sfmt_cfmovs;
-          case 1 : itype = FRVBF_INSN_CFNEGS; goto extract_sfmt_cfmovs;
-          case 2 : itype = FRVBF_INSN_CFABSS; goto extract_sfmt_cfmovs;
+          case 0 :
+            if ((entire_insn & 0x1fff0c0) == 0x1b00000)
+              { itype = FRVBF_INSN_CFMOVS; goto extract_sfmt_cfmovs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1fff0c0) == 0x1b00040)
+              { itype = FRVBF_INSN_CFNEGS; goto extract_sfmt_cfmovs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x1fff0c0) == 0x1b00080)
+              { itype = FRVBF_INSN_CFABSS; goto extract_sfmt_cfmovs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1714,7 +2500,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           {
           case 0 : itype = FRVBF_INSN_CFADDS; goto extract_sfmt_cfadds;
           case 1 : itype = FRVBF_INSN_CFSUBS; goto extract_sfmt_cfadds;
-          case 2 : itype = FRVBF_INSN_CFCMPS; goto extract_sfmt_cfcmps;
+          case 2 :
+            if ((entire_insn & 0x79fc00c0) == 0x1b40080)
+              { itype = FRVBF_INSN_CFCMPS; goto extract_sfmt_cfcmps; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1725,7 +2514,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           {
           case 0 : itype = FRVBF_INSN_CFMULS; goto extract_sfmt_cfadds;
           case 1 : itype = FRVBF_INSN_CFDIVS; goto extract_sfmt_cfadds;
-          case 2 : itype = FRVBF_INSN_CFSQRTS; goto extract_sfmt_cfmovs;
+          case 2 :
+            if ((entire_insn & 0x1fff0c0) == 0x1b80080)
+              { itype = FRVBF_INSN_CFSQRTS; goto extract_sfmt_cfmovs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1749,7 +2541,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 0 : itype = FRVBF_INSN_CMAND; goto extract_sfmt_cmand;
           case 1 : itype = FRVBF_INSN_CMOR; goto extract_sfmt_cmand;
           case 2 : itype = FRVBF_INSN_CMXOR; goto extract_sfmt_cmand;
-          case 3 : itype = FRVBF_INSN_CMNOT; goto extract_sfmt_cmnot;
+          case 3 :
+            if ((entire_insn & 0x1fff0c0) == 0x1c000c0)
+              { itype = FRVBF_INSN_CMNOT; goto extract_sfmt_cmnot; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1818,8 +2613,14 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (1 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CMEXPDHW; goto extract_sfmt_cmexpdhw;
-          case 1 : itype = FRVBF_INSN_CMEXPDHD; goto extract_sfmt_cmexpdhd;
+          case 0 :
+            if ((entire_insn & 0x1fc00c0) == 0x1d80080)
+              { itype = FRVBF_INSN_CMEXPDHW; goto extract_sfmt_cmexpdhw; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1fc00c0) == 0x1d800c0)
+              { itype = FRVBF_INSN_CMEXPDHD; goto extract_sfmt_cmexpdhd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1828,38 +2629,81 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (3 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_CMBTOH; goto extract_sfmt_cmbtoh;
-          case 1 : itype = FRVBF_INSN_CMHTOB; goto extract_sfmt_cmhtob;
-          case 2 : itype = FRVBF_INSN_CMBTOHE; goto extract_sfmt_cmbtohe;
+          case 0 :
+            if ((entire_insn & 0x1fff0c0) == 0x1dc0000)
+              { itype = FRVBF_INSN_CMBTOH; goto extract_sfmt_cmbtoh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1fff0c0) == 0x1dc0040)
+              { itype = FRVBF_INSN_CMHTOB; goto extract_sfmt_cmhtob; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x1fff0c0) == 0x1dc0080)
+              { itype = FRVBF_INSN_CMBTOHE; goto extract_sfmt_cmbtohe; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
       case 120 :
         {
-          unsigned int val = (((insn >> 7) & (1 << 4)) | ((insn >> 6) & (15 << 0)));
+          unsigned int val = (((insn >> 6) & (63 << 0)));
           switch (val)
           {
           case 0 : itype = FRVBF_INSN_MQXMACHS; goto extract_sfmt_mqmachs;
           case 1 : itype = FRVBF_INSN_MQXMACXHS; goto extract_sfmt_mqmachs;
           case 2 : itype = FRVBF_INSN_MQMACXHS; goto extract_sfmt_mqmachs;
-          case 4 : itype = FRVBF_INSN_MADDACCS; goto extract_sfmt_maddaccs;
-          case 5 : itype = FRVBF_INSN_MSUBACCS; goto extract_sfmt_maddaccs;
-          case 6 : itype = FRVBF_INSN_MDADDACCS; goto extract_sfmt_mdaddaccs;
-          case 7 : itype = FRVBF_INSN_MDSUBACCS; goto extract_sfmt_mdaddaccs;
-          case 8 : itype = FRVBF_INSN_MASACCS; goto extract_sfmt_masaccs;
-          case 9 : itype = FRVBF_INSN_MDASACCS; goto extract_sfmt_mdasaccs;
-          case 10 : itype = FRVBF_INSN_MABSHS; goto extract_sfmt_mabshs;
+          case 4 :
+            if ((entire_insn & 0x1fc0fff) == 0x1e00100)
+              { itype = FRVBF_INSN_MADDACCS; goto extract_sfmt_maddaccs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x1fc0fff) == 0x1e00140)
+              { itype = FRVBF_INSN_MSUBACCS; goto extract_sfmt_maddaccs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x1fc0fff) == 0x1e00180)
+              { itype = FRVBF_INSN_MDADDACCS; goto extract_sfmt_mdaddaccs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x1fc0fff) == 0x1e001c0)
+              { itype = FRVBF_INSN_MDSUBACCS; goto extract_sfmt_mdaddaccs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x1fc0fff) == 0x1e00200)
+              { itype = FRVBF_INSN_MASACCS; goto extract_sfmt_masaccs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x1fc0fff) == 0x1e00240)
+              { itype = FRVBF_INSN_MDASACCS; goto extract_sfmt_mdasaccs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e00280)
+              { itype = FRVBF_INSN_MABSHS; goto extract_sfmt_mabshs; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 11 : itype = FRVBF_INSN_MDROTLI; goto extract_sfmt_mdrotli;
           case 12 : itype = FRVBF_INSN_MCPLHI; goto extract_sfmt_mcplhi;
           case 13 : itype = FRVBF_INSN_MCPLI; goto extract_sfmt_mcpli;
           case 14 : itype = FRVBF_INSN_MDCUTSSI; goto extract_sfmt_mdcutssi;
           case 15 : itype = FRVBF_INSN_MQSATHS; goto extract_sfmt_mqsaths;
-          case 16 : itype = FRVBF_INSN_MHSETLOS; goto extract_sfmt_mhsetlos;
-          case 17 : itype = FRVBF_INSN_MHSETLOH; goto extract_sfmt_mhsetloh;
-          case 18 : itype = FRVBF_INSN_MHSETHIS; goto extract_sfmt_mhsethis;
-          case 19 : itype = FRVBF_INSN_MHSETHIH; goto extract_sfmt_mhsethih;
-          case 20 : itype = FRVBF_INSN_MHDSETS; goto extract_sfmt_mhdsets;
-          case 21 : itype = FRVBF_INSN_MHDSETH; goto extract_sfmt_mhdseth;
+          case 16 : itype = FRVBF_INSN_MQLCLRHS; goto extract_sfmt_mqsaths;
+          case 17 : itype = FRVBF_INSN_MQSLLHI; goto extract_sfmt_mqsllhi;
+          case 19 : itype = FRVBF_INSN_MQSRAHI; goto extract_sfmt_mqsllhi;
+          case 20 : itype = FRVBF_INSN_MQLMTHS; goto extract_sfmt_mqsaths;
+          case 32 : itype = FRVBF_INSN_MHSETLOS; goto extract_sfmt_mhsetlos;
+          case 33 :
+            if ((entire_insn & 0x1ffffe0) == 0x1e00840)
+              { itype = FRVBF_INSN_MHSETLOH; goto extract_sfmt_mhsetloh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 34 : itype = FRVBF_INSN_MHSETHIS; goto extract_sfmt_mhsethis;
+          case 35 :
+            if ((entire_insn & 0x1ffffe0) == 0x1e008c0)
+              { itype = FRVBF_INSN_MHSETHIH; goto extract_sfmt_mhsethih; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 36 : itype = FRVBF_INSN_MHDSETS; goto extract_sfmt_mhdsets;
+          case 37 :
+            if ((entire_insn & 0x1ffffe0) == 0x1e00940)
+              { itype = FRVBF_INSN_MHDSETH; goto extract_sfmt_mhdseth; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -1873,9 +2717,15 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FITOS; goto extract_sfmt_fitos;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40000)
+                  { itype = FRVBF_INSN_FITOS; goto extract_sfmt_fitos; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FMULS; goto extract_sfmt_fadds;
-              case 2 : itype = FRVBF_INSN_NFITOS; goto extract_sfmt_nfitos;
+              case 2 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40800)
+                  { itype = FRVBF_INSN_NFITOS; goto extract_sfmt_nfitos; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 3 : itype = FRVBF_INSN_NFMULS; goto extract_sfmt_nfadds;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
@@ -1885,9 +2735,15 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FSTOI; goto extract_sfmt_fstoi;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40040)
+                  { itype = FRVBF_INSN_FSTOI; goto extract_sfmt_fstoi; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FDIVS; goto extract_sfmt_fadds;
-              case 2 : itype = FRVBF_INSN_NFSTOI; goto extract_sfmt_nfstoi;
+              case 2 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40840)
+                  { itype = FRVBF_INSN_NFSTOI; goto extract_sfmt_nfstoi; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 3 : itype = FRVBF_INSN_NFDIVS; goto extract_sfmt_nfadds;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
@@ -1897,8 +2753,14 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FMOVS; goto extract_sfmt_fmovs;
-              case 1 : itype = FRVBF_INSN_FCMPS; goto extract_sfmt_fcmps;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40080)
+                  { itype = FRVBF_INSN_FMOVS; goto extract_sfmt_fmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 1 :
+                if ((entire_insn & 0x79fc0fc0) == 0x1e40280)
+                  { itype = FRVBF_INSN_FCMPS; goto extract_sfmt_fcmps; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -1907,7 +2769,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FNEGS; goto extract_sfmt_fmovs;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e400c0)
+                  { itype = FRVBF_INSN_FNEGS; goto extract_sfmt_fmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FMADDS; goto extract_sfmt_fmadds;
               case 3 : itype = FRVBF_INSN_NFMADDS; goto extract_sfmt_nfmadds;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
@@ -1918,7 +2783,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FABSS; goto extract_sfmt_fmovs;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40100)
+                  { itype = FRVBF_INSN_FABSS; goto extract_sfmt_fmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FMSUBS; goto extract_sfmt_fmadds;
               case 3 : itype = FRVBF_INSN_NFMSUBS; goto extract_sfmt_nfmadds;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
@@ -1929,9 +2797,18 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FSQRTS; goto extract_sfmt_fmovs;
-              case 1 : itype = FRVBF_INSN_FNOP; goto extract_sfmt_rei;
-              case 2 : itype = FRVBF_INSN_NFSQRTS; goto extract_sfmt_nfsqrts;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40140)
+                  { itype = FRVBF_INSN_FSQRTS; goto extract_sfmt_fmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 1 :
+                if ((entire_insn & 0x7fffffff) == 0x1e40340)
+                  { itype = FRVBF_INSN_FNOP; goto extract_sfmt_rei; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 2 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40940)
+                  { itype = FRVBF_INSN_NFSQRTS; goto extract_sfmt_nfsqrts; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -1964,9 +2841,15 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FDITOS; goto extract_sfmt_fditos;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40400)
+                  { itype = FRVBF_INSN_FDITOS; goto extract_sfmt_fditos; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FDMULS; goto extract_sfmt_fmas;
-              case 2 : itype = FRVBF_INSN_NFDITOS; goto extract_sfmt_fditos;
+              case 2 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40c00)
+                  { itype = FRVBF_INSN_NFDITOS; goto extract_sfmt_fditos; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 3 : itype = FRVBF_INSN_NFDMULS; goto extract_sfmt_fmas;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
@@ -1976,9 +2859,15 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FDSTOI; goto extract_sfmt_fdstoi;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40440)
+                  { itype = FRVBF_INSN_FDSTOI; goto extract_sfmt_fdstoi; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FDDIVS; goto extract_sfmt_fmas;
-              case 2 : itype = FRVBF_INSN_NFDSTOI; goto extract_sfmt_fdstoi;
+              case 2 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40c40)
+                  { itype = FRVBF_INSN_NFDSTOI; goto extract_sfmt_fdstoi; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 3 : itype = FRVBF_INSN_NFDDIVS; goto extract_sfmt_fmas;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
@@ -1988,9 +2877,18 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FDMOVS; goto extract_sfmt_fdmovs;
-              case 1 : itype = FRVBF_INSN_FDCMPS; goto extract_sfmt_fdcmps;
-              case 3 : itype = FRVBF_INSN_NFDCMPS; goto extract_sfmt_nfdcmps;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40480)
+                  { itype = FRVBF_INSN_FDMOVS; goto extract_sfmt_fdmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 1 :
+                if ((entire_insn & 0x79fc0fc0) == 0x1e40680)
+                  { itype = FRVBF_INSN_FDCMPS; goto extract_sfmt_fdcmps; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+              case 3 :
+                if ((entire_insn & 0x79fc0fc0) == 0x1e40e80)
+                  { itype = FRVBF_INSN_NFDCMPS; goto extract_sfmt_nfdcmps; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
@@ -1999,7 +2897,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FDNEGS; goto extract_sfmt_fdmovs;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e404c0)
+                  { itype = FRVBF_INSN_FDNEGS; goto extract_sfmt_fdmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FDMADDS; goto extract_sfmt_fdmadds;
               case 3 : itype = FRVBF_INSN_NFDMADDS; goto extract_sfmt_fdmadds;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
@@ -2010,7 +2911,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FDABSS; goto extract_sfmt_fdmovs;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40500)
+                  { itype = FRVBF_INSN_FDABSS; goto extract_sfmt_fdmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FDMAS; goto extract_sfmt_fdmas;
               case 3 : itype = FRVBF_INSN_NFDMAS; goto extract_sfmt_fdmas;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
@@ -2021,9 +2925,15 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
               unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_FDSQRTS; goto extract_sfmt_fdmovs;
+              case 0 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40540)
+                  { itype = FRVBF_INSN_FDSQRTS; goto extract_sfmt_fdmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 : itype = FRVBF_INSN_FDMSS; goto extract_sfmt_fdmas;
-              case 2 : itype = FRVBF_INSN_NFDSQRTS; goto extract_sfmt_fdmovs;
+              case 2 :
+                if ((entire_insn & 0x1ffffc0) == 0x1e40d40)
+                  { itype = FRVBF_INSN_NFDSQRTS; goto extract_sfmt_fdmovs; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 3 : itype = FRVBF_INSN_NFDMSS; goto extract_sfmt_fdmas;
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
@@ -2060,21 +2970,66 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           unsigned int val = (((insn >> 6) & (15 << 0)));
           switch (val)
           {
-          case 0 : itype = FRVBF_INSN_FITOD; goto extract_sfmt_fitod;
-          case 1 : itype = FRVBF_INSN_FDTOI; goto extract_sfmt_fdtoi;
-          case 2 : itype = FRVBF_INSN_FMOVD; goto extract_sfmt_fmovd;
-          case 3 : itype = FRVBF_INSN_FNEGD; goto extract_sfmt_fmovd;
-          case 4 : itype = FRVBF_INSN_FABSD; goto extract_sfmt_fmovd;
-          case 5 : itype = FRVBF_INSN_FSQRTD; goto extract_sfmt_fmovd;
-          case 6 : itype = FRVBF_INSN_FADDD; goto extract_sfmt_faddd;
-          case 7 : itype = FRVBF_INSN_FSUBD; goto extract_sfmt_faddd;
-          case 8 : itype = FRVBF_INSN_FMULD; goto extract_sfmt_faddd;
-          case 9 : itype = FRVBF_INSN_FDIVD; goto extract_sfmt_faddd;
-          case 10 : itype = FRVBF_INSN_FCMPD; goto extract_sfmt_fcmpd;
-          case 11 : itype = FRVBF_INSN_FMADDD; goto extract_sfmt_fmaddd;
-          case 12 : itype = FRVBF_INSN_FMSUBD; goto extract_sfmt_fmaddd;
-          case 14 : itype = FRVBF_INSN_FMAD; goto extract_sfmt_fmas;
-          case 15 : itype = FRVBF_INSN_FMSD; goto extract_sfmt_fmas;
+          case 0 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e80000)
+              { itype = FRVBF_INSN_FITOD; goto extract_sfmt_fitod; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 1 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e80040)
+              { itype = FRVBF_INSN_FDTOI; goto extract_sfmt_fdtoi; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 2 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e80080)
+              { itype = FRVBF_INSN_FMOVD; goto extract_sfmt_fmovd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 3 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e800c0)
+              { itype = FRVBF_INSN_FNEGD; goto extract_sfmt_fmovd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 4 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e80100)
+              { itype = FRVBF_INSN_FABSD; goto extract_sfmt_fmovd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 5 :
+            if ((entire_insn & 0x1ffffc0) == 0x1e80140)
+              { itype = FRVBF_INSN_FSQRTD; goto extract_sfmt_fmovd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 6 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e80180)
+              { itype = FRVBF_INSN_FADDD; goto extract_sfmt_faddd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 7 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e801c0)
+              { itype = FRVBF_INSN_FSUBD; goto extract_sfmt_faddd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 8 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e80200)
+              { itype = FRVBF_INSN_FMULD; goto extract_sfmt_faddd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 9 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e80240)
+              { itype = FRVBF_INSN_FDIVD; goto extract_sfmt_faddd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 10 :
+            if ((entire_insn & 0x79fc0fc0) == 0x1e80280)
+              { itype = FRVBF_INSN_FCMPD; goto extract_sfmt_fcmpd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 11 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e802c0)
+              { itype = FRVBF_INSN_FMADDD; goto extract_sfmt_fmaddd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 12 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e80300)
+              { itype = FRVBF_INSN_FMSUBD; goto extract_sfmt_fmaddd; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 14 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e80380)
+              { itype = FRVBF_INSN_FMAD; goto extract_sfmt_fmas; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x1fc0fc0) == 0x1e803c0)
+              { itype = FRVBF_INSN_FMSD; goto extract_sfmt_fmas; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
@@ -2086,7 +3041,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 0 : itype = FRVBF_INSN_MAND; goto extract_sfmt_mand;
           case 1 : itype = FRVBF_INSN_MOR; goto extract_sfmt_mand;
           case 2 : itype = FRVBF_INSN_MXOR; goto extract_sfmt_mand;
-          case 3 : itype = FRVBF_INSN_MNOT; goto extract_sfmt_mnot;
+          case 3 :
+            if ((entire_insn & 0x1ffffc0) == 0x1ec00c0)
+              { itype = FRVBF_INSN_MNOT; goto extract_sfmt_mnot; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 4 : itype = FRVBF_INSN_MROTLI; goto extract_sfmt_mrotli;
           case 5 : itype = FRVBF_INSN_MROTRI; goto extract_sfmt_mrotli;
           case 6 : itype = FRVBF_INSN_MWCUT; goto extract_sfmt_mwcut;
@@ -2097,8 +3055,14 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 11 : itype = FRVBF_INSN_MSRAHI; goto extract_sfmt_msllhi;
           case 12 : itype = FRVBF_INSN_MSATHS; goto extract_sfmt_msaths;
           case 13 : itype = FRVBF_INSN_MSATHU; goto extract_sfmt_msaths;
-          case 14 : itype = FRVBF_INSN_MCMPSH; goto extract_sfmt_mcmpsh;
-          case 15 : itype = FRVBF_INSN_MCMPUH; goto extract_sfmt_mcmpsh;
+          case 14 :
+            if ((entire_insn & 0x79fc0fc0) == 0x1ec0380)
+              { itype = FRVBF_INSN_MCMPSH; goto extract_sfmt_mcmpsh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 15 :
+            if ((entire_insn & 0x79fc0fc0) == 0x1ec03c0)
+              { itype = FRVBF_INSN_MCMPUH; goto extract_sfmt_mcmpsh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 16 : itype = FRVBF_INSN_MADDHSS; goto extract_sfmt_msaths;
           case 17 : itype = FRVBF_INSN_MADDHUS; goto extract_sfmt_msaths;
           case 18 : itype = FRVBF_INSN_MSUBHSS; goto extract_sfmt_msaths;
@@ -2136,18 +3100,36 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
           case 50 : itype = FRVBF_INSN_MEXPDHW; goto extract_sfmt_mexpdhw;
           case 51 : itype = FRVBF_INSN_MEXPDHD; goto extract_sfmt_mexpdhd;
           case 52 : itype = FRVBF_INSN_MPACKH; goto extract_sfmt_mpackh;
-          case 53 : itype = FRVBF_INSN_MUNPACKH; goto extract_sfmt_munpackh;
+          case 53 :
+            if ((entire_insn & 0x1fc0fff) == 0x1ec0d40)
+              { itype = FRVBF_INSN_MUNPACKH; goto extract_sfmt_munpackh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 54 : itype = FRVBF_INSN_MDPACKH; goto extract_sfmt_mdpackh;
-          case 55 : itype = FRVBF_INSN_MDUNPACKH; goto extract_sfmt_mdunpackh;
-          case 56 : itype = FRVBF_INSN_MBTOH; goto extract_sfmt_mbtoh;
-          case 57 : itype = FRVBF_INSN_MHTOB; goto extract_sfmt_mhtob;
-          case 58 : itype = FRVBF_INSN_MBTOHE; goto extract_sfmt_mbtohe;
+          case 55 :
+            if ((entire_insn & 0x1fc0fff) == 0x1ec0dc0)
+              { itype = FRVBF_INSN_MDUNPACKH; goto extract_sfmt_mdunpackh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 56 :
+            if ((entire_insn & 0x1ffffc0) == 0x1ec0e00)
+              { itype = FRVBF_INSN_MBTOH; goto extract_sfmt_mbtoh; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 57 :
+            if ((entire_insn & 0x1ffffc0) == 0x1ec0e40)
+              { itype = FRVBF_INSN_MHTOB; goto extract_sfmt_mhtob; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 58 :
+            if ((entire_insn & 0x1ffffc0) == 0x1ec0e80)
+              { itype = FRVBF_INSN_MBTOHE; goto extract_sfmt_mbtohe; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           case 59 :
             {
               unsigned int val = (((insn >> 17) & (1 << 0)));
               switch (val)
               {
-              case 0 : itype = FRVBF_INSN_MCLRACC_0; goto extract_sfmt_mclracc_0;
+              case 0 :
+                if ((entire_insn & 0x1ffffff) == 0x1ec0ec0)
+                  { itype = FRVBF_INSN_MCLRACC_0; goto extract_sfmt_mclracc_0; }
+                itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               case 1 :
                 {
                   unsigned int val = (((insn >> 25) & (63 << 0)));
@@ -2215,23 +3197,47 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
                   case 59 : /* fall through */
                   case 60 : /* fall through */
                   case 61 : /* fall through */
-                  case 62 : itype = FRVBF_INSN_MCLRACC_1; goto extract_sfmt_mclracc_0;
-                  case 63 : itype = FRVBF_INSN_MNOP; goto extract_sfmt_rei;
+                  case 62 :
+                    if ((entire_insn & 0x1ffffff) == 0x1ee0ec0)
+                      { itype = FRVBF_INSN_MCLRACC_1; goto extract_sfmt_mclracc_0; }
+                    itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+                  case 63 :
+                    if ((entire_insn & 0x7fffffff) == 0x7fee0ec0)
+                      { itype = FRVBF_INSN_MNOP; goto extract_sfmt_rei; }
+                    itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
                   default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
                   }
                 }
               default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
               }
             }
-          case 60 : itype = FRVBF_INSN_MRDACC; goto extract_sfmt_mrdacc;
-          case 61 : itype = FRVBF_INSN_MWTACC; goto extract_sfmt_mwtacc;
-          case 62 : itype = FRVBF_INSN_MRDACCG; goto extract_sfmt_mrdaccg;
-          case 63 : itype = FRVBF_INSN_MWTACCG; goto extract_sfmt_mwtaccg;
+          case 60 :
+            if ((entire_insn & 0x1fc0fff) == 0x1ec0f00)
+              { itype = FRVBF_INSN_MRDACC; goto extract_sfmt_mrdacc; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 61 :
+            if ((entire_insn & 0x1fc0fff) == 0x1ec0f40)
+              { itype = FRVBF_INSN_MWTACC; goto extract_sfmt_mwtacc; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 62 :
+            if ((entire_insn & 0x1fc0fff) == 0x1ec0f80)
+              { itype = FRVBF_INSN_MRDACCG; goto extract_sfmt_mrdaccg; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+          case 63 :
+            if ((entire_insn & 0x1fc0fff) == 0x1ec0fc0)
+              { itype = FRVBF_INSN_MWTACCG; goto extract_sfmt_mwtaccg; }
+            itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
           }
         }
-      case 124 : itype = FRVBF_INSN_MCOP1; goto extract_sfmt_rei;
-      case 125 : itype = FRVBF_INSN_MCOP2; goto extract_sfmt_rei;
+      case 124 :
+        if ((entire_insn & 0x1fc0fc0) == 0x1f00000)
+          { itype = FRVBF_INSN_MCOP1; goto extract_sfmt_rei; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
+      case 125 :
+        if ((entire_insn & 0x1fc0fc0) == 0x1f40000)
+          { itype = FRVBF_INSN_MCOP2; goto extract_sfmt_rei; }
+        itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
       case 126 : itype = FRVBF_INSN_COP1; goto extract_sfmt_rei;
       case 127 : itype = FRVBF_INSN_COP2; goto extract_sfmt_rei;
       default : itype = FRVBF_INSN_X_INVALID; goto extract_sfmt_empty;
@@ -2244,7 +3250,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_empty:
   {
     const IDESC *idesc = &frvbf_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.  */
@@ -2257,7 +3263,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_add:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2289,8 +3295,8 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_not:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addcc.f
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_scutss.f
     UINT f_GRk;
     UINT f_GRj;
 
@@ -2317,7 +3323,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_sdiv:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2349,7 +3355,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_smul:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2374,6 +3380,126 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (out_GRdoublek) = f_GRk;
     }
 #endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_smu:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_smass.f
+    UINT f_GRi;
+    UINT f_GRj;
+
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_GRj) = f_GRj;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+      FLD (in_GRj) = f_GRj;
+      FLD (out_h_iacc0_DI_0) = 0;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_smass:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_smass.f
+    UINT f_GRi;
+    UINT f_GRj;
+
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_GRj) = f_GRj;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smass", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+      FLD (in_GRj) = f_GRj;
+      FLD (in_h_iacc0_DI_0) = 0;
+      FLD (out_h_iacc0_DI_0) = 0;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_slass:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_addcc.f
+    UINT f_GRk;
+    UINT f_GRi;
+    UINT f_GRj;
+
+    f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_GRj) = f_GRj;
+  FLD (f_GRk) = f_GRk;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slass", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+      FLD (in_GRj) = f_GRj;
+      FLD (out_GRk) = f_GRk;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_scutss:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_scutss.f
+    UINT f_GRk;
+    UINT f_GRj;
+
+    f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRj) = f_GRj;
+  FLD (f_GRk) = f_GRk;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scutss", "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRj) = f_GRj;
+      FLD (in_h_iacc0_DI_0) = 0;
+      FLD (out_GRk) = f_GRk;
+    }
+#endif
 #undef FLD
     return idesc;
   }
@@ -2381,7 +3507,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cadd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2420,7 +3546,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cnot:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_CCi;
@@ -2455,7 +3581,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_csmul:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2494,7 +3620,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_csdiv:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2533,7 +3659,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addcc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2570,7 +3696,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andcc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2607,7 +3733,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_smulcc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2644,7 +3770,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_caddcc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_caddcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2673,9 +3799,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_GRi) = f_GRi;
       FLD (in_GRj) = f_GRj;
-      FLD (in_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3) = ((FLD (f_CCi)) & (3));
+      FLD (in_h_iccr_UQI_and__INT_index_of__INT_CCi_3) = ((FLD (f_CCi)) & (3));
       FLD (out_GRk) = f_GRk;
-      FLD (out_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3) = ((FLD (f_CCi)) & (3));
+      FLD (out_h_iccr_UQI_and__INT_index_of__INT_CCi_3) = ((FLD (f_CCi)) & (3));
     }
 #endif
 #undef FLD
@@ -2685,7 +3811,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_csmulcc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_csmulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2714,9 +3840,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_GRi) = f_GRi;
       FLD (in_GRj) = f_GRj;
-      FLD (in_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3) = ((FLD (f_CCi)) & (3));
+      FLD (in_h_iccr_UQI_and__INT_index_of__INT_CCi_3) = ((FLD (f_CCi)) & (3));
       FLD (out_GRdoublek) = f_GRk;
-      FLD (out_h_iccr_UQI_and__DFLT_index_of__DFLT_CCi_3) = ((FLD (f_CCi)) & (3));
+      FLD (out_h_iccr_UQI_and__INT_index_of__INT_CCi_3) = ((FLD (f_CCi)) & (3));
     }
 #endif
 #undef FLD
@@ -2726,7 +3852,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addx:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2762,7 +3888,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2770,7 +3896,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2793,7 +3919,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_sdivi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2801,7 +3927,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2824,7 +3950,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_smuli:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smuli.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2832,7 +3958,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2855,7 +3981,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addicc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addicc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2865,7 +3991,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
     f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2);
-    f_s10 = EXTRACT_LSB0_INT (insn, 32, 9, 10);
+    f_s10 = EXTRACT_LSB0_SINT (insn, 32, 9, 10);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2891,7 +4017,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andicc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addicc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2901,7 +4027,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
     f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2);
-    f_s10 = EXTRACT_LSB0_INT (insn, 32, 9, 10);
+    f_s10 = EXTRACT_LSB0_SINT (insn, 32, 9, 10);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2927,7 +4053,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_smulicc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulicc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2937,7 +4063,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
     f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2);
-    f_s10 = EXTRACT_LSB0_INT (insn, 32, 9, 10);
+    f_s10 = EXTRACT_LSB0_SINT (insn, 32, 9, 10);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2963,7 +4089,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_addxi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addicc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -2973,7 +4099,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
     f_ICCi_1 = EXTRACT_LSB0_UINT (insn, 32, 11, 2);
-    f_s10 = EXTRACT_LSB0_INT (insn, 32, 9, 10);
+    f_s10 = EXTRACT_LSB0_SINT (insn, 32, 9, 10);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -2998,7 +4124,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmpb:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRi;
     UINT f_ICCi_1;
@@ -3030,7 +4156,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_setlo:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_setlo.f
     UINT f_GRk;
     UINT f_u16;
@@ -3057,7 +4183,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_sethi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_sethi.f
     UINT f_GRk;
     UINT f_u16;
@@ -3084,13 +4210,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_setlos:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_setlos.f
     UINT f_GRk;
     INT f_s16;
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_s16 = EXTRACT_LSB0_INT (insn, 32, 15, 16);
+    f_s16 = EXTRACT_LSB0_SINT (insn, 32, 15, 16);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_s16) = f_s16;
@@ -3111,7 +4237,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldsb:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3143,7 +4269,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldbf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3175,7 +4301,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ldcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -3207,7 +4333,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldsb:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_addcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3239,7 +4365,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldbf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3271,7 +4397,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3303,7 +4429,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3335,7 +4461,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_lddcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -3367,7 +4493,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3399,7 +4525,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nlddf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3431,7 +4557,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3462,7 +4588,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3493,7 +4619,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -3524,7 +4650,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smulcc.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3555,7 +4681,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldqf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3586,7 +4712,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldsbu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldsbu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3619,7 +4745,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldsbu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldsbu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3652,7 +4778,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldbfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3685,7 +4811,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldcu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ldcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -3718,7 +4844,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldbfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3751,7 +4877,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3784,7 +4910,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nlddu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3817,7 +4943,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3850,7 +4976,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddcu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_lddcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -3883,7 +5009,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nlddfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -3916,7 +5042,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3948,7 +5074,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldqu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -3980,7 +5106,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4012,7 +5138,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqcu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -4044,7 +5170,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldqfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4076,7 +5202,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldsbi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4084,7 +5210,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4107,7 +5233,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldbfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ldbfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4115,7 +5241,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4138,7 +5264,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldsbi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4146,7 +5272,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4169,7 +5295,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldbfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ldbfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4177,7 +5303,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4200,7 +5326,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smuli.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4208,7 +5334,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4231,7 +5357,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_lddfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_lddfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4239,7 +5365,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4262,7 +5388,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nlddi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_smuli.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4270,7 +5396,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4293,7 +5419,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nlddfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_lddfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4301,7 +5427,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4324,7 +5450,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4332,7 +5458,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4354,7 +5480,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ldqfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4362,7 +5488,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4384,7 +5510,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nldqfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4392,7 +5518,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -4414,7 +5540,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stb:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4446,7 +5572,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stbf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4478,7 +5604,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -4503,70 +5629,6 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_GRj) = f_GRj;
     }
 #endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_rstb:
-  {
-    const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cswap.f
-    UINT f_GRk;
-    UINT f_GRi;
-    UINT f_GRj;
-
-    f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_GRi) = f_GRi;
-  FLD (f_GRj) = f_GRj;
-  FLD (f_GRk) = f_GRk;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_GRi) = f_GRi;
-      FLD (in_GRj) = f_GRj;
-      FLD (in_GRk) = f_GRk;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_rstbf:
-  {
-    const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cstbfu.f
-    UINT f_FRk;
-    UINT f_GRi;
-    UINT f_GRj;
-
-    f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_FRk) = f_FRk;
-  FLD (f_GRi) = f_GRi;
-  FLD (f_GRj) = f_GRj;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstbf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_FRintk) = f_FRk;
-      FLD (in_GRi) = f_GRi;
-      FLD (in_GRj) = f_GRj;
-    }
-#endif
 #undef FLD
     return idesc;
   }
@@ -4574,7 +5636,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_std:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4606,7 +5668,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4638,7 +5700,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -4663,70 +5725,6 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_GRj) = f_GRj;
     }
 #endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_rstd:
-  {
-    const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cstdu.f
-    UINT f_GRk;
-    UINT f_GRi;
-    UINT f_GRj;
-
-    f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_GRk) = f_GRk;
-  FLD (f_GRi) = f_GRi;
-  FLD (f_GRj) = f_GRj;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstd", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_GRdoublek) = f_GRk;
-      FLD (in_GRi) = f_GRi;
-      FLD (in_GRj) = f_GRj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_rstdf:
-  {
-    const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_cstdfu.f
-    UINT f_FRk;
-    UINT f_GRi;
-    UINT f_GRj;
-
-    f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_FRk) = f_FRk;
-  FLD (f_GRi) = f_GRi;
-  FLD (f_GRj) = f_GRj;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rstdf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_FRdoublek) = f_FRk;
-      FLD (in_GRi) = f_GRi;
-      FLD (in_GRj) = f_GRj;
-    }
-#endif
 #undef FLD
     return idesc;
   }
@@ -4734,7 +5732,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stbu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstbu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4767,7 +5765,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stbfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4800,7 +5798,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stcu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -4833,7 +5831,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4866,7 +5864,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -4899,7 +5897,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdcu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdcu.f
     UINT f_CPRk;
     UINT f_GRi;
@@ -4932,7 +5930,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stqu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -4964,7 +5962,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldsb:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5003,7 +6001,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldbf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5042,7 +6040,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5081,7 +6079,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_clddf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5120,7 +6118,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5158,7 +6156,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldsbu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldsbu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5198,7 +6196,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldbfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cldbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5238,7 +6236,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_clddu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5278,7 +6276,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_clddfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_clddfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5318,7 +6316,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cldqu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5357,7 +6355,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstb:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5396,7 +6394,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstbf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5435,7 +6433,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5474,7 +6472,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstdf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5513,7 +6511,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstbu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstbu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5553,7 +6551,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstbfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstbfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5593,7 +6591,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstdu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdu.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5633,7 +6631,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cstdfu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cstdfu.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5673,7 +6671,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stbi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5681,7 +6679,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -5704,7 +6702,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stbfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stbfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5712,7 +6710,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FRk) = f_FRk;
@@ -5735,7 +6733,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5743,7 +6741,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRk) = f_GRk;
@@ -5766,7 +6764,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_stdfi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_stdfi.f
     UINT f_FRk;
     UINT f_GRi;
@@ -5774,7 +6772,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FRk) = f_FRk;
@@ -5797,7 +6795,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_swap:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5830,7 +6828,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_swapi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5838,7 +6836,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_GRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -5862,7 +6860,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cswap:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cswap.f
     UINT f_GRk;
     UINT f_GRi;
@@ -5902,7 +6900,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movgf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovgfd.f
     UINT f_FRk;
     UINT f_GRj;
@@ -5930,7 +6928,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movfg:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovfgd.f
     UINT f_FRk;
     UINT f_GRj;
@@ -5958,7 +6956,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movgfd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovgfd.f
     UINT f_FRk;
     UINT f_GRj;
@@ -5976,9 +6974,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_GRj) = f_GRj;
-      FLD (in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1) = ((FLD (f_GRj)) + (1));
+      FLD (in_h_gr_USI_add__INT_index_of__INT_GRj_1) = ((FLD (f_GRj)) + (1));
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -5988,7 +6986,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movfgd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovfgd.f
     UINT f_FRk;
     UINT f_GRj;
@@ -6006,9 +7004,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
       FLD (out_GRj) = f_GRj;
-      FLD (out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1) = ((FLD (f_GRj)) + (1));
+      FLD (out_h_gr_USI_add__INT_index_of__INT_GRj_1) = ((FLD (f_GRj)) + (1));
     }
 #endif
 #undef FLD
@@ -6018,7 +7016,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movgfq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_movgfq.f
     UINT f_FRk;
     UINT f_GRj;
@@ -6036,13 +7034,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_GRj) = f_GRj;
-      FLD (in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1) = ((FLD (f_GRj)) + (1));
-      FLD (in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_2) = ((FLD (f_GRj)) + (2));
-      FLD (in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_3) = ((FLD (f_GRj)) + (3));
+      FLD (in_h_gr_USI_add__INT_index_of__INT_GRj_1) = ((FLD (f_GRj)) + (1));
+      FLD (in_h_gr_USI_add__INT_index_of__INT_GRj_2) = ((FLD (f_GRj)) + (2));
+      FLD (in_h_gr_USI_add__INT_index_of__INT_GRj_3) = ((FLD (f_GRj)) + (3));
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_3) = ((FLD (f_FRk)) + (3));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintk_3) = ((FLD (f_FRk)) + (3));
     }
 #endif
 #undef FLD
@@ -6052,7 +7050,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movfgq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_movfgq.f
     UINT f_FRk;
     UINT f_GRj;
@@ -6070,13 +7068,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_3) = ((FLD (f_FRk)) + (3));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintk_3) = ((FLD (f_FRk)) + (3));
       FLD (out_GRj) = f_GRj;
-      FLD (out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1) = ((FLD (f_GRj)) + (1));
-      FLD (out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_2) = ((FLD (f_GRj)) + (2));
-      FLD (out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_3) = ((FLD (f_GRj)) + (3));
+      FLD (out_h_gr_USI_add__INT_index_of__INT_GRj_1) = ((FLD (f_GRj)) + (1));
+      FLD (out_h_gr_USI_add__INT_index_of__INT_GRj_2) = ((FLD (f_GRj)) + (2));
+      FLD (out_h_gr_USI_add__INT_index_of__INT_GRj_3) = ((FLD (f_GRj)) + (3));
     }
 #endif
 #undef FLD
@@ -6086,7 +7084,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmovgf:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovgfd.f
     UINT f_FRk;
     UINT f_CCi;
@@ -6121,7 +7119,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmovfg:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovfgd.f
     UINT f_FRk;
     UINT f_CCi;
@@ -6156,7 +7154,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmovgfd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovgfd.f
     UINT f_FRk;
     UINT f_CCi;
@@ -6181,9 +7179,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_CCi) = f_CCi;
       FLD (in_GRj) = f_GRj;
-      FLD (in_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1) = ((FLD (f_GRj)) + (1));
+      FLD (in_h_gr_USI_add__INT_index_of__INT_GRj_1) = ((FLD (f_GRj)) + (1));
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -6193,7 +7191,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmovfgd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmovfgd.f
     UINT f_FRk;
     UINT f_CCi;
@@ -6218,9 +7216,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
       FLD (out_GRj) = f_GRj;
-      FLD (out_h_gr_USI_add__DFLT_index_of__DFLT_GRj_1) = ((FLD (f_GRj)) + (1));
+      FLD (out_h_gr_USI_add__INT_index_of__INT_GRj_1) = ((FLD (f_GRj)) + (1));
     }
 #endif
 #undef FLD
@@ -6230,7 +7228,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movgs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_movgs.f
     UINT f_spr_h;
     UINT f_spr_l;
@@ -6264,7 +7262,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_movsg:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_movsg.f
     UINT f_spr_h;
     UINT f_spr_l;
@@ -6298,13 +7296,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bra:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fbne.f
     UINT f_hint;
     SI f_label16;
 
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
-    f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc));
+    f_label16 = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (pc));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_hint) = f_hint;
@@ -6324,13 +7322,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bno:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fbne.f
     UINT f_hint;
     SI f_label16;
 
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
-    f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc));
+    f_label16 = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (pc));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_hint) = f_hint;
@@ -6344,7 +7342,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_beq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_beq.f
     UINT f_ICCi_2;
     UINT f_hint;
@@ -6352,7 +7350,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2);
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
-    f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc));
+    f_label16 = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (pc));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_ICCi_2) = f_ICCi_2;
@@ -6367,6 +7365,52 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_ICCi_2) = f_ICCi_2;
     }
 #endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_fbra:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fbne.f
+    UINT f_hint;
+    SI f_label16;
+
+    f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
+    f_label16 = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (pc));
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_hint) = f_hint;
+  FLD (i_label16) = f_label16;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbra", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_fbno:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fbne.f
+    UINT f_hint;
+    SI f_label16;
+
+    f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
+    f_label16 = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (pc));
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_hint) = f_hint;
+  FLD (i_label16) = f_label16;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbno", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+
 #undef FLD
     return idesc;
   }
@@ -6374,7 +7418,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fbne:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fbne.f
     UINT f_FCCi_2;
     UINT f_hint;
@@ -6382,7 +7426,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2);
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
-    f_label16 = ((((EXTRACT_LSB0_INT (insn, 32, 15, 16)) << (2))) + (pc));
+    f_label16 = ((((EXTRACT_LSB0_SINT (insn, 32, 15, 16)) << (2))) + (pc));
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FCCi_2) = f_FCCi_2;
@@ -6394,59 +7438,111 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
-      FLD (in_FCCi_2) = f_FCCi_2;
+      FLD (in_FCCi_2) = f_FCCi_2;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_bctrlr:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+    UINT f_hint;
+    UINT f_ccond;
+
+    f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
+    f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_ccond) = f_ccond;
+  FLD (f_hint) = f_hint;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bctrlr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_h_spr_USI_272) = 272;
+      FLD (in_h_spr_USI_273) = 273;
+      FLD (out_h_spr_USI_273) = 273;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_bralr:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+    UINT f_hint;
+
+    f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_hint) = f_hint;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_h_spr_USI_272) = 272;
     }
 #endif
 #undef FLD
     return idesc;
   }
 
- extract_sfmt_bctrlr:
+ extract_sfmt_bnolr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_hint;
-    UINT f_ccond;
 
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
-    f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1);
 
   /* Record the fields for the semantic handler.  */
-  FLD (f_ccond) = f_ccond;
   FLD (f_hint) = f_hint;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bctrlr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_h_spr_USI_272) = 272;
-      FLD (in_h_spr_USI_273) = 273;
-      FLD (out_h_spr_USI_273) = 273;
     }
 #endif
 #undef FLD
     return idesc;
   }
 
- extract_sfmt_bralr:
+ extract_sfmt_beqlr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_bceqlr.f
+    UINT f_ICCi_2;
     UINT f_hint;
 
+    f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2);
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
 
   /* Record the fields for the semantic handler.  */
+  FLD (f_ICCi_2) = f_ICCi_2;
   FLD (f_hint) = f_hint;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqlr", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_hint 0x%x", 'x', f_hint, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
+      FLD (in_ICCi_2) = f_ICCi_2;
       FLD (in_h_spr_USI_272) = 272;
     }
 #endif
@@ -6454,10 +7550,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     return idesc;
   }
 
- extract_sfmt_bnolr:
+ extract_sfmt_fbralr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_hint;
 
@@ -6465,7 +7561,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
   /* Record the fields for the semantic handler.  */
   FLD (f_hint) = f_hint;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
@@ -6478,27 +7574,23 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     return idesc;
   }
 
- extract_sfmt_beqlr:
+ extract_sfmt_fbnolr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bceqlr.f
-    UINT f_ICCi_2;
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_hint;
 
-    f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2);
     f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
 
   /* Record the fields for the semantic handler.  */
-  FLD (f_ICCi_2) = f_ICCi_2;
   FLD (f_hint) = f_hint;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqlr", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
 
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
-      FLD (in_ICCi_2) = f_ICCi_2;
       FLD (in_h_spr_USI_272) = 272;
     }
 #endif
@@ -6509,7 +7601,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fbeqlr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_FCCi_2;
     UINT f_hint;
@@ -6537,7 +7629,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bcralr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_hint;
     UINT f_ccond;
@@ -6566,7 +7658,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bcnolr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_hint;
 
@@ -6592,7 +7684,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_bceqlr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_bceqlr.f
     UINT f_ICCi_2;
     UINT f_hint;
@@ -6618,6 +7710,61 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (out_h_spr_USI_273) = 273;
     }
 #endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_fcbralr:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+    UINT f_hint;
+    UINT f_ccond;
+
+    f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
+    f_ccond = EXTRACT_LSB0_UINT (insn, 32, 12, 1);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_ccond) = f_ccond;
+  FLD (f_hint) = f_hint;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbralr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_h_spr_USI_272) = 272;
+      FLD (in_h_spr_USI_273) = 273;
+      FLD (out_h_spr_USI_273) = 273;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_fcbnolr:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_fcbeqlr.f
+    UINT f_hint;
+
+    f_hint = EXTRACT_LSB0_UINT (insn, 32, 17, 2);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_hint) = f_hint;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_h_spr_USI_272) = 272;
+      FLD (in_h_spr_USI_273) = 273;
+      FLD (out_h_spr_USI_273) = 273;
+    }
+#endif
 #undef FLD
     return idesc;
   }
@@ -6625,7 +7772,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fcbeqlr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcbeqlr.f
     UINT f_FCCi_2;
     UINT f_hint;
@@ -6658,7 +7805,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_jmpl:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cjmpl.f
     UINT f_LI;
     UINT f_GRi;
@@ -6674,6 +7821,37 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_LI) = f_LI;
   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmpl", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, (char *) 0));
 
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+      FLD (in_GRj) = f_GRj;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_calll:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_cjmpl.f
+    UINT f_LI;
+    UINT f_GRi;
+    UINT f_GRj;
+
+    f_LI = EXTRACT_LSB0_UINT (insn, 32, 25, 1);
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_GRj) = f_GRj;
+  FLD (f_LI) = f_LI;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_calll", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, (char *) 0));
+
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
@@ -6689,7 +7867,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_jmpil:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_jmpil.f
     UINT f_LI;
     UINT f_GRi;
@@ -6697,7 +7875,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_LI = EXTRACT_LSB0_UINT (insn, 32, 25, 1);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -6705,6 +7883,36 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_d12) = f_d12;
   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmpil", "f_GRi 0x%x", 'x', f_GRi, "f_LI 0x%x", 'x', f_LI, "f_d12 0x%x", 'x', f_d12, (char *) 0));
 
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_callil:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_jmpil.f
+    UINT f_LI;
+    UINT f_GRi;
+    INT f_d12;
+
+    f_LI = EXTRACT_LSB0_UINT (insn, 32, 25, 1);
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_LI) = f_LI;
+  FLD (f_d12) = f_d12;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callil", "f_GRi 0x%x", 'x', f_GRi, "f_LI 0x%x", 'x', f_LI, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
@@ -6719,13 +7927,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_call:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_call.f
     INT f_labelH6;
     UINT f_labelL18;
     INT f_label24;
 
-    f_labelH6 = EXTRACT_LSB0_INT (insn, 32, 30, 6);
+    f_labelH6 = EXTRACT_LSB0_SINT (insn, 32, 30, 6);
     f_labelL18 = EXTRACT_LSB0_UINT (insn, 32, 17, 18);
 {
   f_label24 = ((((((((f_labelH6) << (18))) | (f_labelL18))) << (2))) + (pc));
@@ -6748,7 +7956,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_rett:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_rett.f
     UINT f_debug;
 
@@ -6771,7 +7979,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_rei:
   {
     const IDESC *idesc = &frvbf_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.  */
@@ -6784,7 +7992,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_tra:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ftne.f
     UINT f_GRi;
     UINT f_GRj;
@@ -6817,7 +8025,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_teq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_teq.f
     UINT f_ICCi_2;
     UINT f_GRi;
@@ -6847,6 +8055,39 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (out_h_spr_USI_771) = 771;
     }
 #endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_ftra:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_ftne.f
+    UINT f_GRi;
+    UINT f_GRj;
+
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_GRj) = f_GRj;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftra", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+      FLD (in_GRj) = f_GRj;
+      FLD (out_h_spr_USI_1) = 1;
+      FLD (out_h_spr_USI_768) = 768;
+      FLD (out_h_spr_USI_769) = 769;
+      FLD (out_h_spr_USI_770) = 770;
+      FLD (out_h_spr_USI_771) = 771;
+    }
+#endif
 #undef FLD
     return idesc;
   }
@@ -6854,7 +8095,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ftne:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ftne.f
     UINT f_FCCi_2;
     UINT f_GRi;
@@ -6891,13 +8132,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_tira:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ftine.f
     UINT f_GRi;
     INT f_d12;
 
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -6923,7 +8164,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_tieq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_tieq.f
     UINT f_ICCi_2;
     UINT f_GRi;
@@ -6931,7 +8172,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_ICCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_GRi) = f_GRi;
@@ -6952,6 +8193,38 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (out_h_spr_USI_771) = 771;
     }
 #endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_ftira:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_ftine.f
+    UINT f_GRi;
+    INT f_d12;
+
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_GRi) = f_GRi;
+  FLD (f_d12) = f_d12;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftira", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_GRi) = f_GRi;
+      FLD (out_h_spr_USI_1) = 1;
+      FLD (out_h_spr_USI_768) = 768;
+      FLD (out_h_spr_USI_769) = 769;
+      FLD (out_h_spr_USI_770) = 770;
+      FLD (out_h_spr_USI_771) = 771;
+    }
+#endif
 #undef FLD
     return idesc;
   }
@@ -6959,7 +8232,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ftine:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_ftine.f
     UINT f_FCCi_2;
     UINT f_GRi;
@@ -6967,7 +8240,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FCCi_2 = EXTRACT_LSB0_UINT (insn, 32, 26, 2);
     f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_d12 = EXTRACT_LSB0_INT (insn, 32, 11, 12);
+    f_d12 = EXTRACT_LSB0_SINT (insn, 32, 11, 12);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FCCi_2) = f_FCCi_2;
@@ -7015,7 +8288,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_andcr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_andcr.f
     UINT f_CRk;
     UINT f_CRi;
@@ -7047,7 +8320,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_notcr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_andcr.f
     UINT f_CRk;
     UINT f_CRj;
@@ -7075,7 +8348,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ckra:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cckeq.f
     SI f_CRj_int;
 
@@ -7099,7 +8372,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ckeq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cckeq.f
     SI f_CRj_int;
     UINT f_ICCi_3;
@@ -7127,7 +8400,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fckra:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfckne.f
     UINT f_CRj_float;
 
@@ -7151,7 +8424,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fckne:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfckne.f
     UINT f_CRj_float;
     UINT f_FCCi_3;
@@ -7179,7 +8452,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cckra:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cckeq.f
     SI f_CRj_int;
     UINT f_CCi;
@@ -7210,7 +8483,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cckeq:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cckeq.f
     SI f_CRj_int;
     UINT f_CCi;
@@ -7245,7 +8518,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfckra:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfckne.f
     UINT f_CRj_float;
     UINT f_CCi;
@@ -7276,7 +8549,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfckne:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfckne.f
     UINT f_CRj_float;
     UINT f_CCi;
@@ -7311,7 +8584,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cjmpl:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cjmpl.f
     UINT f_LI;
     UINT f_GRi;
@@ -7333,6 +8606,44 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   FLD (f_cond) = f_cond;
   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cjmpl", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, "f_cond 0x%x", 'x', f_cond, (char *) 0));
 
+#if WITH_PROFILE_MODEL_P
+  /* Record the fields for profiling.  */
+  if (PROFILE_MODEL_P (current_cpu))
+    {
+      FLD (in_CCi) = f_CCi;
+      FLD (in_GRi) = f_GRi;
+      FLD (in_GRj) = f_GRj;
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_ccalll:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_cjmpl.f
+    UINT f_LI;
+    UINT f_GRi;
+    UINT f_CCi;
+    UINT f_cond;
+    UINT f_GRj;
+
+    f_LI = EXTRACT_LSB0_UINT (insn, 32, 25, 1);
+    f_GRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_CCi = EXTRACT_LSB0_UINT (insn, 32, 11, 3);
+    f_cond = EXTRACT_LSB0_UINT (insn, 32, 8, 1);
+    f_GRj = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_CCi) = f_CCi;
+  FLD (f_GRi) = f_GRi;
+  FLD (f_GRj) = f_GRj;
+  FLD (f_LI) = f_LI;
+  FLD (f_cond) = f_cond;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ccalll", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+
 #if WITH_PROFILE_MODEL_P
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
@@ -7349,7 +8660,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_ici:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_icpl.f
     UINT f_GRi;
     UINT f_GRj;
@@ -7377,7 +8688,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_icei:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_icei.f
     UINT f_ae;
     UINT f_GRi;
@@ -7408,7 +8719,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_icpl:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_icpl.f
     UINT f_lock;
     UINT f_GRi;
@@ -7439,7 +8750,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_icul:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_jmpil.f
     UINT f_GRi;
 
@@ -7463,7 +8774,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_clrgr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_swapi.f
     UINT f_GRk;
 
@@ -7487,7 +8798,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_clrfr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
 
@@ -7511,7 +8822,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_commitgr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_setlos.f
     UINT f_GRk;
 
@@ -7528,7 +8839,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_commitfr:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhsethis.f
     UINT f_FRk;
 
@@ -7545,7 +8856,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fitos:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fditos.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7573,7 +8884,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fstoi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdstoi.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7601,7 +8912,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fitod:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fitod.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7629,7 +8940,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fdtoi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdtoi.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7657,7 +8968,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fditos:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fditos.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7675,9 +8986,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRk) = f_FRk;
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -7687,7 +8998,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fdstoi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdstoi.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7705,9 +9016,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -7717,7 +9028,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfitos:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfitos.f
     UINT f_FRk;
     UINT f_CCi;
@@ -7752,7 +9063,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfstoi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfstoi.f
     UINT f_FRk;
     UINT f_CCi;
@@ -7787,7 +9098,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nfitos:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fditos.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7815,7 +9126,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nfstoi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdstoi.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7843,7 +9154,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fmovs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7871,7 +9182,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fmovd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fmaddd.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7899,7 +9210,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fdmovs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdmadds.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7917,9 +9228,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRk) = f_FRk;
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -7929,7 +9240,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfmovs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_CCi;
@@ -7964,7 +9275,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nfsqrts:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRj;
@@ -7992,7 +9303,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8024,7 +9335,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_faddd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fmaddd.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8056,7 +9367,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8095,7 +9406,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nfadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8127,7 +9438,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fcmps:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfcmps.f
     UINT f_FCCi_2;
     UINT f_FRi;
@@ -8159,7 +9470,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fcmpd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fcmpd.f
     UINT f_FCCi_2;
     UINT f_FRi;
@@ -8191,7 +9502,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfcmps:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfcmps.f
     UINT f_FCCi_2;
     UINT f_FRi;
@@ -8230,7 +9541,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fdcmps:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_nfdcmps.f
     UINT f_FCCi_2;
     UINT f_FRi;
@@ -8252,10 +9563,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRi) = f_FRi;
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FCCi_2) = f_FCCi_2;
-      FLD (out_h_fccr_UQI_add__DFLT_index_of__DFLT_FCCi_2_1) = ((FLD (f_FCCi_2)) + (1));
+      FLD (out_h_fccr_UQI_add__INT_index_of__INT_FCCi_2_1) = ((FLD (f_FCCi_2)) + (1));
     }
 #endif
 #undef FLD
@@ -8265,7 +9576,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fmadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8298,7 +9609,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fmaddd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fmaddd.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8331,7 +9642,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fdmadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8354,11 +9665,11 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_FRi) = f_FRi;
       FLD (in_FRj) = f_FRj;
       FLD (in_FRk) = f_FRk;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
       FLD (out_FRk) = f_FRk;
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -8368,7 +9679,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfmadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8408,7 +9719,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nfmadds:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8441,7 +9752,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fmas:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdmadds.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8463,10 +9774,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRi) = f_FRi;
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRk) = f_FRk;
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -8476,7 +9787,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_fdmas:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_fdmas.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8498,16 +9809,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRi) = f_FRi;
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_2) = ((FLD (f_FRi)) + (2));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_3) = ((FLD (f_FRi)) + (3));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_2) = ((FLD (f_FRj)) + (2));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_3) = ((FLD (f_FRj)) + (3));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_2) = ((FLD (f_FRi)) + (2));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_3) = ((FLD (f_FRi)) + (3));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_2) = ((FLD (f_FRj)) + (2));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_3) = ((FLD (f_FRj)) + (3));
       FLD (out_FRk) = f_FRk;
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_3) = ((FLD (f_FRk)) + (3));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_3) = ((FLD (f_FRk)) + (3));
     }
 #endif
 #undef FLD
@@ -8517,7 +9828,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cfmas:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cfmas.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8546,10 +9857,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRi) = f_FRi;
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRk) = f_FRk;
-      FLD (out_h_fr_SF_add__DFLT_index_of__DFLT_FRk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_SF_add__INT_index_of__INT_FRk_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -8559,7 +9870,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_nfdcmps:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_nfdcmps.f
     UINT f_FRk;
     UINT f_FCCi_2;
@@ -8584,10 +9895,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRi) = f_FRi;
       FLD (in_FRj) = f_FRj;
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRi_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_SF_add__DFLT_index_of__DFLT_FRj_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRi_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_SF_add__INT_index_of__INT_FRj_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FCCi_2) = f_FCCi_2;
-      FLD (out_h_fccr_UQI_add__DFLT_index_of__DFLT_FCCi_2_1) = ((FLD (f_FCCi_2)) + (1));
+      FLD (out_h_fccr_UQI_add__INT_index_of__INT_FCCi_2_1) = ((FLD (f_FCCi_2)) + (1));
     }
 #endif
 #undef FLD
@@ -8597,7 +9908,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhsetlos:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhsetlos.f
     UINT f_FRk;
     INT f_u12_h;
@@ -8605,7 +9916,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     INT f_u12;
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_u12_h = EXTRACT_LSB0_INT (insn, 32, 17, 6);
+    f_u12_h = EXTRACT_LSB0_SINT (insn, 32, 17, 6);
     f_u12_l = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
 {
   f_u12 = ((((f_u12_h) << (6))) | (f_u12_l));
@@ -8630,7 +9941,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhsethis:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhsethis.f
     UINT f_FRk;
     INT f_u12_h;
@@ -8638,7 +9949,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     INT f_u12;
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_u12_h = EXTRACT_LSB0_INT (insn, 32, 17, 6);
+    f_u12_h = EXTRACT_LSB0_SINT (insn, 32, 17, 6);
     f_u12_l = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
 {
   f_u12 = ((((f_u12_h) << (6))) | (f_u12_l));
@@ -8663,7 +9974,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhdsets:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhdsets.f
     UINT f_FRk;
     INT f_u12_h;
@@ -8671,7 +9982,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     INT f_u12;
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_u12_h = EXTRACT_LSB0_INT (insn, 32, 17, 6);
+    f_u12_h = EXTRACT_LSB0_SINT (insn, 32, 17, 6);
     f_u12_l = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
 {
   f_u12 = ((((f_u12_h) << (6))) | (f_u12_l));
@@ -8688,8 +9999,8 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintk) = f_FRk;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -8699,13 +10010,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhsetloh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhsetloh.f
     UINT f_FRk;
     INT f_s5;
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_s5 = EXTRACT_LSB0_INT (insn, 32, 4, 5);
+    f_s5 = EXTRACT_LSB0_SINT (insn, 32, 4, 5);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FRk) = f_FRk;
@@ -8727,13 +10038,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhsethih:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhsethih.f
     UINT f_FRk;
     INT f_s5;
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_s5 = EXTRACT_LSB0_INT (insn, 32, 4, 5);
+    f_s5 = EXTRACT_LSB0_SINT (insn, 32, 4, 5);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FRk) = f_FRk;
@@ -8755,13 +10066,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhdseth:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mhdseth.f
     UINT f_FRk;
     INT f_s5;
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
-    f_s5 = EXTRACT_LSB0_INT (insn, 32, 4, 5);
+    f_s5 = EXTRACT_LSB0_SINT (insn, 32, 4, 5);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FRk) = f_FRk;
@@ -8773,11 +10084,11 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -8787,7 +10098,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mand:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mwcut.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8819,7 +10130,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmand:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmand.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8858,7 +10169,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mnot:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mcut.f
     UINT f_FRk;
     UINT f_FRj;
@@ -8886,7 +10197,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmnot:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmand.f
     UINT f_FRk;
     UINT f_CCi;
@@ -8921,7 +10232,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mrotli:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mwcuti.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8952,7 +10263,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mwcut:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mwcut.f
     UINT f_FRk;
     UINT f_FRi;
@@ -8974,7 +10285,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRinti_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRinti_1) = ((FLD (f_FRi)) + (1));
       FLD (out_FRintk) = f_FRk;
     }
 #endif
@@ -8985,7 +10296,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mwcuti:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mwcuti.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9006,7 +10317,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRinti) = f_FRi;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRinti_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRinti_1) = ((FLD (f_FRi)) + (1));
       FLD (out_FRintk) = f_FRk;
     }
 #endif
@@ -9017,7 +10328,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mcut:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mcut.f
     UINT f_FRk;
     UINT f_ACC40Si;
@@ -9049,7 +10360,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mcuti:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mcuti.f
     UINT f_FRk;
     UINT f_ACC40Si;
@@ -9057,7 +10368,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_s6 = EXTRACT_LSB0_INT (insn, 32, 5, 6);
+    f_s6 = EXTRACT_LSB0_SINT (insn, 32, 5, 6);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_ACC40Si) = f_ACC40Si;
@@ -9080,7 +10391,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mdcutssi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdcutssi.f
     UINT f_FRk;
     UINT f_ACC40Si;
@@ -9088,7 +10399,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_ACC40Si = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_s6 = EXTRACT_LSB0_INT (insn, 32, 5, 6);
+    f_s6 = EXTRACT_LSB0_SINT (insn, 32, 5, 6);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_ACC40Si) = f_ACC40Si;
@@ -9101,9 +10412,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_ACC40Si) = f_ACC40Si;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -9113,7 +10424,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_msllhi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_msllhi.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9135,12 +10446,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
       FLD (out_FRinti) = f_FRi;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -9150,7 +10461,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mdrotli:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdrotli.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9158,7 +10469,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
 
     f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
     f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
-    f_s6 = EXTRACT_LSB0_INT (insn, 32, 5, 6);
+    f_s6 = EXTRACT_LSB0_SINT (insn, 32, 5, 6);
 
   /* Record the fields for the semantic handler.  */
   FLD (f_FRi) = f_FRi;
@@ -9171,9 +10482,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRintieven) = f_FRi;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_int_USI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_int_USI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -9183,7 +10494,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mcplhi:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mcplhi.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9205,11 +10516,11 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_1) = ((FLD (f_FRi)) + (1));
       FLD (out_FRinti) = f_FRi;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -9219,7 +10530,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mcpli:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mwcuti.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9240,7 +10551,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRinti) = f_FRi;
-      FLD (in_h_fr_int_USI_add__DFLT_index_of__DFLT_FRinti_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_int_USI_add__INT_index_of__INT_FRinti_1) = ((FLD (f_FRi)) + (1));
       FLD (out_FRintk) = f_FRk;
     }
 #endif
@@ -9251,7 +10562,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_msaths:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmaddhss.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9273,12 +10584,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -9288,7 +10599,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mqsaths:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqaddhss.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9311,19 +10622,19 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -9333,7 +10644,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mcmpsh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mcmpsh.f
     UINT f_FCCk;
     UINT f_FRi;
@@ -9355,12 +10666,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_FCCk) = f_FCCk;
-      FLD (out_h_fccr_UQI_add__DFLT_index_of__DFLT_FCCk_1) = ((FLD (f_FCCk)) + (1));
+      FLD (out_h_fccr_UQI_add__INT_index_of__INT_FCCk_1) = ((FLD (f_FCCk)) + (1));
     }
 #endif
 #undef FLD
@@ -9370,7 +10681,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mabshs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mabshs.f
     UINT f_FRk;
     UINT f_FRj;
@@ -9389,12 +10700,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintj) = f_FRj;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_FRintj) = f_FRj;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -9404,7 +10715,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmaddhss:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmaddhss.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9433,12 +10744,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -9448,7 +10759,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmqaddhss:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqaddhss.f
     UINT f_FRk;
     UINT f_FRi;
@@ -9478,19 +10789,60 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (out_FRintkeven) = f_FRk;
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+    }
+#endif
+#undef FLD
+    return idesc;
+  }
+
+ extract_sfmt_mqsllhi:
+  {
+    const IDESC *idesc = &frvbf_insn_data[itype];
+    CGEN_INSN_WORD insn = entire_insn;
+#define FLD(f) abuf->fields.sfmt_mqsllhi.f
+    UINT f_FRk;
+    UINT f_FRi;
+    UINT f_u6;
+
+    f_FRk = EXTRACT_LSB0_UINT (insn, 32, 30, 6);
+    f_FRi = EXTRACT_LSB0_UINT (insn, 32, 17, 6);
+    f_u6 = EXTRACT_LSB0_UINT (insn, 32, 5, 6);
+
+  /* Record the fields for the semantic handler.  */
+  FLD (f_FRi) = f_FRi;
+  FLD (f_FRk) = f_FRk;
+  FLD (f_u6) = f_u6;
+  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqsllhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "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_FRintieven) = f_FRi;
+      FLD (in_FRintkeven) = f_FRk;
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (out_FRintieven) = f_FRi;
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -9500,7 +10852,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_maddaccs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdasaccs.f
     UINT f_ACC40Sk;
     UINT f_ACC40Si;
@@ -9518,7 +10870,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_ACC40Si) = f_ACC40Si;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
     }
 #endif
@@ -9529,7 +10881,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mdaddaccs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdasaccs.f
     UINT f_ACC40Sk;
     UINT f_ACC40Si;
@@ -9547,11 +10899,11 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_ACC40Si) = f_ACC40Si;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_2) = ((FLD (f_ACC40Si)) + (2));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_3) = ((FLD (f_ACC40Si)) + (3));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_2) = ((FLD (f_ACC40Si)) + (2));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_3) = ((FLD (f_ACC40Si)) + (3));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -9561,7 +10913,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_masaccs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdasaccs.f
     UINT f_ACC40Sk;
     UINT f_ACC40Si;
@@ -9579,9 +10931,9 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_ACC40Si) = f_ACC40Si;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -9591,7 +10943,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mdasaccs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdasaccs.f
     UINT f_ACC40Sk;
     UINT f_ACC40Si;
@@ -9609,13 +10961,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_ACC40Si) = f_ACC40Si;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_2) = ((FLD (f_ACC40Si)) + (2));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Si_3) = ((FLD (f_ACC40Si)) + (3));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_1) = ((FLD (f_ACC40Si)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_2) = ((FLD (f_ACC40Si)) + (2));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Si_3) = ((FLD (f_ACC40Si)) + (3));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
     }
 #endif
 #undef FLD
@@ -9625,7 +10977,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mmulhs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9647,12 +10999,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -9662,7 +11014,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmmulhs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9691,12 +11043,12 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -9706,7 +11058,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mqmulhs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9728,18 +11080,18 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
     }
 #endif
 #undef FLD
@@ -9749,7 +11101,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmqmulhs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9778,18 +11130,18 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
     }
 #endif
 #undef FLD
@@ -9799,7 +11151,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mmachs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9822,13 +11174,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_ACC40Sk) = f_ACC40Sk;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -9838,7 +11190,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mmachu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachu.f
     UINT f_ACC40Uk;
     UINT f_FRi;
@@ -9861,13 +11213,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_ACC40Uk) = f_ACC40Uk;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Uk) = f_ACC40Uk;
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
     }
 #endif
 #undef FLD
@@ -9877,7 +11229,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmmachs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9907,13 +11259,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -9923,7 +11275,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmmachu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachu.f
     UINT f_ACC40Uk;
     UINT f_FRi;
@@ -9953,13 +11305,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Uk) = f_ACC40Uk;
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
     }
 #endif
 #undef FLD
@@ -9969,7 +11321,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mqmachs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -9992,21 +11344,21 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_ACC40Sk) = f_ACC40Sk;
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
     }
 #endif
 #undef FLD
@@ -10016,7 +11368,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mqmachu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachu.f
     UINT f_ACC40Uk;
     UINT f_FRi;
@@ -10039,21 +11391,21 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_ACC40Uk) = f_ACC40Uk;
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Uk) = f_ACC40Uk;
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
     }
 #endif
 #undef FLD
@@ -10063,7 +11415,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmqmachs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -10093,21 +11445,21 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (in_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (in_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_2) = ((FLD (f_ACC40Sk)) + (2));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_3) = ((FLD (f_ACC40Sk)) + (3));
     }
 #endif
 #undef FLD
@@ -10117,7 +11469,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmqmachu:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachu.f
     UINT f_ACC40Uk;
     UINT f_FRi;
@@ -10147,21 +11499,21 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
-      FLD (in_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
+      FLD (in_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Uk) = f_ACC40Uk;
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
-      FLD (out_h_acc40U_UDI_add__DFLT_index_of__DFLT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_1) = ((FLD (f_ACC40Uk)) + (1));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_2) = ((FLD (f_ACC40Uk)) + (2));
+      FLD (out_h_acc40U_UDI_add__INT_index_of__INT_ACC40Uk_3) = ((FLD (f_ACC40Uk)) + (3));
     }
 #endif
 #undef FLD
@@ -10171,7 +11523,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mcpxrs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -10193,10 +11545,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Sk) = f_ACC40Sk;
     }
 #endif
@@ -10207,7 +11559,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmcpxrs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -10236,10 +11588,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintj) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_ACC40Sk) = f_ACC40Sk;
     }
 #endif
@@ -10250,7 +11602,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mqcpxrs:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmqmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -10272,16 +11624,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_ACC40Sk) = f_ACC40Sk;
-      FLD (out_h_acc40S_DI_add__DFLT_index_of__DFLT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
+      FLD (out_h_acc40S_DI_add__INT_index_of__INT_ACC40Sk_1) = ((FLD (f_ACC40Sk)) + (1));
     }
 #endif
 #undef FLD
@@ -10291,7 +11643,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mexpdhw:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmexpdhw.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10311,10 +11663,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -10324,7 +11676,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmexpdhw:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmexpdhw.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10351,10 +11703,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_CCi) = f_CCi;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -10364,7 +11716,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mexpdhd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmexpdhd.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10385,13 +11737,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   if (PROFILE_MODEL_P (current_cpu))
     {
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -10401,7 +11753,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmexpdhd:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmexpdhd.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10429,13 +11781,13 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -10445,7 +11797,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mpackh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmaddhss.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10465,10 +11817,10 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
   /* Record the fields for profiling.  */
   if (PROFILE_MODEL_P (current_cpu))
     {
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -10478,7 +11830,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mdpackh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdpackh.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10501,17 +11853,17 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintjeven) = f_FRj;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRintieven) = f_FRi;
       FLD (out_FRintjeven) = f_FRj;
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -10521,7 +11873,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_munpackh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_munpackh.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10540,14 +11892,14 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRinti) = f_FRi;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRinti_0) = ((FLD (f_FRi)) + (0));
       FLD (out_FRinti) = f_FRi;
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_add__DFLT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_add__DFLT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_add__INT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_add__INT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
     }
 #endif
 #undef FLD
@@ -10557,7 +11909,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mdunpackh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdunpackh.f
     UINT f_FRk;
     UINT f_FRi;
@@ -10576,20 +11928,20 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintieven) = f_FRi;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_0) = ((FLD (f_FRi)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_0) = ((FLD (f_FRi)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintieven_1) = ((FLD (f_FRi)) + (1));
       FLD (out_FRintieven) = f_FRi;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_2_1) = ((FLD (f_FRk)) + (((2) + (1))));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_add__DFLT_2_1) = ((FLD (f_FRk)) + (((2) + (1))));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_add__INT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_add__INT_2_1) = ((FLD (f_FRk)) + (((2) + (1))));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_add__INT_0_1) = ((FLD (f_FRk)) + (((0) + (1))));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_add__INT_2_1) = ((FLD (f_FRk)) + (((2) + (1))));
     }
 #endif
 #undef FLD
@@ -10599,7 +11951,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mbtoh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmbtoh.f
     UINT f_FRk;
     UINT f_FRj;
@@ -10618,16 +11970,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintj) = f_FRj;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_0_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_1_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_2_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_3_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_FRintj) = f_FRj;
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -10637,7 +11989,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmbtoh:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmbtoh.f
     UINT f_FRk;
     UINT f_CCi;
@@ -10663,16 +12015,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintj) = f_FRj;
       FLD (in_FRintkeven) = f_FRk;
-      FLD (in_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_0_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_1_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_2_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_3_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_FRintj) = f_FRj;
       FLD (out_FRintkeven) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintkeven_1) = ((FLD (f_FRk)) + (1));
     }
 #endif
 #undef FLD
@@ -10682,7 +12034,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mhtob:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmhtob.f
     UINT f_FRk;
     UINT f_FRj;
@@ -10701,16 +12053,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintjeven) = f_FRj;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRintjeven) = f_FRj;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_0_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_1_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_2_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_3_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -10720,7 +12072,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmhtob:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmhtob.f
     UINT f_FRk;
     UINT f_CCi;
@@ -10746,16 +12098,16 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintjeven) = f_FRj;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_hi_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_lo_UHI_add__INT_index_of__INT_FRintjeven_1) = ((FLD (f_FRj)) + (1));
       FLD (out_FRintjeven) = f_FRj;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_0_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_1_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_2_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_3_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
     }
 #endif
 #undef FLD
@@ -10765,7 +12117,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mbtohe:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmbtohe.f
     UINT f_FRk;
     UINT f_FRj;
@@ -10784,20 +12136,20 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
     {
       FLD (in_FRintj) = f_FRj;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_0_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_1_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_2_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_3_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_FRintj) = f_FRj;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_3) = ((FLD (f_FRk)) + (3));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_3) = ((FLD (f_FRk)) + (3));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_3) = ((FLD (f_FRk)) + (3));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_3) = ((FLD (f_FRk)) + (3));
     }
 #endif
 #undef FLD
@@ -10807,7 +12159,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_cmbtohe:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmbtohe.f
     UINT f_FRk;
     UINT f_CCi;
@@ -10833,20 +12185,20 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
       FLD (in_CCi) = f_CCi;
       FLD (in_FRintj) = f_FRj;
       FLD (in_FRintk) = f_FRk;
-      FLD (in_h_fr_0_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_1_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_2_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
-      FLD (in_h_fr_3_UHI_add__DFLT_index_of__DFLT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_0_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_1_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_2_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
+      FLD (in_h_fr_3_UHI_add__INT_index_of__INT_FRintj_0) = ((FLD (f_FRj)) + (0));
       FLD (out_FRintj) = f_FRj;
       FLD (out_FRintk) = f_FRk;
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_hi_UHI_add__DFLT_index_of__DFLT_FRintk_3) = ((FLD (f_FRk)) + (3));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_0) = ((FLD (f_FRk)) + (0));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_1) = ((FLD (f_FRk)) + (1));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_2) = ((FLD (f_FRk)) + (2));
-      FLD (out_h_fr_lo_UHI_add__DFLT_index_of__DFLT_FRintk_3) = ((FLD (f_FRk)) + (3));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_hi_UHI_add__INT_index_of__INT_FRintk_3) = ((FLD (f_FRk)) + (3));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_0) = ((FLD (f_FRk)) + (0));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_1) = ((FLD (f_FRk)) + (1));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_2) = ((FLD (f_FRk)) + (2));
+      FLD (out_h_fr_lo_UHI_add__INT_index_of__INT_FRintk_3) = ((FLD (f_FRk)) + (3));
     }
 #endif
 #undef FLD
@@ -10856,7 +12208,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mclracc_0:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mdasaccs.f
     UINT f_ACC40Sk;
 
@@ -10873,7 +12225,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mrdacc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mcuti.f
     UINT f_FRk;
     UINT f_ACC40Si;
@@ -10901,7 +12253,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mrdaccg:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mrdaccg.f
     UINT f_FRk;
     UINT f_ACCGi;
@@ -10929,7 +12281,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mwtacc:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_cmmachs.f
     UINT f_ACC40Sk;
     UINT f_FRi;
@@ -10958,7 +12310,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
  extract_sfmt_mwtaccg:
   {
     const IDESC *idesc = &frvbf_insn_data[itype];
-    CGEN_INSN_INT insn = entire_insn;
+    CGEN_INSN_WORD insn = entire_insn;
 #define FLD(f) abuf->fields.sfmt_mwtaccg.f
     UINT f_ACCGk;
     UINT f_FRi;