* Makefile.in (stamp-arch): Pass FLAGS to cgen.
authorDoug Evans <dje@google.com>
Fri, 15 Jan 1999 07:27:00 +0000 (07:27 +0000)
committerDoug Evans <dje@google.com>
Fri, 15 Jan 1999 07:27:00 +0000 (07:27 +0000)
* arch.c,arch.h,cpuall.h: Regenerate.
* cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate.
* traps.c (sim_engine_invalid_insn): PCADDR->IADDR.
* cpux.c,cpux.h,decodex.c,decodex.h,modelx.c,semx-switch.c: Regenerate.

sim/m32r/ChangeLog
sim/m32r/decode.h
sim/m32r/decodex.h
sim/m32r/model.c
sim/m32r/modelx.c

index 7e29c01..c748568 100644 (file)
@@ -1,3 +1,13 @@
+1999-01-14  Doug Evans  <devans@casey.cygnus.com>
+
+       * Makefile.in (stamp-arch): Pass FLAGS to cgen.
+       * arch.c,arch.h,cpuall.h: Regenerate.
+       * cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate.
+       * traps.c (sim_engine_invalid_insn): PCADDR->IADDR.
+start-sanitize-m32rx
+       * cpux.c,cpux.h,decodex.c,decodex.h,modelx.c,semx-switch.c: Regenerate.
+end-sanitize-m32rx
+
 1999-01-11  Doug Evans  <devans@casey.cygnus.com>
 
        * Makefile.in (m32r-clean): rm eng.h.
index 5bc1508..206adb2 100644 (file)
@@ -1,8 +1,8 @@
-/* Decode header for m32r.
+/* Decode header for m32rbf.
 
-This file is machine generated with CGEN.
+THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
 
 This file is part of the GNU Simulators.
 
@@ -22,273 +22,216 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 */
 
-#ifndef M32R_DECODE_H
-#define M32R_DECODE_H
+#ifndef M32RBF_DECODE_H
+#define M32RBF_DECODE_H
 
-#define EX(fn) XCONCAT3 (m32r,_ex_,fn)
-#define SEM(fn) XCONCAT3 (m32r,_sem_,fn)
-#define SEMF(fn) XCONCAT3 (m32r,_semf_,fn)
+/* Run-time computed instruction descriptor.  */
 
-extern EXTRACT_FN EX (illegal);
-extern SEMANTIC_FN SEM (illegal);
-extern SEMANTIC_FN SEMF (illegal);
-extern EXTRACT_FN EX (fmt_0_add);
-extern EXTRACT_FN EX (fmt_1_add3);
-extern EXTRACT_FN EX (fmt_2_and3);
-extern EXTRACT_FN EX (fmt_3_or3);
-extern EXTRACT_FN EX (fmt_4_addi);
-extern EXTRACT_FN EX (fmt_5_addv);
-extern EXTRACT_FN EX (fmt_6_addv3);
-extern EXTRACT_FN EX (fmt_7_addx);
-extern EXTRACT_FN EX (fmt_8_bc8);
-extern EXTRACT_FN EX (fmt_9_bc24);
-extern EXTRACT_FN EX (fmt_10_beq);
-extern EXTRACT_FN EX (fmt_11_beqz);
-extern EXTRACT_FN EX (fmt_12_bl8);
-extern EXTRACT_FN EX (fmt_13_bl24);
-extern EXTRACT_FN EX (fmt_14_bra8);
-extern EXTRACT_FN EX (fmt_15_bra24);
-extern EXTRACT_FN EX (fmt_16_cmp);
-extern EXTRACT_FN EX (fmt_17_cmpi);
-extern EXTRACT_FN EX (fmt_18_cmpui);
-extern EXTRACT_FN EX (fmt_19_div);
-extern EXTRACT_FN EX (fmt_20_jl);
-extern EXTRACT_FN EX (fmt_21_jmp);
-extern EXTRACT_FN EX (fmt_22_ld);
-extern EXTRACT_FN EX (fmt_23_ld_d);
-extern EXTRACT_FN EX (fmt_24_ldb);
-extern EXTRACT_FN EX (fmt_25_ldb_d);
-extern EXTRACT_FN EX (fmt_26_ldh);
-extern EXTRACT_FN EX (fmt_27_ldh_d);
-extern EXTRACT_FN EX (fmt_28_ld_plus);
-extern EXTRACT_FN EX (fmt_29_ld24);
-extern EXTRACT_FN EX (fmt_30_ldi8);
-extern EXTRACT_FN EX (fmt_31_ldi16);
-extern EXTRACT_FN EX (fmt_32_lock);
-extern EXTRACT_FN EX (fmt_33_machi);
-extern EXTRACT_FN EX (fmt_34_mulhi);
-extern EXTRACT_FN EX (fmt_35_mv);
-extern EXTRACT_FN EX (fmt_36_mvfachi);
-extern EXTRACT_FN EX (fmt_37_mvfc);
-extern EXTRACT_FN EX (fmt_38_mvtachi);
-extern EXTRACT_FN EX (fmt_39_mvtc);
-extern EXTRACT_FN EX (fmt_40_nop);
-extern EXTRACT_FN EX (fmt_41_rac);
-extern EXTRACT_FN EX (fmt_42_rte);
-extern EXTRACT_FN EX (fmt_43_seth);
-extern EXTRACT_FN EX (fmt_44_sll3);
-extern EXTRACT_FN EX (fmt_45_slli);
-extern EXTRACT_FN EX (fmt_46_st);
-extern EXTRACT_FN EX (fmt_47_st_d);
-extern EXTRACT_FN EX (fmt_48_stb);
-extern EXTRACT_FN EX (fmt_49_stb_d);
-extern EXTRACT_FN EX (fmt_50_sth);
-extern EXTRACT_FN EX (fmt_51_sth_d);
-extern EXTRACT_FN EX (fmt_52_st_plus);
-extern EXTRACT_FN EX (fmt_53_trap);
-extern EXTRACT_FN EX (fmt_54_unlock);
+struct idesc {
+#if WITH_SEM_SWITCH_FULL
+#ifdef __GNUC__
+  void *sem_full_lab;
+#endif
+#else
+  SEMANTIC_FN *sem_full;
+#endif
 
-extern SEMANTIC_FN SEM (add);
-extern SEMANTIC_FN SEMF (add);
-extern SEMANTIC_FN SEM (add3);
-extern SEMANTIC_FN SEMF (add3);
-extern SEMANTIC_FN SEM (and);
-extern SEMANTIC_FN SEMF (and);
-extern SEMANTIC_FN SEM (and3);
-extern SEMANTIC_FN SEMF (and3);
-extern SEMANTIC_FN SEM (or);
-extern SEMANTIC_FN SEMF (or);
-extern SEMANTIC_FN SEM (or3);
-extern SEMANTIC_FN SEMF (or3);
-extern SEMANTIC_FN SEM (xor);
-extern SEMANTIC_FN SEMF (xor);
-extern SEMANTIC_FN SEM (xor3);
-extern SEMANTIC_FN SEMF (xor3);
-extern SEMANTIC_FN SEM (addi);
-extern SEMANTIC_FN SEMF (addi);
-extern SEMANTIC_FN SEM (addv);
-extern SEMANTIC_FN SEMF (addv);
-extern SEMANTIC_FN SEM (addv3);
-extern SEMANTIC_FN SEMF (addv3);
-extern SEMANTIC_FN SEM (addx);
-extern SEMANTIC_FN SEMF (addx);
-extern SEMANTIC_FN SEM (bc8);
-extern SEMANTIC_FN SEMF (bc8);
-extern SEMANTIC_FN SEM (bc24);
-extern SEMANTIC_FN SEMF (bc24);
-extern SEMANTIC_FN SEM (beq);
-extern SEMANTIC_FN SEMF (beq);
-extern SEMANTIC_FN SEM (beqz);
-extern SEMANTIC_FN SEMF (beqz);
-extern SEMANTIC_FN SEM (bgez);
-extern SEMANTIC_FN SEMF (bgez);
-extern SEMANTIC_FN SEM (bgtz);
-extern SEMANTIC_FN SEMF (bgtz);
-extern SEMANTIC_FN SEM (blez);
-extern SEMANTIC_FN SEMF (blez);
-extern SEMANTIC_FN SEM (bltz);
-extern SEMANTIC_FN SEMF (bltz);
-extern SEMANTIC_FN SEM (bnez);
-extern SEMANTIC_FN SEMF (bnez);
-extern SEMANTIC_FN SEM (bl8);
-extern SEMANTIC_FN SEMF (bl8);
-extern SEMANTIC_FN SEM (bl24);
-extern SEMANTIC_FN SEMF (bl24);
-extern SEMANTIC_FN SEM (bnc8);
-extern SEMANTIC_FN SEMF (bnc8);
-extern SEMANTIC_FN SEM (bnc24);
-extern SEMANTIC_FN SEMF (bnc24);
-extern SEMANTIC_FN SEM (bne);
-extern SEMANTIC_FN SEMF (bne);
-extern SEMANTIC_FN SEM (bra8);
-extern SEMANTIC_FN SEMF (bra8);
-extern SEMANTIC_FN SEM (bra24);
-extern SEMANTIC_FN SEMF (bra24);
-extern SEMANTIC_FN SEM (cmp);
-extern SEMANTIC_FN SEMF (cmp);
-extern SEMANTIC_FN SEM (cmpi);
-extern SEMANTIC_FN SEMF (cmpi);
-extern SEMANTIC_FN SEM (cmpu);
-extern SEMANTIC_FN SEMF (cmpu);
-extern SEMANTIC_FN SEM (cmpui);
-extern SEMANTIC_FN SEMF (cmpui);
-extern SEMANTIC_FN SEM (div);
-extern SEMANTIC_FN SEMF (div);
-extern SEMANTIC_FN SEM (divu);
-extern SEMANTIC_FN SEMF (divu);
-extern SEMANTIC_FN SEM (rem);
-extern SEMANTIC_FN SEMF (rem);
-extern SEMANTIC_FN SEM (remu);
-extern SEMANTIC_FN SEMF (remu);
-extern SEMANTIC_FN SEM (jl);
-extern SEMANTIC_FN SEMF (jl);
-extern SEMANTIC_FN SEM (jmp);
-extern SEMANTIC_FN SEMF (jmp);
-extern SEMANTIC_FN SEM (ld);
-extern SEMANTIC_FN SEMF (ld);
-extern SEMANTIC_FN SEM (ld_d);
-extern SEMANTIC_FN SEMF (ld_d);
-extern SEMANTIC_FN SEM (ldb);
-extern SEMANTIC_FN SEMF (ldb);
-extern SEMANTIC_FN SEM (ldb_d);
-extern SEMANTIC_FN SEMF (ldb_d);
-extern SEMANTIC_FN SEM (ldh);
-extern SEMANTIC_FN SEMF (ldh);
-extern SEMANTIC_FN SEM (ldh_d);
-extern SEMANTIC_FN SEMF (ldh_d);
-extern SEMANTIC_FN SEM (ldub);
-extern SEMANTIC_FN SEMF (ldub);
-extern SEMANTIC_FN SEM (ldub_d);
-extern SEMANTIC_FN SEMF (ldub_d);
-extern SEMANTIC_FN SEM (lduh);
-extern SEMANTIC_FN SEMF (lduh);
-extern SEMANTIC_FN SEM (lduh_d);
-extern SEMANTIC_FN SEMF (lduh_d);
-extern SEMANTIC_FN SEM (ld_plus);
-extern SEMANTIC_FN SEMF (ld_plus);
-extern SEMANTIC_FN SEM (ld24);
-extern SEMANTIC_FN SEMF (ld24);
-extern SEMANTIC_FN SEM (ldi8);
-extern SEMANTIC_FN SEMF (ldi8);
-extern SEMANTIC_FN SEM (ldi16);
-extern SEMANTIC_FN SEMF (ldi16);
-extern SEMANTIC_FN SEM (lock);
-extern SEMANTIC_FN SEMF (lock);
-extern SEMANTIC_FN SEM (machi);
-extern SEMANTIC_FN SEMF (machi);
-extern SEMANTIC_FN SEM (maclo);
-extern SEMANTIC_FN SEMF (maclo);
-extern SEMANTIC_FN SEM (macwhi);
-extern SEMANTIC_FN SEMF (macwhi);
-extern SEMANTIC_FN SEM (macwlo);
-extern SEMANTIC_FN SEMF (macwlo);
-extern SEMANTIC_FN SEM (mul);
-extern SEMANTIC_FN SEMF (mul);
-extern SEMANTIC_FN SEM (mulhi);
-extern SEMANTIC_FN SEMF (mulhi);
-extern SEMANTIC_FN SEM (mullo);
-extern SEMANTIC_FN SEMF (mullo);
-extern SEMANTIC_FN SEM (mulwhi);
-extern SEMANTIC_FN SEMF (mulwhi);
-extern SEMANTIC_FN SEM (mulwlo);
-extern SEMANTIC_FN SEMF (mulwlo);
-extern SEMANTIC_FN SEM (mv);
-extern SEMANTIC_FN SEMF (mv);
-extern SEMANTIC_FN SEM (mvfachi);
-extern SEMANTIC_FN SEMF (mvfachi);
-extern SEMANTIC_FN SEM (mvfaclo);
-extern SEMANTIC_FN SEMF (mvfaclo);
-extern SEMANTIC_FN SEM (mvfacmi);
-extern SEMANTIC_FN SEMF (mvfacmi);
-extern SEMANTIC_FN SEM (mvfc);
-extern SEMANTIC_FN SEMF (mvfc);
-extern SEMANTIC_FN SEM (mvtachi);
-extern SEMANTIC_FN SEMF (mvtachi);
-extern SEMANTIC_FN SEM (mvtaclo);
-extern SEMANTIC_FN SEMF (mvtaclo);
-extern SEMANTIC_FN SEM (mvtc);
-extern SEMANTIC_FN SEMF (mvtc);
-extern SEMANTIC_FN SEM (neg);
-extern SEMANTIC_FN SEMF (neg);
-extern SEMANTIC_FN SEM (nop);
-extern SEMANTIC_FN SEMF (nop);
-extern SEMANTIC_FN SEM (not);
-extern SEMANTIC_FN SEMF (not);
-extern SEMANTIC_FN SEM (rac);
-extern SEMANTIC_FN SEMF (rac);
-extern SEMANTIC_FN SEM (rach);
-extern SEMANTIC_FN SEMF (rach);
-extern SEMANTIC_FN SEM (rte);
-extern SEMANTIC_FN SEMF (rte);
-extern SEMANTIC_FN SEM (seth);
-extern SEMANTIC_FN SEMF (seth);
-extern SEMANTIC_FN SEM (sll);
-extern SEMANTIC_FN SEMF (sll);
-extern SEMANTIC_FN SEM (sll3);
-extern SEMANTIC_FN SEMF (sll3);
-extern SEMANTIC_FN SEM (slli);
-extern SEMANTIC_FN SEMF (slli);
-extern SEMANTIC_FN SEM (sra);
-extern SEMANTIC_FN SEMF (sra);
-extern SEMANTIC_FN SEM (sra3);
-extern SEMANTIC_FN SEMF (sra3);
-extern SEMANTIC_FN SEM (srai);
-extern SEMANTIC_FN SEMF (srai);
-extern SEMANTIC_FN SEM (srl);
-extern SEMANTIC_FN SEMF (srl);
-extern SEMANTIC_FN SEM (srl3);
-extern SEMANTIC_FN SEMF (srl3);
-extern SEMANTIC_FN SEM (srli);
-extern SEMANTIC_FN SEMF (srli);
-extern SEMANTIC_FN SEM (st);
-extern SEMANTIC_FN SEMF (st);
-extern SEMANTIC_FN SEM (st_d);
-extern SEMANTIC_FN SEMF (st_d);
-extern SEMANTIC_FN SEM (stb);
-extern SEMANTIC_FN SEMF (stb);
-extern SEMANTIC_FN SEM (stb_d);
-extern SEMANTIC_FN SEMF (stb_d);
-extern SEMANTIC_FN SEM (sth);
-extern SEMANTIC_FN SEMF (sth);
-extern SEMANTIC_FN SEM (sth_d);
-extern SEMANTIC_FN SEMF (sth_d);
-extern SEMANTIC_FN SEM (st_plus);
-extern SEMANTIC_FN SEMF (st_plus);
-extern SEMANTIC_FN SEM (st_minus);
-extern SEMANTIC_FN SEMF (st_minus);
-extern SEMANTIC_FN SEM (sub);
-extern SEMANTIC_FN SEMF (sub);
-extern SEMANTIC_FN SEM (subv);
-extern SEMANTIC_FN SEMF (subv);
-extern SEMANTIC_FN SEM (subx);
-extern SEMANTIC_FN SEMF (subx);
-extern SEMANTIC_FN SEM (trap);
-extern SEMANTIC_FN SEMF (trap);
-extern SEMANTIC_FN SEM (unlock);
-extern SEMANTIC_FN SEMF (unlock);
+#if WITH_SEM_SWITCH_FAST
+#ifdef __GNUC__
+  void *sem_fast_lab;
+#endif
+#else
+  SEMANTIC_FN *sem_fast;
+#endif
 
-#undef EX
+  /* Instruction number (index in IDESC table, profile table).
+     Also used to switch on in non-gcc semantic switches.  */
+  int num;
+
+  /* opcode table data */
+  const CGEN_INSN *opcode;
+
+  /* profiling/modelling support */
+  const INSN_TIMING *timing;
+};
+
+extern const IDESC *m32rbf_decode (SIM_CPU *, IADDR,
+                                  CGEN_INSN_INT, CGEN_INSN_INT,
+                                  ARGBUF *);
+
+/* Enum declaration for instructions in cpu family m32rbf.  */
+typedef enum m32rbf_insn_type {
+  M32RBF_INSN_X_INVALID, M32RBF_INSN_X_AFTER, M32RBF_INSN_X_BEFORE, M32RBF_INSN_X_CTI_CHAIN
+ , M32RBF_INSN_X_CHAIN, M32RBF_INSN_X_BEGIN, M32RBF_INSN_ADD, M32RBF_INSN_ADD3
+ , M32RBF_INSN_AND, M32RBF_INSN_AND3, M32RBF_INSN_OR, M32RBF_INSN_OR3
+ , M32RBF_INSN_XOR, M32RBF_INSN_XOR3, M32RBF_INSN_ADDI, M32RBF_INSN_ADDV
+ , M32RBF_INSN_ADDV3, M32RBF_INSN_ADDX, M32RBF_INSN_BC8, M32RBF_INSN_BC24
+ , M32RBF_INSN_BEQ, M32RBF_INSN_BEQZ, M32RBF_INSN_BGEZ, M32RBF_INSN_BGTZ
+ , M32RBF_INSN_BLEZ, M32RBF_INSN_BLTZ, M32RBF_INSN_BNEZ, M32RBF_INSN_BL8
+ , M32RBF_INSN_BL24, M32RBF_INSN_BNC8, M32RBF_INSN_BNC24, M32RBF_INSN_BNE
+ , M32RBF_INSN_BRA8, M32RBF_INSN_BRA24, M32RBF_INSN_CMP, M32RBF_INSN_CMPI
+ , M32RBF_INSN_CMPU, M32RBF_INSN_CMPUI, M32RBF_INSN_DIV, M32RBF_INSN_DIVU
+ , M32RBF_INSN_REM, M32RBF_INSN_REMU, M32RBF_INSN_JL, M32RBF_INSN_JMP
+ , M32RBF_INSN_LD, M32RBF_INSN_LD_D, M32RBF_INSN_LDB, M32RBF_INSN_LDB_D
+ , M32RBF_INSN_LDH, M32RBF_INSN_LDH_D, M32RBF_INSN_LDUB, M32RBF_INSN_LDUB_D
+ , M32RBF_INSN_LDUH, M32RBF_INSN_LDUH_D, M32RBF_INSN_LD_PLUS, M32RBF_INSN_LD24
+ , M32RBF_INSN_LDI8, M32RBF_INSN_LDI16, M32RBF_INSN_LOCK, M32RBF_INSN_MACHI
+ , M32RBF_INSN_MACLO, M32RBF_INSN_MACWHI, M32RBF_INSN_MACWLO, M32RBF_INSN_MUL
+ , M32RBF_INSN_MULHI, M32RBF_INSN_MULLO, M32RBF_INSN_MULWHI, M32RBF_INSN_MULWLO
+ , M32RBF_INSN_MV, M32RBF_INSN_MVFACHI, M32RBF_INSN_MVFACLO, M32RBF_INSN_MVFACMI
+ , M32RBF_INSN_MVFC, M32RBF_INSN_MVTACHI, M32RBF_INSN_MVTACLO, M32RBF_INSN_MVTC
+ , M32RBF_INSN_NEG, M32RBF_INSN_NOP, M32RBF_INSN_NOT, M32RBF_INSN_RAC
+ , M32RBF_INSN_RACH, M32RBF_INSN_RTE, M32RBF_INSN_SETH, M32RBF_INSN_SLL
+ , M32RBF_INSN_SLL3, M32RBF_INSN_SLLI, M32RBF_INSN_SRA, M32RBF_INSN_SRA3
+ , M32RBF_INSN_SRAI, M32RBF_INSN_SRL, M32RBF_INSN_SRL3, M32RBF_INSN_SRLI
+ , M32RBF_INSN_ST, M32RBF_INSN_ST_D, M32RBF_INSN_STB, M32RBF_INSN_STB_D
+ , M32RBF_INSN_STH, M32RBF_INSN_STH_D, M32RBF_INSN_ST_PLUS, M32RBF_INSN_ST_MINUS
+ , M32RBF_INSN_SUB, M32RBF_INSN_SUBV, M32RBF_INSN_SUBX, M32RBF_INSN_TRAP
+ , M32RBF_INSN_UNLOCK, M32RBF_INSN_MAX
+} M32RBF_INSN_TYPE;
+
+#if ! WITH_SEM_SWITCH_FULL
+#define SEMFULL(fn) extern SEMANTIC_FN CONCAT3 (m32rbf,_sem_,fn);
+#else
+#define SEMFULL(fn)
+#endif
+
+#if ! WITH_SEM_SWITCH_FAST
+#define SEMFAST(fn) extern SEMANTIC_FN CONCAT3 (m32rbf,_semf_,fn);
+#else
+#define SEMFAST(fn)
+#endif
+
+#define SEM(fn) SEMFULL (fn) SEMFAST (fn)
+
+/* The function version of the before/after handlers is always needed,
+   so we always want the SEMFULL declaration of them.  */
+extern SEMANTIC_FN CONCAT3 (m32rbf,_sem_,x_before);
+extern SEMANTIC_FN CONCAT3 (m32rbf,_sem_,x_after);
+
+SEM (x_invalid)
+SEM (x_after)
+SEM (x_before)
+SEM (x_cti_chain)
+SEM (x_chain)
+SEM (x_begin)
+SEM (add)
+SEM (add3)
+SEM (and)
+SEM (and3)
+SEM (or)
+SEM (or3)
+SEM (xor)
+SEM (xor3)
+SEM (addi)
+SEM (addv)
+SEM (addv3)
+SEM (addx)
+SEM (bc8)
+SEM (bc24)
+SEM (beq)
+SEM (beqz)
+SEM (bgez)
+SEM (bgtz)
+SEM (blez)
+SEM (bltz)
+SEM (bnez)
+SEM (bl8)
+SEM (bl24)
+SEM (bnc8)
+SEM (bnc24)
+SEM (bne)
+SEM (bra8)
+SEM (bra24)
+SEM (cmp)
+SEM (cmpi)
+SEM (cmpu)
+SEM (cmpui)
+SEM (div)
+SEM (divu)
+SEM (rem)
+SEM (remu)
+SEM (jl)
+SEM (jmp)
+SEM (ld)
+SEM (ld_d)
+SEM (ldb)
+SEM (ldb_d)
+SEM (ldh)
+SEM (ldh_d)
+SEM (ldub)
+SEM (ldub_d)
+SEM (lduh)
+SEM (lduh_d)
+SEM (ld_plus)
+SEM (ld24)
+SEM (ldi8)
+SEM (ldi16)
+SEM (lock)
+SEM (machi)
+SEM (maclo)
+SEM (macwhi)
+SEM (macwlo)
+SEM (mul)
+SEM (mulhi)
+SEM (mullo)
+SEM (mulwhi)
+SEM (mulwlo)
+SEM (mv)
+SEM (mvfachi)
+SEM (mvfaclo)
+SEM (mvfacmi)
+SEM (mvfc)
+SEM (mvtachi)
+SEM (mvtaclo)
+SEM (mvtc)
+SEM (neg)
+SEM (nop)
+SEM (not)
+SEM (rac)
+SEM (rach)
+SEM (rte)
+SEM (seth)
+SEM (sll)
+SEM (sll3)
+SEM (slli)
+SEM (sra)
+SEM (sra3)
+SEM (srai)
+SEM (srl)
+SEM (srl3)
+SEM (srli)
+SEM (st)
+SEM (st_d)
+SEM (stb)
+SEM (stb_d)
+SEM (sth)
+SEM (sth_d)
+SEM (st_plus)
+SEM (st_minus)
+SEM (sub)
+SEM (subv)
+SEM (subx)
+SEM (trap)
+SEM (unlock)
+
+#undef SEMFULL
+#undef SEMFAST
 #undef SEM
-#undef SEMF
 
-#endif /* M32R_DECODE_H */
+/* Function unit handlers (user written).  */
+
+extern int m32rbf_model_m32r_d_u_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*src1*/, INT /*src2*/);
+extern int m32rbf_model_m32r_d_u_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*sr*/, INT /*dr*/);
+extern int m32rbf_model_m32r_d_u_cti (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*sr*/);
+extern int m32rbf_model_m32r_d_u_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*src1*/, INT /*src2*/);
+extern int m32rbf_model_m32r_d_u_cmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*src1*/, INT /*src2*/);
+extern int m32rbf_model_m32r_d_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*sr*/, INT /*sr2*/, INT /*dr*/);
+extern int m32rbf_model_test_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
+
+/* Profiling before/after handlers (user written) */
+
+extern void m32rbf_model_insn_before (SIM_CPU *, int /*first_p*/);
+extern void m32rbf_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/);
+
+#endif /* M32RBF_DECODE_H */
index e8afc96..36ba4f1 100644 (file)
@@ -1,8 +1,8 @@
-/* Decode header for m32rx.
+/* Decode header for m32rxf.
 
-This file is machine generated with CGEN.
+THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
 
 This file is part of the GNU Simulators.
 
@@ -22,316 +22,545 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 */
 
-#ifndef M32RX_DECODE_H
-#define M32RX_DECODE_H
+#ifndef M32RXF_DECODE_H
+#define M32RXF_DECODE_H
 
-#define EX(fn) CONCAT3 (m32rx,_ex_,fn)
-#define SEM(fn) CONCAT3 (m32rx,_sem_,fn)
-#define SEMF(fn) CONCAT3 (m32rx,_semf_,fn)
+/* Run-time computed instruction descriptor.  */
 
-extern EXTRACT_FN EX (illegal);
-extern SEMANTIC_FN SEM (illegal);
-extern SEMANTIC_FN SEMF (illegal);
-extern EXTRACT_FN EX (fmt_0_add);
-extern EXTRACT_FN EX (fmt_1_add3);
-extern EXTRACT_FN EX (fmt_2_and3);
-extern EXTRACT_FN EX (fmt_3_or3);
-extern EXTRACT_FN EX (fmt_4_addi);
-extern EXTRACT_FN EX (fmt_5_addv);
-extern EXTRACT_FN EX (fmt_6_addv3);
-extern EXTRACT_FN EX (fmt_7_addx);
-extern EXTRACT_FN EX (fmt_8_bc8);
-extern EXTRACT_FN EX (fmt_9_bc24);
-extern EXTRACT_FN EX (fmt_10_beq);
-extern EXTRACT_FN EX (fmt_11_beqz);
-extern EXTRACT_FN EX (fmt_12_bl8);
-extern EXTRACT_FN EX (fmt_13_bl24);
-extern EXTRACT_FN EX (fmt_14_bcl8);
-extern EXTRACT_FN EX (fmt_15_bcl24);
-extern EXTRACT_FN EX (fmt_16_bra8);
-extern EXTRACT_FN EX (fmt_17_bra24);
-extern EXTRACT_FN EX (fmt_18_cmp);
-extern EXTRACT_FN EX (fmt_19_cmpi);
-extern EXTRACT_FN EX (fmt_20_cmpui);
-extern EXTRACT_FN EX (fmt_21_cmpz);
-extern EXTRACT_FN EX (fmt_22_div);
-extern EXTRACT_FN EX (fmt_23_jc);
-extern EXTRACT_FN EX (fmt_24_jl);
-extern EXTRACT_FN EX (fmt_25_jmp);
-extern EXTRACT_FN EX (fmt_26_ld);
-extern EXTRACT_FN EX (fmt_27_ld_d);
-extern EXTRACT_FN EX (fmt_28_ldb);
-extern EXTRACT_FN EX (fmt_29_ldb_d);
-extern EXTRACT_FN EX (fmt_30_ldh);
-extern EXTRACT_FN EX (fmt_31_ldh_d);
-extern EXTRACT_FN EX (fmt_32_ld_plus);
-extern EXTRACT_FN EX (fmt_33_ld24);
-extern EXTRACT_FN EX (fmt_34_ldi8);
-extern EXTRACT_FN EX (fmt_35_ldi16);
-extern EXTRACT_FN EX (fmt_36_lock);
-extern EXTRACT_FN EX (fmt_37_machi_a);
-extern EXTRACT_FN EX (fmt_38_mulhi_a);
-extern EXTRACT_FN EX (fmt_39_mv);
-extern EXTRACT_FN EX (fmt_40_mvfachi_a);
-extern EXTRACT_FN EX (fmt_41_mvfc);
-extern EXTRACT_FN EX (fmt_42_mvtachi_a);
-extern EXTRACT_FN EX (fmt_43_mvtc);
-extern EXTRACT_FN EX (fmt_44_nop);
-extern EXTRACT_FN EX (fmt_45_rac_dsi);
-extern EXTRACT_FN EX (fmt_46_rte);
-extern EXTRACT_FN EX (fmt_47_seth);
-extern EXTRACT_FN EX (fmt_48_sll3);
-extern EXTRACT_FN EX (fmt_49_slli);
-extern EXTRACT_FN EX (fmt_50_st);
-extern EXTRACT_FN EX (fmt_51_st_d);
-extern EXTRACT_FN EX (fmt_52_stb);
-extern EXTRACT_FN EX (fmt_53_stb_d);
-extern EXTRACT_FN EX (fmt_54_sth);
-extern EXTRACT_FN EX (fmt_55_sth_d);
-extern EXTRACT_FN EX (fmt_56_st_plus);
-extern EXTRACT_FN EX (fmt_57_trap);
-extern EXTRACT_FN EX (fmt_58_unlock);
-extern EXTRACT_FN EX (fmt_59_satb);
-extern EXTRACT_FN EX (fmt_60_sat);
-extern EXTRACT_FN EX (fmt_61_sadd);
-extern EXTRACT_FN EX (fmt_62_macwu1);
-extern EXTRACT_FN EX (fmt_63_msblo);
-extern EXTRACT_FN EX (fmt_64_mulwu1);
-extern EXTRACT_FN EX (fmt_65_sc);
+struct idesc {
+  /* Pointer to parallel handler if serial insn.
+     Pointer to writeback handler if parallel insn.  */
+  struct idesc *par_idesc;
 
-extern SEMANTIC_FN SEM (add);
-extern SEMANTIC_FN SEMF (add);
-extern SEMANTIC_FN SEM (add3);
-extern SEMANTIC_FN SEMF (add3);
-extern SEMANTIC_FN SEM (and);
-extern SEMANTIC_FN SEMF (and);
-extern SEMANTIC_FN SEM (and3);
-extern SEMANTIC_FN SEMF (and3);
-extern SEMANTIC_FN SEM (or);
-extern SEMANTIC_FN SEMF (or);
-extern SEMANTIC_FN SEM (or3);
-extern SEMANTIC_FN SEMF (or3);
-extern SEMANTIC_FN SEM (xor);
-extern SEMANTIC_FN SEMF (xor);
-extern SEMANTIC_FN SEM (xor3);
-extern SEMANTIC_FN SEMF (xor3);
-extern SEMANTIC_FN SEM (addi);
-extern SEMANTIC_FN SEMF (addi);
-extern SEMANTIC_FN SEM (addv);
-extern SEMANTIC_FN SEMF (addv);
-extern SEMANTIC_FN SEM (addv3);
-extern SEMANTIC_FN SEMF (addv3);
-extern SEMANTIC_FN SEM (addx);
-extern SEMANTIC_FN SEMF (addx);
-extern SEMANTIC_FN SEM (bc8);
-extern SEMANTIC_FN SEMF (bc8);
-extern SEMANTIC_FN SEM (bc24);
-extern SEMANTIC_FN SEMF (bc24);
-extern SEMANTIC_FN SEM (beq);
-extern SEMANTIC_FN SEMF (beq);
-extern SEMANTIC_FN SEM (beqz);
-extern SEMANTIC_FN SEMF (beqz);
-extern SEMANTIC_FN SEM (bgez);
-extern SEMANTIC_FN SEMF (bgez);
-extern SEMANTIC_FN SEM (bgtz);
-extern SEMANTIC_FN SEMF (bgtz);
-extern SEMANTIC_FN SEM (blez);
-extern SEMANTIC_FN SEMF (blez);
-extern SEMANTIC_FN SEM (bltz);
-extern SEMANTIC_FN SEMF (bltz);
-extern SEMANTIC_FN SEM (bnez);
-extern SEMANTIC_FN SEMF (bnez);
-extern SEMANTIC_FN SEM (bl8);
-extern SEMANTIC_FN SEMF (bl8);
-extern SEMANTIC_FN SEM (bl24);
-extern SEMANTIC_FN SEMF (bl24);
-extern SEMANTIC_FN SEM (bcl8);
-extern SEMANTIC_FN SEMF (bcl8);
-extern SEMANTIC_FN SEM (bcl24);
-extern SEMANTIC_FN SEMF (bcl24);
-extern SEMANTIC_FN SEM (bnc8);
-extern SEMANTIC_FN SEMF (bnc8);
-extern SEMANTIC_FN SEM (bnc24);
-extern SEMANTIC_FN SEMF (bnc24);
-extern SEMANTIC_FN SEM (bne);
-extern SEMANTIC_FN SEMF (bne);
-extern SEMANTIC_FN SEM (bra8);
-extern SEMANTIC_FN SEMF (bra8);
-extern SEMANTIC_FN SEM (bra24);
-extern SEMANTIC_FN SEMF (bra24);
-extern SEMANTIC_FN SEM (bncl8);
-extern SEMANTIC_FN SEMF (bncl8);
-extern SEMANTIC_FN SEM (bncl24);
-extern SEMANTIC_FN SEMF (bncl24);
-extern SEMANTIC_FN SEM (cmp);
-extern SEMANTIC_FN SEMF (cmp);
-extern SEMANTIC_FN SEM (cmpi);
-extern SEMANTIC_FN SEMF (cmpi);
-extern SEMANTIC_FN SEM (cmpu);
-extern SEMANTIC_FN SEMF (cmpu);
-extern SEMANTIC_FN SEM (cmpui);
-extern SEMANTIC_FN SEMF (cmpui);
-extern SEMANTIC_FN SEM (cmpeq);
-extern SEMANTIC_FN SEMF (cmpeq);
-extern SEMANTIC_FN SEM (cmpz);
-extern SEMANTIC_FN SEMF (cmpz);
-extern SEMANTIC_FN SEM (div);
-extern SEMANTIC_FN SEMF (div);
-extern SEMANTIC_FN SEM (divu);
-extern SEMANTIC_FN SEMF (divu);
-extern SEMANTIC_FN SEM (rem);
-extern SEMANTIC_FN SEMF (rem);
-extern SEMANTIC_FN SEM (remu);
-extern SEMANTIC_FN SEMF (remu);
-extern SEMANTIC_FN SEM (divh);
-extern SEMANTIC_FN SEMF (divh);
-extern SEMANTIC_FN SEM (jc);
-extern SEMANTIC_FN SEMF (jc);
-extern SEMANTIC_FN SEM (jnc);
-extern SEMANTIC_FN SEMF (jnc);
-extern SEMANTIC_FN SEM (jl);
-extern SEMANTIC_FN SEMF (jl);
-extern SEMANTIC_FN SEM (jmp);
-extern SEMANTIC_FN SEMF (jmp);
-extern SEMANTIC_FN SEM (ld);
-extern SEMANTIC_FN SEMF (ld);
-extern SEMANTIC_FN SEM (ld_d);
-extern SEMANTIC_FN SEMF (ld_d);
-extern SEMANTIC_FN SEM (ldb);
-extern SEMANTIC_FN SEMF (ldb);
-extern SEMANTIC_FN SEM (ldb_d);
-extern SEMANTIC_FN SEMF (ldb_d);
-extern SEMANTIC_FN SEM (ldh);
-extern SEMANTIC_FN SEMF (ldh);
-extern SEMANTIC_FN SEM (ldh_d);
-extern SEMANTIC_FN SEMF (ldh_d);
-extern SEMANTIC_FN SEM (ldub);
-extern SEMANTIC_FN SEMF (ldub);
-extern SEMANTIC_FN SEM (ldub_d);
-extern SEMANTIC_FN SEMF (ldub_d);
-extern SEMANTIC_FN SEM (lduh);
-extern SEMANTIC_FN SEMF (lduh);
-extern SEMANTIC_FN SEM (lduh_d);
-extern SEMANTIC_FN SEMF (lduh_d);
-extern SEMANTIC_FN SEM (ld_plus);
-extern SEMANTIC_FN SEMF (ld_plus);
-extern SEMANTIC_FN SEM (ld24);
-extern SEMANTIC_FN SEMF (ld24);
-extern SEMANTIC_FN SEM (ldi8);
-extern SEMANTIC_FN SEMF (ldi8);
-extern SEMANTIC_FN SEM (ldi16);
-extern SEMANTIC_FN SEMF (ldi16);
-extern SEMANTIC_FN SEM (lock);
-extern SEMANTIC_FN SEMF (lock);
-extern SEMANTIC_FN SEM (machi_a);
-extern SEMANTIC_FN SEMF (machi_a);
-extern SEMANTIC_FN SEM (maclo_a);
-extern SEMANTIC_FN SEMF (maclo_a);
-extern SEMANTIC_FN SEM (mul);
-extern SEMANTIC_FN SEMF (mul);
-extern SEMANTIC_FN SEM (mulhi_a);
-extern SEMANTIC_FN SEMF (mulhi_a);
-extern SEMANTIC_FN SEM (mullo_a);
-extern SEMANTIC_FN SEMF (mullo_a);
-extern SEMANTIC_FN SEM (mv);
-extern SEMANTIC_FN SEMF (mv);
-extern SEMANTIC_FN SEM (mvfachi_a);
-extern SEMANTIC_FN SEMF (mvfachi_a);
-extern SEMANTIC_FN SEM (mvfaclo_a);
-extern SEMANTIC_FN SEMF (mvfaclo_a);
-extern SEMANTIC_FN SEM (mvfacmi_a);
-extern SEMANTIC_FN SEMF (mvfacmi_a);
-extern SEMANTIC_FN SEM (mvfc);
-extern SEMANTIC_FN SEMF (mvfc);
-extern SEMANTIC_FN SEM (mvtachi_a);
-extern SEMANTIC_FN SEMF (mvtachi_a);
-extern SEMANTIC_FN SEM (mvtaclo_a);
-extern SEMANTIC_FN SEMF (mvtaclo_a);
-extern SEMANTIC_FN SEM (mvtc);
-extern SEMANTIC_FN SEMF (mvtc);
-extern SEMANTIC_FN SEM (neg);
-extern SEMANTIC_FN SEMF (neg);
-extern SEMANTIC_FN SEM (nop);
-extern SEMANTIC_FN SEMF (nop);
-extern SEMANTIC_FN SEM (not);
-extern SEMANTIC_FN SEMF (not);
-extern SEMANTIC_FN SEM (rac_dsi);
-extern SEMANTIC_FN SEMF (rac_dsi);
-extern SEMANTIC_FN SEM (rach_dsi);
-extern SEMANTIC_FN SEMF (rach_dsi);
-extern SEMANTIC_FN SEM (rte);
-extern SEMANTIC_FN SEMF (rte);
-extern SEMANTIC_FN SEM (seth);
-extern SEMANTIC_FN SEMF (seth);
-extern SEMANTIC_FN SEM (sll);
-extern SEMANTIC_FN SEMF (sll);
-extern SEMANTIC_FN SEM (sll3);
-extern SEMANTIC_FN SEMF (sll3);
-extern SEMANTIC_FN SEM (slli);
-extern SEMANTIC_FN SEMF (slli);
-extern SEMANTIC_FN SEM (sra);
-extern SEMANTIC_FN SEMF (sra);
-extern SEMANTIC_FN SEM (sra3);
-extern SEMANTIC_FN SEMF (sra3);
-extern SEMANTIC_FN SEM (srai);
-extern SEMANTIC_FN SEMF (srai);
-extern SEMANTIC_FN SEM (srl);
-extern SEMANTIC_FN SEMF (srl);
-extern SEMANTIC_FN SEM (srl3);
-extern SEMANTIC_FN SEMF (srl3);
-extern SEMANTIC_FN SEM (srli);
-extern SEMANTIC_FN SEMF (srli);
-extern SEMANTIC_FN SEM (st);
-extern SEMANTIC_FN SEMF (st);
-extern SEMANTIC_FN SEM (st_d);
-extern SEMANTIC_FN SEMF (st_d);
-extern SEMANTIC_FN SEM (stb);
-extern SEMANTIC_FN SEMF (stb);
-extern SEMANTIC_FN SEM (stb_d);
-extern SEMANTIC_FN SEMF (stb_d);
-extern SEMANTIC_FN SEM (sth);
-extern SEMANTIC_FN SEMF (sth);
-extern SEMANTIC_FN SEM (sth_d);
-extern SEMANTIC_FN SEMF (sth_d);
-extern SEMANTIC_FN SEM (st_plus);
-extern SEMANTIC_FN SEMF (st_plus);
-extern SEMANTIC_FN SEM (st_minus);
-extern SEMANTIC_FN SEMF (st_minus);
-extern SEMANTIC_FN SEM (sub);
-extern SEMANTIC_FN SEMF (sub);
-extern SEMANTIC_FN SEM (subv);
-extern SEMANTIC_FN SEMF (subv);
-extern SEMANTIC_FN SEM (subx);
-extern SEMANTIC_FN SEMF (subx);
-extern SEMANTIC_FN SEM (trap);
-extern SEMANTIC_FN SEMF (trap);
-extern SEMANTIC_FN SEM (unlock);
-extern SEMANTIC_FN SEMF (unlock);
-extern SEMANTIC_FN SEM (satb);
-extern SEMANTIC_FN SEMF (satb);
-extern SEMANTIC_FN SEM (sath);
-extern SEMANTIC_FN SEMF (sath);
-extern SEMANTIC_FN SEM (sat);
-extern SEMANTIC_FN SEMF (sat);
-extern SEMANTIC_FN SEM (pcmpbz);
-extern SEMANTIC_FN SEMF (pcmpbz);
-extern SEMANTIC_FN SEM (sadd);
-extern SEMANTIC_FN SEMF (sadd);
-extern SEMANTIC_FN SEM (macwu1);
-extern SEMANTIC_FN SEMF (macwu1);
-extern SEMANTIC_FN SEM (msblo);
-extern SEMANTIC_FN SEMF (msblo);
-extern SEMANTIC_FN SEM (mulwu1);
-extern SEMANTIC_FN SEMF (mulwu1);
-extern SEMANTIC_FN SEM (maclh1);
-extern SEMANTIC_FN SEMF (maclh1);
-extern SEMANTIC_FN SEM (sc);
-extern SEMANTIC_FN SEMF (sc);
-extern SEMANTIC_FN SEM (snc);
-extern SEMANTIC_FN SEMF (snc);
+#if WITH_SEM_SWITCH_FULL
+#ifdef __GNUC__
+  void *sem_full_lab;
+#endif
+#else
+  SEMANTIC_FN *sem_full;
+#endif
 
-#undef EX
+#if WITH_SEM_SWITCH_FAST
+#ifdef __GNUC__
+  void *sem_fast_lab;
+#endif
+#else
+  SEMANTIC_FN *sem_fast;
+#endif
+
+  /* Instruction number (index in IDESC table, profile table).
+     Also used to switch on in non-gcc semantic switches.  */
+  int num;
+
+  /* opcode table data */
+  const CGEN_INSN *opcode;
+
+  /* profiling/modelling support */
+  const INSN_TIMING *timing;
+};
+
+extern const IDESC *m32rxf_decode (SIM_CPU *, IADDR,
+                                  CGEN_INSN_INT, CGEN_INSN_INT,
+                                  ARGBUF *);
+
+/* Enum declaration for instructions in cpu family m32rxf.  */
+typedef enum m32rxf_insn_type {
+  M32RXF_INSN_X_INVALID, M32RXF_INSN_X_AFTER, M32RXF_INSN_X_BEFORE, M32RXF_INSN_X_CTI_CHAIN
+ , M32RXF_INSN_X_CHAIN, M32RXF_INSN_X_BEGIN, M32RXF_INSN_ADD, M32RXF_INSN_ADD3
+ , M32RXF_INSN_AND, M32RXF_INSN_AND3, M32RXF_INSN_OR, M32RXF_INSN_OR3
+ , M32RXF_INSN_XOR, M32RXF_INSN_XOR3, M32RXF_INSN_ADDI, M32RXF_INSN_ADDV
+ , M32RXF_INSN_ADDV3, M32RXF_INSN_ADDX, M32RXF_INSN_BC8, M32RXF_INSN_BC24
+ , M32RXF_INSN_BEQ, M32RXF_INSN_BEQZ, M32RXF_INSN_BGEZ, M32RXF_INSN_BGTZ
+ , M32RXF_INSN_BLEZ, M32RXF_INSN_BLTZ, M32RXF_INSN_BNEZ, M32RXF_INSN_BL8
+ , M32RXF_INSN_BL24
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_BCL8
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_BCL24
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_BNC8, M32RXF_INSN_BNC24, M32RXF_INSN_BNE, M32RXF_INSN_BRA8
+ , M32RXF_INSN_BRA24
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_BNCL8
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_BNCL24
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_CMP, M32RXF_INSN_CMPI, M32RXF_INSN_CMPU, M32RXF_INSN_CMPUI
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_CMPEQ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_CMPZ
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_DIV, M32RXF_INSN_DIVU, M32RXF_INSN_REM, M32RXF_INSN_REMU
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_DIVH
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_JC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_JNC
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_JL, M32RXF_INSN_JMP, M32RXF_INSN_LD, M32RXF_INSN_LD_D
+ , M32RXF_INSN_LDB, M32RXF_INSN_LDB_D, M32RXF_INSN_LDH, M32RXF_INSN_LDH_D
+ , M32RXF_INSN_LDUB, M32RXF_INSN_LDUB_D, M32RXF_INSN_LDUH, M32RXF_INSN_LDUH_D
+ , M32RXF_INSN_LD_PLUS, M32RXF_INSN_LD24, M32RXF_INSN_LDI8, M32RXF_INSN_LDI16
+ , M32RXF_INSN_LOCK
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MACWHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MACWLO_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_MUL
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MULHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MULLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MULWHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MULWLO_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_MV
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MVFACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MVFACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MVFACMI_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_MVFC
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MVTACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MVTACLO_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_MVTC, M32RXF_INSN_NEG, M32RXF_INSN_NOP, M32RXF_INSN_NOT
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_RAC_DSI
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_RACH_DSI
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_RTE, M32RXF_INSN_SETH, M32RXF_INSN_SLL, M32RXF_INSN_SLL3
+ , M32RXF_INSN_SLLI, M32RXF_INSN_SRA, M32RXF_INSN_SRA3, M32RXF_INSN_SRAI
+ , M32RXF_INSN_SRL, M32RXF_INSN_SRL3, M32RXF_INSN_SRLI, M32RXF_INSN_ST
+ , M32RXF_INSN_ST_D, M32RXF_INSN_STB, M32RXF_INSN_STB_D, M32RXF_INSN_STH
+ , M32RXF_INSN_STH_D, M32RXF_INSN_ST_PLUS, M32RXF_INSN_ST_MINUS, M32RXF_INSN_SUB
+ , M32RXF_INSN_SUBV, M32RXF_INSN_SUBX, M32RXF_INSN_TRAP, M32RXF_INSN_UNLOCK
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_SATB
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_SATH
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_SAT
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PCMPBZ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_SADD
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MACWU1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MSBLO
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MULWU1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_MACLH1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_SC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_SNC
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_ADD, M32RXF_INSN_WRITE_ADD, M32RXF_INSN_PAR_AND, M32RXF_INSN_WRITE_AND
+ , M32RXF_INSN_PAR_OR, M32RXF_INSN_WRITE_OR, M32RXF_INSN_PAR_XOR, M32RXF_INSN_WRITE_XOR
+ , M32RXF_INSN_PAR_ADDI, M32RXF_INSN_WRITE_ADDI, M32RXF_INSN_PAR_ADDV, M32RXF_INSN_WRITE_ADDV
+ , M32RXF_INSN_PAR_ADDX, M32RXF_INSN_WRITE_ADDX, M32RXF_INSN_PAR_BC8, M32RXF_INSN_WRITE_BC8
+ , M32RXF_INSN_PAR_BL8, M32RXF_INSN_WRITE_BL8
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_BCL8
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_BCL8
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_BNC8, M32RXF_INSN_WRITE_BNC8, M32RXF_INSN_PAR_BRA8, M32RXF_INSN_WRITE_BRA8
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_BNCL8
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_BNCL8
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_CMP, M32RXF_INSN_WRITE_CMP, M32RXF_INSN_PAR_CMPU, M32RXF_INSN_WRITE_CMPU
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_CMPEQ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_CMPEQ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_CMPZ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_CMPZ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_JC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_JC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_JNC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_JNC
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_JL, M32RXF_INSN_WRITE_JL, M32RXF_INSN_PAR_JMP, M32RXF_INSN_WRITE_JMP
+ , M32RXF_INSN_PAR_LD, M32RXF_INSN_WRITE_LD, M32RXF_INSN_PAR_LDB, M32RXF_INSN_WRITE_LDB
+ , M32RXF_INSN_PAR_LDH, M32RXF_INSN_WRITE_LDH, M32RXF_INSN_PAR_LDUB, M32RXF_INSN_WRITE_LDUB
+ , M32RXF_INSN_PAR_LDUH, M32RXF_INSN_WRITE_LDUH, M32RXF_INSN_PAR_LD_PLUS, M32RXF_INSN_WRITE_LD_PLUS
+ , M32RXF_INSN_PAR_LDI8, M32RXF_INSN_WRITE_LDI8, M32RXF_INSN_PAR_LOCK, M32RXF_INSN_WRITE_LOCK
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MACWHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MACWHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MACWLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MACWLO_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MUL, M32RXF_INSN_WRITE_MUL
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MULHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MULHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MULLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MULLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MULWHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MULWHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MULWLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MULWLO_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MV, M32RXF_INSN_WRITE_MV
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVFACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MVFACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVFACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MVFACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVFACMI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MVFACMI_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVFC, M32RXF_INSN_WRITE_MVFC
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVTACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MVTACHI_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVTACLO_A
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MVTACLO_A
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MVTC, M32RXF_INSN_WRITE_MVTC, M32RXF_INSN_PAR_NEG, M32RXF_INSN_WRITE_NEG
+ , M32RXF_INSN_PAR_NOP, M32RXF_INSN_WRITE_NOP, M32RXF_INSN_PAR_NOT, M32RXF_INSN_WRITE_NOT
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_RAC_DSI
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_RAC_DSI
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_RACH_DSI
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_RACH_DSI
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_PAR_RTE, M32RXF_INSN_WRITE_RTE, M32RXF_INSN_PAR_SLL, M32RXF_INSN_WRITE_SLL
+ , M32RXF_INSN_PAR_SLLI, M32RXF_INSN_WRITE_SLLI, M32RXF_INSN_PAR_SRA, M32RXF_INSN_WRITE_SRA
+ , M32RXF_INSN_PAR_SRAI, M32RXF_INSN_WRITE_SRAI, M32RXF_INSN_PAR_SRL, M32RXF_INSN_WRITE_SRL
+ , M32RXF_INSN_PAR_SRLI, M32RXF_INSN_WRITE_SRLI, M32RXF_INSN_PAR_ST, M32RXF_INSN_WRITE_ST
+ , M32RXF_INSN_PAR_STB, M32RXF_INSN_WRITE_STB, M32RXF_INSN_PAR_STH, M32RXF_INSN_WRITE_STH
+ , M32RXF_INSN_PAR_ST_PLUS, M32RXF_INSN_WRITE_ST_PLUS, M32RXF_INSN_PAR_ST_MINUS, M32RXF_INSN_WRITE_ST_MINUS
+ , M32RXF_INSN_PAR_SUB, M32RXF_INSN_WRITE_SUB, M32RXF_INSN_PAR_SUBV, M32RXF_INSN_WRITE_SUBV
+ , M32RXF_INSN_PAR_SUBX, M32RXF_INSN_WRITE_SUBX, M32RXF_INSN_PAR_TRAP, M32RXF_INSN_WRITE_TRAP
+ , M32RXF_INSN_PAR_UNLOCK, M32RXF_INSN_WRITE_UNLOCK
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_PCMPBZ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_PCMPBZ
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_SADD
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_SADD
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MACWU1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MACWU1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MSBLO
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MSBLO
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MULWU1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MULWU1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_MACLH1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_MACLH1
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_SC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_SC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_PAR_SNC
+/* end-sanitize-m32rx */
+/* start-sanitize-m32rx */
+ , M32RXF_INSN_WRITE_SNC
+/* end-sanitize-m32rx */
+ , M32RXF_INSN_MAX
+} M32RXF_INSN_TYPE;
+
+#if ! WITH_SEM_SWITCH_FULL
+#define SEMFULL(fn) extern SEMANTIC_FN CONCAT3 (m32rxf,_sem_,fn);
+#else
+#define SEMFULL(fn)
+#endif
+
+#if ! WITH_SEM_SWITCH_FAST
+#define SEMFAST(fn) extern SEMANTIC_FN CONCAT3 (m32rxf,_semf_,fn);
+#else
+#define SEMFAST(fn)
+#endif
+
+#define SEM(fn) SEMFULL (fn) SEMFAST (fn)
+
+/* The function version of the before/after handlers is always needed,
+   so we always want the SEMFULL declaration of them.  */
+extern SEMANTIC_FN CONCAT3 (m32rxf,_sem_,x_before);
+extern SEMANTIC_FN CONCAT3 (m32rxf,_sem_,x_after);
+
+SEM (x_invalid)
+SEM (x_after)
+SEM (x_before)
+SEM (x_cti_chain)
+SEM (x_chain)
+SEM (x_begin)
+SEM (add)
+SEM (add3)
+SEM (and)
+SEM (and3)
+SEM (or)
+SEM (or3)
+SEM (xor)
+SEM (xor3)
+SEM (addi)
+SEM (addv)
+SEM (addv3)
+SEM (addx)
+SEM (bc8)
+SEM (bc24)
+SEM (beq)
+SEM (beqz)
+SEM (bgez)
+SEM (bgtz)
+SEM (blez)
+SEM (bltz)
+SEM (bnez)
+SEM (bl8)
+SEM (bl24)
+SEM (bcl8)
+SEM (bcl24)
+SEM (bnc8)
+SEM (bnc24)
+SEM (bne)
+SEM (bra8)
+SEM (bra24)
+SEM (bncl8)
+SEM (bncl24)
+SEM (cmp)
+SEM (cmpi)
+SEM (cmpu)
+SEM (cmpui)
+SEM (cmpeq)
+SEM (cmpz)
+SEM (div)
+SEM (divu)
+SEM (rem)
+SEM (remu)
+SEM (divh)
+SEM (jc)
+SEM (jnc)
+SEM (jl)
+SEM (jmp)
+SEM (ld)
+SEM (ld_d)
+SEM (ldb)
+SEM (ldb_d)
+SEM (ldh)
+SEM (ldh_d)
+SEM (ldub)
+SEM (ldub_d)
+SEM (lduh)
+SEM (lduh_d)
+SEM (ld_plus)
+SEM (ld24)
+SEM (ldi8)
+SEM (ldi16)
+SEM (lock)
+SEM (machi_a)
+SEM (maclo_a)
+SEM (macwhi_a)
+SEM (macwlo_a)
+SEM (mul)
+SEM (mulhi_a)
+SEM (mullo_a)
+SEM (mulwhi_a)
+SEM (mulwlo_a)
+SEM (mv)
+SEM (mvfachi_a)
+SEM (mvfaclo_a)
+SEM (mvfacmi_a)
+SEM (mvfc)
+SEM (mvtachi_a)
+SEM (mvtaclo_a)
+SEM (mvtc)
+SEM (neg)
+SEM (nop)
+SEM (not)
+SEM (rac_dsi)
+SEM (rach_dsi)
+SEM (rte)
+SEM (seth)
+SEM (sll)
+SEM (sll3)
+SEM (slli)
+SEM (sra)
+SEM (sra3)
+SEM (srai)
+SEM (srl)
+SEM (srl3)
+SEM (srli)
+SEM (st)
+SEM (st_d)
+SEM (stb)
+SEM (stb_d)
+SEM (sth)
+SEM (sth_d)
+SEM (st_plus)
+SEM (st_minus)
+SEM (sub)
+SEM (subv)
+SEM (subx)
+SEM (trap)
+SEM (unlock)
+SEM (satb)
+SEM (sath)
+SEM (sat)
+SEM (pcmpbz)
+SEM (sadd)
+SEM (macwu1)
+SEM (msblo)
+SEM (mulwu1)
+SEM (maclh1)
+SEM (sc)
+SEM (snc)
+
+#undef SEMFULL
+#undef SEMFAST
 #undef SEM
-#undef SEMF
 
-#endif /* M32RX_DECODE_H */
+/* Function unit handlers (user written).  */
+
+extern int m32rxf_model_m32rx_u_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*src1*/, INT /*src2*/);
+extern int m32rxf_model_m32rx_u_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*sr*/, INT /*dr*/);
+extern int m32rxf_model_m32rx_u_cti (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*sr*/);
+extern int m32rxf_model_m32rx_u_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*src1*/, INT /*src2*/);
+extern int m32rxf_model_m32rx_u_cmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*src1*/, INT /*src2*/);
+extern int m32rxf_model_m32rx_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*sr*/, INT /*sr2*/, INT /*dr*/);
+
+/* Profiling before/after handlers (user written) */
+
+extern void m32rxf_model_insn_before (SIM_CPU *, int /*first_p*/);
+extern void m32rxf_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/);
+
+#endif /* M32RXF_DECODE_H */
index 52cb292..02382d1 100644 (file)
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
 
 This file is part of the GNU Simulators.
 
@@ -35,118 +35,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 /* Model handlers for each insn.  */
 
 static int
-model_m32r_d_x_invalid (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32r_d_x_after (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32r_d_x_before (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32r_d_x_cti_chain (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32r_d_x_chain (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32r_d_x_begin (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
 model_m32r_d_add (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -158,7 +51,7 @@ model_m32r_d_add (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -168,7 +61,8 @@ static int
 model_m32r_d_add3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -180,7 +74,7 @@ model_m32r_d_add3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -190,7 +84,8 @@ static int
 model_m32r_d_and (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -202,7 +97,7 @@ model_m32r_d_and (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -212,7 +107,8 @@ static int
 model_m32r_d_and3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_and3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -224,7 +120,7 @@ model_m32r_d_and3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -234,7 +130,8 @@ static int
 model_m32r_d_or (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -246,7 +143,7 @@ model_m32r_d_or (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -256,7 +153,8 @@ static int
 model_m32r_d_or3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_or3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -268,7 +166,7 @@ model_m32r_d_or3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -278,7 +176,8 @@ static int
 model_m32r_d_xor (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -290,7 +189,7 @@ model_m32r_d_xor (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -300,7 +199,8 @@ static int
 model_m32r_d_xor3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_and3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -312,7 +212,7 @@ model_m32r_d_xor3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -322,7 +222,8 @@ static int
 model_m32r_d_addi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -334,7 +235,7 @@ model_m32r_d_addi (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -344,7 +245,8 @@ static int
 model_m32r_d_addv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -356,7 +258,7 @@ model_m32r_d_addv (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -366,7 +268,8 @@ static int
 model_m32r_d_addv3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -378,7 +281,7 @@ model_m32r_d_addv3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -388,7 +291,8 @@ static int
 model_m32r_d_addx (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addx.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -400,7 +304,7 @@ model_m32r_d_addx (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -410,14 +314,15 @@ static int
 model_m32r_d_bc8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -427,14 +332,15 @@ static int
 model_m32r_d_bc24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -444,14 +350,15 @@ static int
 model_m32r_d_beq (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -462,7 +369,7 @@ model_m32r_d_beq (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -472,14 +379,15 @@ static int
 model_m32r_d_beqz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -488,7 +396,7 @@ model_m32r_d_beqz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -498,14 +406,15 @@ static int
 model_m32r_d_bgez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -514,7 +423,7 @@ model_m32r_d_bgez (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -524,14 +433,15 @@ static int
 model_m32r_d_bgtz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -540,7 +450,7 @@ model_m32r_d_bgtz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -550,14 +460,15 @@ static int
 model_m32r_d_blez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -566,7 +477,7 @@ model_m32r_d_blez (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -576,14 +487,15 @@ static int
 model_m32r_d_bltz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -592,7 +504,7 @@ model_m32r_d_bltz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -602,14 +514,15 @@ static int
 model_m32r_d_bnez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -618,7 +531,7 @@ model_m32r_d_bnez (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -628,14 +541,15 @@ static int
 model_m32r_d_bl8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bl8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -645,14 +559,15 @@ static int
 model_m32r_d_bl24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bl24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -662,14 +577,15 @@ static int
 model_m32r_d_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -679,14 +595,15 @@ static int
 model_m32r_d_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -696,14 +613,15 @@ static int
 model_m32r_d_bne (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -714,7 +632,7 @@ model_m32r_d_bne (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -724,14 +642,15 @@ static int
 model_m32r_d_bra8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bra8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -741,14 +660,15 @@ static int
 model_m32r_d_bra24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bra24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -758,7 +678,8 @@ static int
 model_m32r_d_cmp (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -769,7 +690,7 @@ model_m32r_d_cmp (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -779,7 +700,8 @@ static int
 model_m32r_d_cmpi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -788,7 +710,7 @@ model_m32r_d_cmpi (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -798,7 +720,8 @@ static int
 model_m32r_d_cmpu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -809,7 +732,7 @@ model_m32r_d_cmpu (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -819,7 +742,8 @@ static int
 model_m32r_d_cmpui (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -828,7 +752,7 @@ model_m32r_d_cmpui (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -838,7 +762,8 @@ static int
 model_m32r_d_div (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -850,7 +775,7 @@ model_m32r_d_div (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -860,7 +785,8 @@ static int
 model_m32r_d_divu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -872,7 +798,7 @@ model_m32r_d_divu (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -882,7 +808,8 @@ static int
 model_m32r_d_rem (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -894,7 +821,7 @@ model_m32r_d_rem (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -904,7 +831,8 @@ static int
 model_m32r_d_remu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -916,7 +844,7 @@ model_m32r_d_remu (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -926,7 +854,8 @@ static int
 model_m32r_d_jl (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jl.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -935,7 +864,7 @@ model_m32r_d_jl (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_sr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -945,7 +874,8 @@ static int
 model_m32r_d_jmp (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -954,7 +884,7 @@ model_m32r_d_jmp (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_sr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -964,7 +894,8 @@ static int
 model_m32r_d_ld (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -975,7 +906,7 @@ model_m32r_d_ld (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -985,7 +916,8 @@ static int
 model_m32r_d_ld_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -996,7 +928,7 @@ model_m32r_d_ld_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1006,7 +938,8 @@ static int
 model_m32r_d_ldb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1017,7 +950,7 @@ model_m32r_d_ldb (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1027,7 +960,8 @@ static int
 model_m32r_d_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1038,7 +972,7 @@ model_m32r_d_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1048,7 +982,8 @@ static int
 model_m32r_d_ldh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1059,7 +994,7 @@ model_m32r_d_ldh (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1069,7 +1004,8 @@ static int
 model_m32r_d_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1080,7 +1016,7 @@ model_m32r_d_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1090,7 +1026,8 @@ static int
 model_m32r_d_ldub (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1101,7 +1038,7 @@ model_m32r_d_ldub (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1111,7 +1048,8 @@ static int
 model_m32r_d_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1122,7 +1060,7 @@ model_m32r_d_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1132,7 +1070,8 @@ static int
 model_m32r_d_lduh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1143,7 +1082,7 @@ model_m32r_d_lduh (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1153,7 +1092,8 @@ static int
 model_m32r_d_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1164,7 +1104,7 @@ model_m32r_d_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1174,7 +1114,8 @@ static int
 model_m32r_d_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1185,7 +1126,7 @@ model_m32r_d_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   {
     int referenced = 0;
@@ -1197,7 +1138,7 @@ model_m32r_d_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_sr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 1, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1207,7 +1148,8 @@ static int
 model_m32r_d_ld24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1217,7 +1159,7 @@ model_m32r_d_ld24 (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1227,7 +1169,8 @@ static int
 model_m32r_d_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldi8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1237,7 +1180,7 @@ model_m32r_d_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1247,7 +1190,8 @@ static int
 model_m32r_d_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldi16.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1257,7 +1201,7 @@ model_m32r_d_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1267,7 +1211,8 @@ static int
 model_m32r_d_lock (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_lock.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1278,7 +1223,7 @@ model_m32r_d_lock (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1288,7 +1233,8 @@ static int
 model_m32r_d_machi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1299,7 +1245,7 @@ model_m32r_d_machi (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1309,7 +1255,8 @@ static int
 model_m32r_d_maclo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1320,7 +1267,7 @@ model_m32r_d_maclo (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1330,7 +1277,8 @@ static int
 model_m32r_d_macwhi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1341,7 +1289,7 @@ model_m32r_d_macwhi (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1351,7 +1299,8 @@ static int
 model_m32r_d_macwlo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1362,7 +1311,7 @@ model_m32r_d_macwlo (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1372,7 +1321,8 @@ static int
 model_m32r_d_mul (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1384,7 +1334,7 @@ model_m32r_d_mul (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1394,7 +1344,8 @@ static int
 model_m32r_d_mulhi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1405,7 +1356,7 @@ model_m32r_d_mulhi (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1415,7 +1366,8 @@ static int
 model_m32r_d_mullo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1426,7 +1378,7 @@ model_m32r_d_mullo (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1436,7 +1388,8 @@ static int
 model_m32r_d_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1447,7 +1400,7 @@ model_m32r_d_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1457,7 +1410,8 @@ static int
 model_m32r_d_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1468,7 +1422,7 @@ model_m32r_d_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1478,7 +1432,8 @@ static int
 model_m32r_d_mv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1490,7 +1445,7 @@ model_m32r_d_mv (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1500,7 +1455,8 @@ static int
 model_m32r_d_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1510,7 +1466,7 @@ model_m32r_d_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1520,7 +1476,8 @@ static int
 model_m32r_d_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1530,7 +1487,7 @@ model_m32r_d_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1540,7 +1497,8 @@ static int
 model_m32r_d_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1550,7 +1508,7 @@ model_m32r_d_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1560,7 +1518,8 @@ static int
 model_m32r_d_mvfc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1570,7 +1529,7 @@ model_m32r_d_mvfc (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1580,7 +1539,8 @@ static int
 model_m32r_d_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1590,7 +1550,7 @@ model_m32r_d_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     sr = FLD (in_src1);
     referenced |= 1 << 0;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1600,7 +1560,8 @@ static int
 model_m32r_d_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1610,7 +1571,7 @@ model_m32r_d_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     sr = FLD (in_src1);
     referenced |= 1 << 0;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1620,7 +1581,8 @@ static int
 model_m32r_d_mvtc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1630,7 +1592,7 @@ model_m32r_d_mvtc (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     sr = FLD (in_sr);
     referenced |= 1 << 0;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1640,7 +1602,8 @@ static int
 model_m32r_d_neg (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1652,7 +1615,7 @@ model_m32r_d_neg (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1662,7 +1625,8 @@ static int
 model_m32r_d_nop (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_nop.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1670,7 +1634,7 @@ model_m32r_d_nop (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1680,7 +1644,8 @@ static int
 model_m32r_d_not (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1692,7 +1657,7 @@ model_m32r_d_not (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1702,14 +1667,15 @@ static int
 model_m32r_d_rac (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_rac.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT src1 = -1;
     INT src2 = -1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1719,14 +1685,15 @@ static int
 model_m32r_d_rach (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_rac.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT src1 = -1;
     INT src2 = -1;
-    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1736,7 +1703,8 @@ static int
 model_m32r_d_rte (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_rte.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1744,7 +1712,7 @@ model_m32r_d_rte (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1754,7 +1722,8 @@ static int
 model_m32r_d_seth (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_seth.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1764,7 +1733,7 @@ model_m32r_d_seth (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1774,7 +1743,8 @@ static int
 model_m32r_d_sll (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1786,7 +1756,7 @@ model_m32r_d_sll (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1796,7 +1766,8 @@ static int
 model_m32r_d_sll3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1808,7 +1779,7 @@ model_m32r_d_sll3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1818,7 +1789,8 @@ static int
 model_m32r_d_slli (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1828,7 +1800,7 @@ model_m32r_d_slli (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1838,7 +1810,8 @@ static int
 model_m32r_d_sra (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1850,7 +1823,7 @@ model_m32r_d_sra (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1860,7 +1833,8 @@ static int
 model_m32r_d_sra3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1872,7 +1846,7 @@ model_m32r_d_sra3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1882,7 +1856,8 @@ static int
 model_m32r_d_srai (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1892,7 +1867,7 @@ model_m32r_d_srai (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1902,7 +1877,8 @@ static int
 model_m32r_d_srl (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1914,7 +1890,7 @@ model_m32r_d_srl (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1924,7 +1900,8 @@ static int
 model_m32r_d_srl3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1936,7 +1913,7 @@ model_m32r_d_srl3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1946,7 +1923,8 @@ static int
 model_m32r_d_srli (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1956,7 +1934,7 @@ model_m32r_d_srli (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1966,7 +1944,8 @@ static int
 model_m32r_d_st (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1977,7 +1956,7 @@ model_m32r_d_st (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1987,7 +1966,8 @@ static int
 model_m32r_d_st_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1998,7 +1978,7 @@ model_m32r_d_st_d (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2008,7 +1988,8 @@ static int
 model_m32r_d_stb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_stb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2019,7 +2000,7 @@ model_m32r_d_stb (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2029,7 +2010,8 @@ static int
 model_m32r_d_stb_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_stb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2040,7 +2022,7 @@ model_m32r_d_stb_d (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2050,7 +2032,8 @@ static int
 model_m32r_d_sth (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sth.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2061,7 +2044,7 @@ model_m32r_d_sth (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2071,7 +2054,8 @@ static int
 model_m32r_d_sth_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sth_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2082,7 +2066,7 @@ model_m32r_d_sth_d (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2092,7 +2076,8 @@ static int
 model_m32r_d_st_plus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2103,7 +2088,7 @@ model_m32r_d_st_plus (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   {
     int referenced = 0;
@@ -2115,7 +2100,7 @@ model_m32r_d_st_plus (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 1, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2125,7 +2110,8 @@ static int
 model_m32r_d_st_minus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2136,7 +2122,7 @@ model_m32r_d_st_minus (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rbf_model_m32r_d_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   {
     int referenced = 0;
@@ -2148,7 +2134,7 @@ model_m32r_d_st_minus (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 1, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2158,7 +2144,8 @@ static int
 model_m32r_d_sub (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2170,7 +2157,7 @@ model_m32r_d_sub (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2180,7 +2167,8 @@ static int
 model_m32r_d_subv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2192,7 +2180,7 @@ model_m32r_d_subv (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2202,7 +2190,8 @@ static int
 model_m32r_d_subx (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addx.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2214,7 +2203,7 @@ model_m32r_d_subx (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2224,7 +2213,8 @@ static int
 model_m32r_d_trap (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_trap.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2232,7 +2222,7 @@ model_m32r_d_trap (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2242,104 +2232,15 @@ static int
 model_m32r_d_unlock (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_unlock.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = 0;
     INT dr = 0;
-    cycles += m32rbf_model_m32r_d_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_test_x_invalid (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_test_x_after (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_test_x_before (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_test_x_cti_chain (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_test_x_chain (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_test_x_begin (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -2349,12 +2250,13 @@ static int
 model_test_add (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2364,12 +2266,13 @@ static int
 model_test_add3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2379,12 +2282,13 @@ static int
 model_test_and (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2394,12 +2298,13 @@ static int
 model_test_and3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_and3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2409,12 +2314,13 @@ static int
 model_test_or (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2424,12 +2330,13 @@ static int
 model_test_or3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_or3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2439,12 +2346,13 @@ static int
 model_test_xor (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2454,12 +2362,13 @@ static int
 model_test_xor3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_and3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2469,12 +2378,13 @@ static int
 model_test_addi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2484,12 +2394,13 @@ static int
 model_test_addv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2499,12 +2410,13 @@ static int
 model_test_addv3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2514,12 +2426,13 @@ static int
 model_test_addx (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addx.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2529,12 +2442,13 @@ static int
 model_test_bc8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2544,12 +2458,13 @@ static int
 model_test_bc24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2559,12 +2474,13 @@ static int
 model_test_beq (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2574,12 +2490,13 @@ static int
 model_test_beqz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2589,12 +2506,13 @@ static int
 model_test_bgez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2604,12 +2522,13 @@ static int
 model_test_bgtz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2619,12 +2538,13 @@ static int
 model_test_blez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2634,12 +2554,13 @@ static int
 model_test_bltz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2649,12 +2570,13 @@ static int
 model_test_bnez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2664,12 +2586,13 @@ static int
 model_test_bl8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bl8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2679,12 +2602,13 @@ static int
 model_test_bl24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bl24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2694,12 +2618,13 @@ static int
 model_test_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2709,12 +2634,13 @@ static int
 model_test_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2724,12 +2650,13 @@ static int
 model_test_bne (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2739,12 +2666,13 @@ static int
 model_test_bra8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bra8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2754,12 +2682,13 @@ static int
 model_test_bra24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bra24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2769,12 +2698,13 @@ static int
 model_test_cmp (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2784,12 +2714,13 @@ static int
 model_test_cmpi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2799,12 +2730,13 @@ static int
 model_test_cmpu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2814,12 +2746,13 @@ static int
 model_test_cmpui (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2829,12 +2762,13 @@ static int
 model_test_div (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2844,12 +2778,13 @@ static int
 model_test_divu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2859,12 +2794,13 @@ static int
 model_test_rem (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2874,12 +2810,13 @@ static int
 model_test_remu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2889,12 +2826,13 @@ static int
 model_test_jl (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jl.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2904,12 +2842,13 @@ static int
 model_test_jmp (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2919,12 +2858,13 @@ static int
 model_test_ld (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2934,12 +2874,13 @@ static int
 model_test_ld_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2949,12 +2890,13 @@ static int
 model_test_ldb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2964,12 +2906,13 @@ static int
 model_test_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2979,12 +2922,13 @@ static int
 model_test_ldh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -2994,12 +2938,13 @@ static int
 model_test_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3009,12 +2954,13 @@ static int
 model_test_ldub (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3024,12 +2970,13 @@ static int
 model_test_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3039,12 +2986,13 @@ static int
 model_test_lduh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3054,12 +3002,13 @@ static int
 model_test_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3069,12 +3018,13 @@ static int
 model_test_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3084,12 +3034,13 @@ static int
 model_test_ld24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3099,12 +3050,13 @@ static int
 model_test_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldi8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3114,12 +3066,13 @@ static int
 model_test_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldi16.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3129,12 +3082,13 @@ static int
 model_test_lock (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_lock.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3144,12 +3098,13 @@ static int
 model_test_machi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3159,12 +3114,13 @@ static int
 model_test_maclo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3174,12 +3130,13 @@ static int
 model_test_macwhi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3189,12 +3146,13 @@ static int
 model_test_macwlo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3204,12 +3162,13 @@ static int
 model_test_mul (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3219,12 +3178,13 @@ static int
 model_test_mulhi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3234,12 +3194,13 @@ static int
 model_test_mullo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3249,12 +3210,13 @@ static int
 model_test_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3264,12 +3226,13 @@ static int
 model_test_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3279,12 +3242,13 @@ static int
 model_test_mv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3294,12 +3258,13 @@ static int
 model_test_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3309,12 +3274,13 @@ static int
 model_test_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3324,12 +3290,13 @@ static int
 model_test_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3339,12 +3306,13 @@ static int
 model_test_mvfc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3354,12 +3322,13 @@ static int
 model_test_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3369,12 +3338,13 @@ static int
 model_test_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtachi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3384,12 +3354,13 @@ static int
 model_test_mvtc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3399,12 +3370,13 @@ static int
 model_test_neg (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3414,12 +3386,13 @@ static int
 model_test_nop (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_nop.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3429,12 +3402,13 @@ static int
 model_test_not (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3444,12 +3418,13 @@ static int
 model_test_rac (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_rac.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3459,12 +3434,13 @@ static int
 model_test_rach (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_rac.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3474,12 +3450,13 @@ static int
 model_test_rte (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_rte.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3489,12 +3466,13 @@ static int
 model_test_seth (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_seth.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3504,12 +3482,13 @@ static int
 model_test_sll (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3519,12 +3498,13 @@ static int
 model_test_sll3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3534,12 +3514,13 @@ static int
 model_test_slli (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3549,12 +3530,13 @@ static int
 model_test_sra (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3564,12 +3546,13 @@ static int
 model_test_sra3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3579,12 +3562,13 @@ static int
 model_test_srai (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3594,12 +3578,13 @@ static int
 model_test_srl (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3609,12 +3594,13 @@ static int
 model_test_srl3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3624,12 +3610,13 @@ static int
 model_test_srli (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3639,12 +3626,13 @@ static int
 model_test_st (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3654,12 +3642,13 @@ static int
 model_test_st_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3669,12 +3658,13 @@ static int
 model_test_stb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_stb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3684,12 +3674,13 @@ static int
 model_test_stb_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_stb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3699,12 +3690,13 @@ static int
 model_test_sth (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sth.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3714,12 +3706,13 @@ static int
 model_test_sth_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sth_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3729,12 +3722,13 @@ static int
 model_test_st_plus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3744,12 +3738,13 @@ static int
 model_test_st_minus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3759,12 +3754,13 @@ static int
 model_test_sub (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3774,12 +3770,13 @@ static int
 model_test_subv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3789,12 +3786,13 @@ static int
 model_test_subx (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addx.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3804,12 +3802,13 @@ static int
 model_test_trap (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_trap.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3819,12 +3818,13 @@ static int
 model_test_unlock (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_unlock.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
-    cycles += m32rbf_model_test_u_exec (current_cpu, abuf->idesc, 0, referenced);
+    cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   }
   return cycles;
 #undef FLD
@@ -3836,12 +3836,12 @@ model_test_unlock (SIM_CPU *current_cpu, void *sem_arg)
 /* Model timing data for `m32r/d'.  */
 
 static const INSN_TIMING m32r_d_timing[] = {
-  { M32RBF_INSN_X_INVALID, model_m32r_d_x_invalid, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_AFTER, model_m32r_d_x_after, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_BEFORE, model_m32r_d_x_before, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_CTI_CHAIN, model_m32r_d_x_cti_chain, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_CHAIN, model_m32r_d_x_chain, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_BEGIN, model_m32r_d_x_begin, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_INVALID, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_AFTER, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_BEFORE, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_CHAIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_BEGIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   { M32RBF_INSN_ADD, model_m32r_d_add, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   { M32RBF_INSN_ADD3, model_m32r_d_add3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   { M32RBF_INSN_AND, model_m32r_d_and, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
@@ -3946,12 +3946,12 @@ static const INSN_TIMING m32r_d_timing[] = {
 /* Model timing data for `test'.  */
 
 static const INSN_TIMING test_timing[] = {
-  { M32RBF_INSN_X_INVALID, model_test_x_invalid, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_AFTER, model_test_x_after, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_BEFORE, model_test_x_before, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_CTI_CHAIN, model_test_x_cti_chain, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_CHAIN, model_test_x_chain, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
-  { M32RBF_INSN_X_BEGIN, model_test_x_begin, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_INVALID, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_AFTER, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_BEFORE, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_CHAIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
+  { M32RBF_INSN_X_BEGIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   { M32RBF_INSN_ADD, model_test_add, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   { M32RBF_INSN_ADD3, model_test_add3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   { M32RBF_INSN_AND, model_test_and, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
index 9fbbfcf..5eb3601 100644 (file)
@@ -2,7 +2,7 @@
 
 THIS FILE IS MACHINE GENERATED WITH CGEN.
 
-Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
+Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
 
 This file is part of the GNU Simulators.
 
@@ -35,118 +35,11 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 /* Model handlers for each insn.  */
 
 static int
-model_m32rx_x_invalid (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32rx_x_after (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32rx_x_before (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32rx_x_cti_chain (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32rx_x_chain (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_m32rx_x_begin (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
-  int cycles = 0;
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT sr = -1;
-    INT sr2 = -1;
-    INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
 model_m32rx_add (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -158,7 +51,7 @@ model_m32rx_add (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -168,7 +61,8 @@ static int
 model_m32rx_add3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -180,7 +74,7 @@ model_m32rx_add3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -190,7 +84,8 @@ static int
 model_m32rx_and (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -202,7 +97,7 @@ model_m32rx_and (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -212,7 +107,8 @@ static int
 model_m32rx_and3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_and3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -224,7 +120,7 @@ model_m32rx_and3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -234,7 +130,8 @@ static int
 model_m32rx_or (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -246,7 +143,7 @@ model_m32rx_or (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -256,7 +153,8 @@ static int
 model_m32rx_or3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_or3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -268,7 +166,7 @@ model_m32rx_or3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -278,7 +176,8 @@ static int
 model_m32rx_xor (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -290,7 +189,7 @@ model_m32rx_xor (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -300,7 +199,8 @@ static int
 model_m32rx_xor3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_and3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -312,7 +212,7 @@ model_m32rx_xor3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -322,7 +222,8 @@ static int
 model_m32rx_addi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -334,7 +235,7 @@ model_m32rx_addi (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -344,7 +245,8 @@ static int
 model_m32rx_addv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -356,7 +258,7 @@ model_m32rx_addv (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -366,7 +268,8 @@ static int
 model_m32rx_addv3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -378,7 +281,7 @@ model_m32rx_addv3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -388,7 +291,8 @@ static int
 model_m32rx_addx (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addx.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -400,7 +304,7 @@ model_m32rx_addx (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -410,14 +314,15 @@ static int
 model_m32rx_bc8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -427,14 +332,15 @@ static int
 model_m32rx_bc24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -444,14 +350,15 @@ static int
 model_m32rx_beq (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -462,7 +369,7 @@ model_m32rx_beq (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -472,14 +379,15 @@ static int
 model_m32rx_beqz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -488,7 +396,7 @@ model_m32rx_beqz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -498,14 +406,15 @@ static int
 model_m32rx_bgez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -514,7 +423,7 @@ model_m32rx_bgez (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -524,14 +433,15 @@ static int
 model_m32rx_bgtz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -540,7 +450,7 @@ model_m32rx_bgtz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -550,14 +460,15 @@ static int
 model_m32rx_blez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -566,7 +477,7 @@ model_m32rx_blez (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -576,14 +487,15 @@ static int
 model_m32rx_bltz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -592,7 +504,7 @@ model_m32rx_bltz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -602,14 +514,15 @@ static int
 model_m32rx_bnez (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beqz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -618,7 +531,7 @@ model_m32rx_bnez (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -628,14 +541,15 @@ static int
 model_m32rx_bl8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bl8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -645,14 +559,15 @@ static int
 model_m32rx_bl24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bl24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -662,14 +577,15 @@ static int
 model_m32rx_bcl8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bcl8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -679,14 +595,15 @@ static int
 model_m32rx_bcl24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bcl24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -696,14 +613,15 @@ static int
 model_m32rx_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -713,14 +631,15 @@ static int
 model_m32rx_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bc24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -730,14 +649,15 @@ static int
 model_m32rx_bne (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_beq.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   {
     int referenced = 0;
@@ -748,7 +668,7 @@ model_m32rx_bne (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 1, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 1, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -758,14 +678,15 @@ static int
 model_m32rx_bra8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bra8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -775,14 +696,15 @@ static int
 model_m32rx_bra24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bra24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -792,14 +714,15 @@ static int
 model_m32rx_bncl8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bcl8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -809,14 +732,15 @@ static int
 model_m32rx_bncl24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_bcl24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = -1;
     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -826,7 +750,8 @@ static int
 model_m32rx_cmp (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -837,7 +762,7 @@ model_m32rx_cmp (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -847,7 +772,8 @@ static int
 model_m32rx_cmpi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -856,7 +782,7 @@ model_m32rx_cmpi (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -866,7 +792,8 @@ static int
 model_m32rx_cmpu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -877,7 +804,7 @@ model_m32rx_cmpu (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -887,7 +814,8 @@ static int
 model_m32rx_cmpui (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -896,7 +824,7 @@ model_m32rx_cmpui (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -906,7 +834,8 @@ static int
 model_m32rx_cmpeq (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -917,7 +846,7 @@ model_m32rx_cmpeq (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -927,7 +856,8 @@ static int
 model_m32rx_cmpz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -936,7 +866,7 @@ model_m32rx_cmpz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -946,7 +876,8 @@ static int
 model_m32rx_div (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -958,7 +889,7 @@ model_m32rx_div (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -968,7 +899,8 @@ static int
 model_m32rx_divu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -980,7 +912,7 @@ model_m32rx_divu (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -990,7 +922,8 @@ static int
 model_m32rx_rem (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1002,7 +935,7 @@ model_m32rx_rem (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1012,7 +945,8 @@ static int
 model_m32rx_remu (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1024,7 +958,7 @@ model_m32rx_remu (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1034,7 +968,8 @@ static int
 model_m32rx_divh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_div.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1046,7 +981,7 @@ model_m32rx_divh (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1056,7 +991,8 @@ static int
 model_m32rx_jc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1065,7 +1001,7 @@ model_m32rx_jc (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_sr);
     if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -1075,7 +1011,8 @@ static int
 model_m32rx_jnc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1084,7 +1021,7 @@ model_m32rx_jnc (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_sr);
     if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -1094,7 +1031,8 @@ static int
 model_m32rx_jl (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jl.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1103,7 +1041,7 @@ model_m32rx_jl (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_sr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -1113,7 +1051,8 @@ static int
 model_m32rx_jmp (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_jmp.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1122,7 +1061,7 @@ model_m32rx_jmp (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_sr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cti (current_cpu, abuf->idesc, 0, referenced, sr);
+    cycles += m32rxf_model_m32rx_u_cti (current_cpu, idesc, 0, referenced, sr);
   }
   return cycles;
 #undef FLD
@@ -1132,7 +1071,8 @@ static int
 model_m32rx_ld (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1143,7 +1083,7 @@ model_m32rx_ld (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1153,7 +1093,8 @@ static int
 model_m32rx_ld_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1164,7 +1105,7 @@ model_m32rx_ld_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1174,7 +1115,8 @@ static int
 model_m32rx_ldb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1185,7 +1127,7 @@ model_m32rx_ldb (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1195,7 +1137,8 @@ static int
 model_m32rx_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1206,7 +1149,7 @@ model_m32rx_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1216,7 +1159,8 @@ static int
 model_m32rx_ldh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1227,7 +1171,7 @@ model_m32rx_ldh (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1237,7 +1181,8 @@ static int
 model_m32rx_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1248,7 +1193,7 @@ model_m32rx_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1258,7 +1203,8 @@ static int
 model_m32rx_ldub (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1269,7 +1215,7 @@ model_m32rx_ldub (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1279,7 +1225,8 @@ static int
 model_m32rx_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1290,7 +1237,7 @@ model_m32rx_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1300,7 +1247,8 @@ static int
 model_m32rx_lduh (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1311,7 +1259,7 @@ model_m32rx_lduh (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1321,7 +1269,8 @@ static int
 model_m32rx_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldh_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1332,7 +1281,7 @@ model_m32rx_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1342,7 +1291,8 @@ static int
 model_m32rx_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1353,7 +1303,7 @@ model_m32rx_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   {
     int referenced = 0;
@@ -1365,7 +1315,7 @@ model_m32rx_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_sr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 1, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 1, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1375,7 +1325,8 @@ static int
 model_m32rx_ld24 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ld24.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1385,7 +1336,7 @@ model_m32rx_ld24 (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1395,7 +1346,8 @@ static int
 model_m32rx_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldi8.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1405,7 +1357,7 @@ model_m32rx_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1415,7 +1367,8 @@ static int
 model_m32rx_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_ldi16.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1425,7 +1378,7 @@ model_m32rx_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1435,7 +1388,8 @@ static int
 model_m32rx_lock (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_lock.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1446,7 +1400,7 @@ model_m32rx_lock (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -1456,7 +1410,8 @@ static int
 model_m32rx_machi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1467,7 +1422,7 @@ model_m32rx_machi_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1477,7 +1432,8 @@ static int
 model_m32rx_maclo_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1488,7 +1444,7 @@ model_m32rx_maclo_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1498,7 +1454,8 @@ static int
 model_m32rx_macwhi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1509,7 +1466,7 @@ model_m32rx_macwhi_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1519,7 +1476,8 @@ static int
 model_m32rx_macwlo_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_machi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1530,7 +1488,7 @@ model_m32rx_macwlo_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1540,7 +1498,8 @@ static int
 model_m32rx_mul (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1552,7 +1511,7 @@ model_m32rx_mul (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1562,7 +1521,8 @@ static int
 model_m32rx_mulhi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1573,7 +1533,7 @@ model_m32rx_mulhi_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1583,7 +1543,8 @@ static int
 model_m32rx_mullo_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1594,7 +1555,7 @@ model_m32rx_mullo_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1604,7 +1565,8 @@ static int
 model_m32rx_mulwhi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1615,7 +1577,7 @@ model_m32rx_mulwhi_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1625,7 +1587,8 @@ static int
 model_m32rx_mulwlo_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulhi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1636,7 +1599,7 @@ model_m32rx_mulwlo_a (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1646,7 +1609,8 @@ static int
 model_m32rx_mv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1658,7 +1622,7 @@ model_m32rx_mv (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1668,7 +1632,8 @@ static int
 model_m32rx_mvfachi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1678,7 +1643,7 @@ model_m32rx_mvfachi_a (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1688,7 +1653,8 @@ static int
 model_m32rx_mvfaclo_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1698,7 +1664,7 @@ model_m32rx_mvfaclo_a (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1708,7 +1674,8 @@ static int
 model_m32rx_mvfacmi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfachi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1718,7 +1685,7 @@ model_m32rx_mvfacmi_a (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1728,7 +1695,8 @@ static int
 model_m32rx_mvfc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvfc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1738,7 +1706,7 @@ model_m32rx_mvfc (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1748,7 +1716,8 @@ static int
 model_m32rx_mvtachi_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtachi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1758,7 +1727,7 @@ model_m32rx_mvtachi_a (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     sr = FLD (in_src1);
     referenced |= 1 << 0;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1768,7 +1737,8 @@ static int
 model_m32rx_mvtaclo_a (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtachi_a.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1778,7 +1748,7 @@ model_m32rx_mvtaclo_a (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     sr = FLD (in_src1);
     referenced |= 1 << 0;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1788,7 +1758,8 @@ static int
 model_m32rx_mvtc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mvtc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1798,7 +1769,7 @@ model_m32rx_mvtc (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     sr = FLD (in_sr);
     referenced |= 1 << 0;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1808,7 +1779,8 @@ static int
 model_m32rx_neg (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1820,7 +1792,7 @@ model_m32rx_neg (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1830,7 +1802,8 @@ static int
 model_m32rx_nop (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_nop.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1838,7 +1811,7 @@ model_m32rx_nop (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1848,7 +1821,8 @@ static int
 model_m32rx_not (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1860,7 +1834,7 @@ model_m32rx_not (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1870,14 +1844,15 @@ static int
 model_m32rx_rac_dsi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_rac_dsi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT src1 = -1;
     INT src2 = -1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1887,14 +1862,15 @@ static int
 model_m32rx_rach_dsi (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_rac_dsi.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT src1 = -1;
     INT src2 = -1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -1904,7 +1880,8 @@ static int
 model_m32rx_rte (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_rte.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1912,7 +1889,7 @@ model_m32rx_rte (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1922,7 +1899,8 @@ static int
 model_m32rx_seth (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_seth.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1932,7 +1910,7 @@ model_m32rx_seth (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1942,7 +1920,8 @@ static int
 model_m32rx_sll (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1954,7 +1933,7 @@ model_m32rx_sll (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1964,7 +1943,8 @@ static int
 model_m32rx_sll3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1976,7 +1956,7 @@ model_m32rx_sll3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -1986,7 +1966,8 @@ static int
 model_m32rx_slli (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -1996,7 +1977,7 @@ model_m32rx_slli (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2006,7 +1987,8 @@ static int
 model_m32rx_sra (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2018,7 +2000,7 @@ model_m32rx_sra (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2028,7 +2010,8 @@ static int
 model_m32rx_sra3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2040,7 +2023,7 @@ model_m32rx_sra3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2050,7 +2033,8 @@ static int
 model_m32rx_srai (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2060,7 +2044,7 @@ model_m32rx_srai (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2070,7 +2054,8 @@ static int
 model_m32rx_srl (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2082,7 +2067,7 @@ model_m32rx_srl (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2092,7 +2077,8 @@ static int
 model_m32rx_srl3 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sll3.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2104,7 +2090,7 @@ model_m32rx_srl3 (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2114,7 +2100,8 @@ static int
 model_m32rx_srli (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_slli.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2124,7 +2111,7 @@ model_m32rx_srli (SIM_CPU *current_cpu, void *sem_arg)
     INT dr = -1;
     dr = FLD (out_dr);
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2134,7 +2121,8 @@ static int
 model_m32rx_st (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2145,7 +2133,7 @@ model_m32rx_st (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2155,7 +2143,8 @@ static int
 model_m32rx_st_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2166,7 +2155,7 @@ model_m32rx_st_d (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2176,7 +2165,8 @@ static int
 model_m32rx_stb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_stb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2187,7 +2177,7 @@ model_m32rx_stb (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2197,7 +2187,8 @@ static int
 model_m32rx_stb_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_stb_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2208,7 +2199,7 @@ model_m32rx_stb_d (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2218,7 +2209,8 @@ static int
 model_m32rx_sth (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sth.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2229,7 +2221,7 @@ model_m32rx_sth (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2239,7 +2231,8 @@ static int
 model_m32rx_sth_d (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sth_d.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2250,7 +2243,7 @@ model_m32rx_sth_d (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2260,7 +2253,8 @@ static int
 model_m32rx_st_plus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2271,7 +2265,7 @@ model_m32rx_st_plus (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   {
     int referenced = 0;
@@ -2283,7 +2277,7 @@ model_m32rx_st_plus (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 1, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 1, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2293,7 +2287,8 @@ static int
 model_m32rx_st_minus (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_st_plus.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2304,7 +2299,7 @@ model_m32rx_st_minus (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_store (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_store (current_cpu, idesc, 0, referenced, src1, src2);
   }
   {
     int referenced = 0;
@@ -2316,7 +2311,7 @@ model_m32rx_st_minus (SIM_CPU *current_cpu, void *sem_arg)
     sr = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 1, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 1, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2326,7 +2321,8 @@ static int
 model_m32rx_sub (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_add.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2338,7 +2334,7 @@ model_m32rx_sub (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2348,7 +2344,8 @@ static int
 model_m32rx_subv (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addv.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2360,7 +2357,7 @@ model_m32rx_subv (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2370,7 +2367,8 @@ static int
 model_m32rx_subx (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_addx.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2382,7 +2380,7 @@ model_m32rx_subx (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2392,7 +2390,8 @@ static int
 model_m32rx_trap (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_trap.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2400,7 +2399,7 @@ model_m32rx_trap (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2410,14 +2409,15 @@ static int
 model_m32rx_unlock (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_unlock.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT sr = 0;
     INT dr = 0;
-    cycles += m32rxf_model_m32rx_u_load (current_cpu, abuf->idesc, 0, referenced, sr, dr);
+    cycles += m32rxf_model_m32rx_u_load (current_cpu, idesc, 0, referenced, sr, dr);
   }
   return cycles;
 #undef FLD
@@ -2427,7 +2427,8 @@ static int
 model_m32rx_satb (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_satb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2439,7 +2440,7 @@ model_m32rx_satb (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2449,7 +2450,8 @@ static int
 model_m32rx_sath (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_satb.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2461,7 +2463,7 @@ model_m32rx_sath (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2471,7 +2473,8 @@ static int
 model_m32rx_sat (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sat.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2483,7 +2486,7 @@ model_m32rx_sat (SIM_CPU *current_cpu, void *sem_arg)
     dr = FLD (out_dr);
     if (insn_referenced & (1 << 1)) referenced |= 1 << 0;
     referenced |= 1 << 2;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2493,7 +2496,8 @@ static int
 model_m32rx_pcmpbz (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_cmpz.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2502,7 +2506,7 @@ model_m32rx_pcmpbz (SIM_CPU *current_cpu, void *sem_arg)
     INT src2 = -1;
     src2 = FLD (in_src2);
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_cmp (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2512,14 +2516,15 @@ static int
 model_m32rx_sadd (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_sadd.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
     int UNUSED insn_referenced = abuf->written;
     INT src1 = -1;
     INT src2 = -1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2529,7 +2534,8 @@ static int
 model_m32rx_macwu1 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_macwu1.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2540,7 +2546,7 @@ model_m32rx_macwu1 (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2550,7 +2556,8 @@ static int
 model_m32rx_msblo (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_msblo.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2561,7 +2568,7 @@ model_m32rx_msblo (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2571,7 +2578,8 @@ static int
 model_m32rx_mulwu1 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_mulwu1.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2582,7 +2590,7 @@ model_m32rx_mulwu1 (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2592,7 +2600,8 @@ static int
 model_m32rx_maclh1 (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.fmt_macwu1.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2603,7 +2612,7 @@ model_m32rx_maclh1 (SIM_CPU *current_cpu, void *sem_arg)
     src2 = FLD (in_src2);
     referenced |= 1 << 0;
     referenced |= 1 << 1;
-    cycles += m32rxf_model_m32rx_u_mac (current_cpu, abuf->idesc, 0, referenced, src1, src2);
+    cycles += m32rxf_model_m32rx_u_mac (current_cpu, idesc, 0, referenced, src1, src2);
   }
   return cycles;
 #undef FLD
@@ -2613,7 +2622,8 @@ static int
 model_m32rx_sc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_sc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2621,7 +2631,7 @@ model_m32rx_sc (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2631,7 +2641,8 @@ static int
 model_m32rx_snc (SIM_CPU *current_cpu, void *sem_arg)
 {
 #define FLD(f) abuf->fields.cti.fields.fmt_sc.f
-  ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+  const IDESC * UNUSED idesc = abuf->idesc;
   int cycles = 0;
   {
     int referenced = 0;
@@ -2639,7 +2650,7 @@ model_m32rx_snc (SIM_CPU *current_cpu, void *sem_arg)
     INT sr = -1;
     INT sr2 = -1;
     INT dr = -1;
-    cycles += m32rxf_model_m32rx_u_exec (current_cpu, abuf->idesc, 0, referenced, sr, sr2, dr);
+    cycles += m32rxf_model_m32rx_u_exec (current_cpu, idesc, 0, referenced, sr, sr2, dr);
   }
   return cycles;
 #undef FLD
@@ -2651,12 +2662,12 @@ model_m32rx_snc (SIM_CPU *current_cpu, void *sem_arg)
 /* Model timing data for `m32rx'.  */
 
 static const INSN_TIMING m32rx_timing[] = {
-  { M32RXF_INSN_X_INVALID, model_m32rx_x_invalid, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
-  { M32RXF_INSN_X_AFTER, model_m32rx_x_after, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
-  { M32RXF_INSN_X_BEFORE, model_m32rx_x_before, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
-  { M32RXF_INSN_X_CTI_CHAIN, model_m32rx_x_cti_chain, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
-  { M32RXF_INSN_X_CHAIN, model_m32rx_x_chain, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
-  { M32RXF_INSN_X_BEGIN, model_m32rx_x_begin, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
+  { M32RXF_INSN_X_INVALID, 0, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
+  { M32RXF_INSN_X_AFTER, 0, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
+  { M32RXF_INSN_X_BEFORE, 0, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
+  { M32RXF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
+  { M32RXF_INSN_X_CHAIN, 0, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
+  { M32RXF_INSN_X_BEGIN, 0, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
   { M32RXF_INSN_ADD, model_m32rx_add, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
   { M32RXF_INSN_ADD3, model_m32rx_add3, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },
   { M32RXF_INSN_AND, model_m32rx_and, { { (int) UNIT_M32RX_U_EXEC, 1, 1 } } },