Obsolete fr30.
authorAndrew Cagney <cagney@redhat.com>
Tue, 16 Jul 2002 14:30:14 +0000 (14:30 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 16 Jul 2002 14:30:14 +0000 (14:30 +0000)
34 files changed:
gdb/ChangeLog
gdb/MAINTAINERS
gdb/NEWS
gdb/config/fr30/fr30.mt
gdb/config/fr30/tm-fr30.h
gdb/configure.tgt
gdb/fr30-tdep.c
sim/ChangeLog
sim/common/ChangeLog
sim/configure
sim/configure.in
sim/fr30/ChangeLog
sim/fr30/Makefile.in
sim/fr30/README
sim/fr30/TODO
sim/fr30/arch.c
sim/fr30/arch.h
sim/fr30/configure
sim/fr30/configure.in
sim/fr30/cpu.c
sim/fr30/cpu.h
sim/fr30/cpuall.h
sim/fr30/decode.c
sim/fr30/decode.h
sim/fr30/devices.c
sim/fr30/fr30-sim.h
sim/fr30/fr30.c
sim/fr30/mloop.in
sim/fr30/model.c
sim/fr30/sem-switch.c
sim/fr30/sem.c
sim/fr30/sim-if.c
sim/fr30/sim-main.h
sim/fr30/traps.c

index 2fb74fe..bb3ed2f 100644 (file)
@@ -1,3 +1,12 @@
+2002-07-16  Andrew Cagney  <ac131313@redhat.com>
+
+       * NEWS: Mention that the FR30 has been made obsolete.
+       * fr30-tdep.c: Make file obsolete.
+       * config/fr30/tm-fr30.h: Ditto.
+       * config/fr30/fr30.mt: Ditto.
+       * configure.tgt: Make fr30-*-elf obsolete.
+       * MAINTAINERS: Make fr30-elf obsolete.
+
 2002-07-16  Pierre Muller  <muller@ics.u-strasbg.fr>
 
        * blockframe.c (get_pc_function_start): return 0 if the minimal symbol
index a6582a2..5efb2b0 100644 (file)
@@ -83,9 +83,7 @@ maintainer works with the native maintainer when resolving API issues.
        djgpp           --target=i586-pc-msdosdjgpp ,-Werror
                        (See native and host)
 
-       fr30            --target=fr30-elf -Werror
-                       Maintenance only
-                       OBSOLETE candidate, not multi-arch
+       fr30            (--target=fr30-elf OBSOLETE)
 
        h8300           --target=h8300hms -Werror
                        Maintenance only
index 6200465..f4e6dc9 100644 (file)
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -61,6 +61,7 @@ configurations, the next release of GDB will have their sources
 permanently REMOVED.
 
 Mitsubishi D30V                                        d30v-*-*
+Fujitsu FR30                                   fr30-*-elf*
 
 * REMOVED configurations and files
 
index fac307e..b702970 100644 (file)
@@ -1,5 +1,5 @@
-# Target: Fujitsu FR30 processor
-TDEPFILES= fr30-tdep.o
-TM_FILE= tm-fr30.h
-SIM_OBS = remote-sim.o
-SIM = ../sim/fr30/libsim.a
+# OBSOLETE # Target: Fujitsu FR30 processor
+# OBSOLETE TDEPFILES= fr30-tdep.o
+# OBSOLETE TM_FILE= tm-fr30.h
+# OBSOLETE SIM_OBS = remote-sim.o
+# OBSOLETE SIM = ../sim/fr30/libsim.a
index e54154a..7a58337 100644 (file)
-/* Parameters for execution on a Fujitsu FR30 processor.
-   Copyright 1999, 2000 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include "regcache.h"
-
-#define FR30_GENREGS           16
-#define FR30_DEDICATEDREGS     8
-#define FR30_REGSIZE           4       /* bytes */
-
-#define NUM_REGS (FR30_GENREGS + FR30_DEDICATEDREGS)
-#define REGISTER_BYTES ((FR30_GENREGS + FR30_DEDICATEDREGS)*FR30_REGSIZE)
-
-/* Index within `registers' of the first byte of the space for
-   register N.  */
-#define REGISTER_BYTE(N) ((N) * FR30_REGSIZE)
-
-/* Initializer for an array of names of registers.
-   There should be NUM_REGS strings in this initializer.  */
-#define REGISTER_NAMES \
-{ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", \
-  "r9", "r10", "r11", "r12", "r13", "r14", "r15", \
-  "pc", "ps", "tbr", "rp", "ssp", "usp", "mdh", "mdl" }
-
-/* Offset from address of function to start of its code.
-   Zero on most machines.  */
-#define FUNCTION_START_OFFSET 0
-
-/* Amount PC must be decremented by after a breakpoint.
-   This is often the number of bytes in BREAKPOINT
-   but not always.  */
-
-#define DECR_PC_AFTER_BREAK 0
-
-/* Stack grows downward.  */
-
-#define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
-
-#define R0_REGNUM  0
-#define R1_REGNUM  1
-#define R2_REGNUM  2
-#define R3_REGNUM  3
-#define R4_REGNUM  4
-#define R5_REGNUM  5
-#define R6_REGNUM  6
-#define R7_REGNUM  7
-#define R8_REGNUM  8
-#define R9_REGNUM  9
-#define R10_REGNUM  10
-#define R11_REGNUM  11
-#define R12_REGNUM  12
-#define R13_REGNUM  13
-#define FP_REGNUM 14           /* Frame pointer */
-#define SP_REGNUM 15           /* Stack pointer */
-#define PC_REGNUM 16           /* Program counter */
-#define RP_REGNUM 19           /* Return pointer */
-
-#define FIRST_ARGREG   R4_REGNUM       /* first arg (or struct ret val addr) */
-#define LAST_ARGREG    R7_REGNUM       /* fourth (or third arg) */
-#define RETVAL_REG     R4_REGNUM       /* return vaue */
-
-/* Say how long (ordinary) registers are.  This is a piece of bogosity
-   used in push_word and a few other places; REGISTER_RAW_SIZE is the
-   real way to know how big a register is.  */
-#define REGISTER_SIZE FR30_REGSIZE
-
-/* Number of bytes of storage in the actual machine representation
-   for register N.  */
-#define REGISTER_RAW_SIZE(N) FR30_REGSIZE
-
-/* Largest value REGISTER_RAW_SIZE can have.  */
-#define MAX_REGISTER_RAW_SIZE FR30_REGSIZE
-
-/* Number of bytes of storage in the program's representation
-   for register N.  */
-#define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
-
-/* Largest value REGISTER_VIRTUAL_SIZE can have.  */
-#define MAX_REGISTER_VIRTUAL_SIZE FR30_REGSIZE
-
-extern void fr30_pop_frame (void);
-#define POP_FRAME fr30_pop_frame()
-
-#define USE_GENERIC_DUMMY_FRAMES 1
-#define CALL_DUMMY                   {0}
-#define CALL_DUMMY_START_OFFSET      (0)
-#define CALL_DUMMY_BREAKPOINT_OFFSET (0)
-#define CALL_DUMMY_LOCATION          AT_ENTRY_POINT
-#define FIX_CALL_DUMMY(DUMMY, START, FUNADDR, NARGS, ARGS, TYPE, GCCP)
-#define CALL_DUMMY_ADDRESS()         entry_point_address ()
-#define PUSH_RETURN_ADDRESS(PC, SP)  (write_register(RP_REGNUM, CALL_DUMMY_ADDRESS()), SP)
-#define PUSH_DUMMY_FRAME       generic_push_dummy_frame ()
-
-/* Number of bytes at start of arglist that are not really args.  */
-#define FRAME_ARGS_SKIP 0
-
-/* Return the GDB type object for the "standard" data type
-   of data in register N.  */
-#define REGISTER_VIRTUAL_TYPE(REG) builtin_type_int
-
-/* Extract from an array REGBUF containing the (raw) register state
-   a function return value of type TYPE, and copy that, in virtual format,
-   into VALBUF.  */
-#define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
-    memcpy (VALBUF, REGBUF + REGISTER_BYTE(RETVAL_REG) +  \
-       (TYPE_LENGTH(TYPE) < 4 ? 4 - TYPE_LENGTH(TYPE) : 0), TYPE_LENGTH (TYPE))
-
-/* Extract from an array REGBUF containing the (raw) register state
-   the address in which a function should return its structure value,
-   as a CORE_ADDR (or an expression that can be used as one).  */
-#define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
-  extract_address (REGBUF + REGISTER_BYTE (RETVAL_REG), \
-                  REGISTER_RAW_SIZE (RETVAL_REG))
-
-#define STORE_STRUCT_RETURN(ADDR, SP) \
-  { write_register (RETVAL_REG, (ADDR)); }
-
-#define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
-#define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
-
-/* Return number of args passed to a frame.
-   Can return -1, meaning no way to tell.  */
-#define FRAME_NUM_ARGS(fi) (-1)
-
-/* Forward decls for prototypes */
-struct frame_info;
-struct frame_saved_regs;
-struct type;
-struct value;
-
-#define EXTRA_FRAME_INFO \
-  struct frame_saved_regs fsr;  \
-  int framesize;               \
-  int frameoffset;             \
-  int framereg;
-
-extern CORE_ADDR fr30_frame_chain (struct frame_info *fi);
-#define FRAME_CHAIN(fi) fr30_frame_chain (fi)
-
-extern CORE_ADDR fr30_frame_saved_pc (struct frame_info *);
-#define FRAME_SAVED_PC(fi) (fr30_frame_saved_pc (fi))
-
-#define SAVED_PC_AFTER_CALL(fi) read_register (RP_REGNUM)
-
-extern CORE_ADDR fr30_skip_prologue (CORE_ADDR pc);
-#define SKIP_PROLOGUE(pc) (fr30_skip_prologue (pc))
-
-/* Write into appropriate registers a function return value of type
-   TYPE, given in virtual format.  VALBUF is in the target byte order;
-   it's typically the VALUE_CONTENTS of some struct value, and those
-   are in the target's byte order.  */
-extern void fr30_store_return_value (struct type *type, char *valbuf);
-
-#define STORE_RETURN_VALUE(TYPE,VALBUF) \
-  (fr30_store_return_value ((TYPE), (VALBUF)))
-
-/* Put here the code to store, into a struct frame_saved_regs,
-   the addresses of the saved registers of frame described by FRAME_INFO.
-   This includes special registers such as pc and fp saved in special
-   ways in the stack frame.  sp is even more special:
-   the address we return for it IS the sp for the next frame.  */
-#define FRAME_FIND_SAVED_REGS(fi, regaddr) regaddr = fi->fsr
-
-/* Use INT #BREAKPOINT_INTNUM instruction for breakpoint */
-#define FR30_BREAKOP   0x1f    /* opcode, type D instruction */
-#define BREAKPOINT_INTNUM 9    /* one of the reserved traps */
-#define BREAKPOINT {FR30_BREAKOP, BREAKPOINT_INTNUM}
-
-/* Define this for Wingdb */
-#define TARGET_FR30
-
-/* Define other aspects of the stack frame.  */
-
-/* An expression that tells us whether the function invocation represented
-   by FI does not have a frame on the stack associated with it.  */
-extern int fr30_frameless_function_invocation (struct frame_info *frame);
-#define FRAMELESS_FUNCTION_INVOCATION(FI) (fr30_frameless_function_invocation (FI));
-
-extern void fr30_init_extra_frame_info (struct frame_info *fi);
-#define INIT_EXTRA_FRAME_INFO(fromleaf, fi) fr30_init_extra_frame_info (fi)
-
-#define FRAME_CHAIN_VALID(FP, FI)      generic_file_frame_chain_valid (FP, FI)
-
-extern CORE_ADDR
-fr30_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
-                    int struct_return, CORE_ADDR struct_addr);
-#define PUSH_ARGUMENTS(NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR) \
-  (fr30_push_arguments (NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR))
-
-#define PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP, FP)
-
-/* Fujitsu's ABI requires all structs to be passed using a pointer.
-   That is obviously not very efficient, so I am leaving the definitions
-   to make gdb work with GCC style struct passing, in case we decide
-   to go for better performance, rather than for compatibility with
-   Fujitsu (just change STRUCT_ALWAYS_BY_ADDR to 0) */
-
-#define STRUCT_ALWAYS_BY_ADDR  1
-
-#if(STRUCT_ALWAYS_BY_ADDR)
-#define REG_STRUCT_HAS_ADDR(gcc_p,type)                1
-#else
-/* more standard GCC (optimized) */
-#define REG_STRUCT_HAS_ADDR(gcc_p,type)                \
-               ((TYPE_LENGTH(type) > 4) && (TYPE_LENGTH(type) & 0x3))
-#endif
-/* alway return struct by value by input pointer */
-#define USE_STRUCT_CONVENTION(GCC_P, TYPE)     1
-
-/* The stack should always be aligned on a four-word boundary.  */
-#define STACK_ALIGN(len) (((len) + 3) & ~3)
-
-/* I think the comment about this in value_arg_coerce is wrong; this
-   should be true on any system where you can rely on the prototyping
-   information.  When this is true, value_arg_coerce will promote
-   floats to doubles iff the function is not prototyped.  */
-#define COERCE_FLOAT_TO_DOUBLE(formal, actual) (1)
+// OBSOLETE /* Parameters for execution on a Fujitsu FR30 processor.
+// OBSOLETE    Copyright 1999, 2000 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE    This file is part of GDB.
+// OBSOLETE 
+// OBSOLETE    This program is free software; you can redistribute it and/or modify
+// OBSOLETE    it under the terms of the GNU General Public License as published by
+// OBSOLETE    the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE    (at your option) any later version.
+// OBSOLETE 
+// OBSOLETE    This program is distributed in the hope that it will be useful,
+// OBSOLETE    but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE    GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE    You should have received a copy of the GNU General Public License
+// OBSOLETE    along with this program; if not, write to the Free Software
+// OBSOLETE    Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE    Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE #include "regcache.h"
+// OBSOLETE 
+// OBSOLETE #define FR30_GENREGS               16
+// OBSOLETE #define FR30_DEDICATEDREGS 8
+// OBSOLETE #define FR30_REGSIZE               4       /* bytes */
+// OBSOLETE 
+// OBSOLETE #define NUM_REGS (FR30_GENREGS + FR30_DEDICATEDREGS)
+// OBSOLETE #define REGISTER_BYTES ((FR30_GENREGS + FR30_DEDICATEDREGS)*FR30_REGSIZE)
+// OBSOLETE 
+// OBSOLETE /* Index within `registers' of the first byte of the space for
+// OBSOLETE    register N.  */
+// OBSOLETE #define REGISTER_BYTE(N) ((N) * FR30_REGSIZE)
+// OBSOLETE 
+// OBSOLETE /* Initializer for an array of names of registers.
+// OBSOLETE    There should be NUM_REGS strings in this initializer.  */
+// OBSOLETE #define REGISTER_NAMES \
+// OBSOLETE { "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", \
+// OBSOLETE   "r9", "r10", "r11", "r12", "r13", "r14", "r15", \
+// OBSOLETE   "pc", "ps", "tbr", "rp", "ssp", "usp", "mdh", "mdl" }
+// OBSOLETE 
+// OBSOLETE /* Offset from address of function to start of its code.
+// OBSOLETE    Zero on most machines.  */
+// OBSOLETE #define FUNCTION_START_OFFSET 0
+// OBSOLETE 
+// OBSOLETE /* Amount PC must be decremented by after a breakpoint.
+// OBSOLETE    This is often the number of bytes in BREAKPOINT
+// OBSOLETE    but not always.  */
+// OBSOLETE 
+// OBSOLETE #define DECR_PC_AFTER_BREAK 0
+// OBSOLETE 
+// OBSOLETE /* Stack grows downward.  */
+// OBSOLETE 
+// OBSOLETE #define INNER_THAN(lhs,rhs) ((lhs) < (rhs))
+// OBSOLETE 
+// OBSOLETE #define R0_REGNUM  0
+// OBSOLETE #define R1_REGNUM  1
+// OBSOLETE #define R2_REGNUM  2
+// OBSOLETE #define R3_REGNUM  3
+// OBSOLETE #define R4_REGNUM  4
+// OBSOLETE #define R5_REGNUM  5
+// OBSOLETE #define R6_REGNUM  6
+// OBSOLETE #define R7_REGNUM  7
+// OBSOLETE #define R8_REGNUM  8
+// OBSOLETE #define R9_REGNUM  9
+// OBSOLETE #define R10_REGNUM  10
+// OBSOLETE #define R11_REGNUM  11
+// OBSOLETE #define R12_REGNUM  12
+// OBSOLETE #define R13_REGNUM  13
+// OBSOLETE #define FP_REGNUM 14               /* Frame pointer */
+// OBSOLETE #define SP_REGNUM 15               /* Stack pointer */
+// OBSOLETE #define PC_REGNUM 16               /* Program counter */
+// OBSOLETE #define RP_REGNUM 19               /* Return pointer */
+// OBSOLETE 
+// OBSOLETE #define FIRST_ARGREG       R4_REGNUM       /* first arg (or struct ret val addr) */
+// OBSOLETE #define LAST_ARGREG        R7_REGNUM       /* fourth (or third arg) */
+// OBSOLETE #define RETVAL_REG R4_REGNUM       /* return vaue */
+// OBSOLETE 
+// OBSOLETE /* Say how long (ordinary) registers are.  This is a piece of bogosity
+// OBSOLETE    used in push_word and a few other places; REGISTER_RAW_SIZE is the
+// OBSOLETE    real way to know how big a register is.  */
+// OBSOLETE #define REGISTER_SIZE FR30_REGSIZE
+// OBSOLETE 
+// OBSOLETE /* Number of bytes of storage in the actual machine representation
+// OBSOLETE    for register N.  */
+// OBSOLETE #define REGISTER_RAW_SIZE(N) FR30_REGSIZE
+// OBSOLETE 
+// OBSOLETE /* Largest value REGISTER_RAW_SIZE can have.  */
+// OBSOLETE #define MAX_REGISTER_RAW_SIZE FR30_REGSIZE
+// OBSOLETE 
+// OBSOLETE /* Number of bytes of storage in the program's representation
+// OBSOLETE    for register N.  */
+// OBSOLETE #define REGISTER_VIRTUAL_SIZE(N) REGISTER_RAW_SIZE(N)
+// OBSOLETE 
+// OBSOLETE /* Largest value REGISTER_VIRTUAL_SIZE can have.  */
+// OBSOLETE #define MAX_REGISTER_VIRTUAL_SIZE FR30_REGSIZE
+// OBSOLETE 
+// OBSOLETE extern void fr30_pop_frame (void);
+// OBSOLETE #define POP_FRAME fr30_pop_frame()
+// OBSOLETE 
+// OBSOLETE #define USE_GENERIC_DUMMY_FRAMES 1
+// OBSOLETE #define CALL_DUMMY                   {0}
+// OBSOLETE #define CALL_DUMMY_START_OFFSET      (0)
+// OBSOLETE #define CALL_DUMMY_BREAKPOINT_OFFSET (0)
+// OBSOLETE #define CALL_DUMMY_LOCATION          AT_ENTRY_POINT
+// OBSOLETE #define FIX_CALL_DUMMY(DUMMY, START, FUNADDR, NARGS, ARGS, TYPE, GCCP)
+// OBSOLETE #define CALL_DUMMY_ADDRESS()         entry_point_address ()
+// OBSOLETE #define PUSH_RETURN_ADDRESS(PC, SP)  (write_register(RP_REGNUM, CALL_DUMMY_ADDRESS()), SP)
+// OBSOLETE #define PUSH_DUMMY_FRAME   generic_push_dummy_frame ()
+// OBSOLETE 
+// OBSOLETE /* Number of bytes at start of arglist that are not really args.  */
+// OBSOLETE #define FRAME_ARGS_SKIP 0
+// OBSOLETE 
+// OBSOLETE /* Return the GDB type object for the "standard" data type
+// OBSOLETE    of data in register N.  */
+// OBSOLETE #define REGISTER_VIRTUAL_TYPE(REG) builtin_type_int
+// OBSOLETE 
+// OBSOLETE /* Extract from an array REGBUF containing the (raw) register state
+// OBSOLETE    a function return value of type TYPE, and copy that, in virtual format,
+// OBSOLETE    into VALBUF.  */
+// OBSOLETE #define DEPRECATED_EXTRACT_RETURN_VALUE(TYPE,REGBUF,VALBUF) \
+// OBSOLETE     memcpy (VALBUF, REGBUF + REGISTER_BYTE(RETVAL_REG) +  \
+// OBSOLETE    (TYPE_LENGTH(TYPE) < 4 ? 4 - TYPE_LENGTH(TYPE) : 0), TYPE_LENGTH (TYPE))
+// OBSOLETE 
+// OBSOLETE /* Extract from an array REGBUF containing the (raw) register state
+// OBSOLETE    the address in which a function should return its structure value,
+// OBSOLETE    as a CORE_ADDR (or an expression that can be used as one).  */
+// OBSOLETE #define DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(REGBUF) \
+// OBSOLETE   extract_address (REGBUF + REGISTER_BYTE (RETVAL_REG), \
+// OBSOLETE               REGISTER_RAW_SIZE (RETVAL_REG))
+// OBSOLETE 
+// OBSOLETE #define STORE_STRUCT_RETURN(ADDR, SP) \
+// OBSOLETE   { write_register (RETVAL_REG, (ADDR)); }
+// OBSOLETE 
+// OBSOLETE #define FRAME_ARGS_ADDRESS(fi) ((fi)->frame)
+// OBSOLETE #define FRAME_LOCALS_ADDRESS(fi) ((fi)->frame)
+// OBSOLETE 
+// OBSOLETE /* Return number of args passed to a frame.
+// OBSOLETE    Can return -1, meaning no way to tell.  */
+// OBSOLETE #define FRAME_NUM_ARGS(fi) (-1)
+// OBSOLETE 
+// OBSOLETE /* Forward decls for prototypes */
+// OBSOLETE struct frame_info;
+// OBSOLETE struct frame_saved_regs;
+// OBSOLETE struct type;
+// OBSOLETE struct value;
+// OBSOLETE 
+// OBSOLETE #define EXTRA_FRAME_INFO \
+// OBSOLETE   struct frame_saved_regs fsr;  \
+// OBSOLETE   int framesize;           \
+// OBSOLETE   int frameoffset;         \
+// OBSOLETE   int framereg;
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR fr30_frame_chain (struct frame_info *fi);
+// OBSOLETE #define FRAME_CHAIN(fi) fr30_frame_chain (fi)
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR fr30_frame_saved_pc (struct frame_info *);
+// OBSOLETE #define FRAME_SAVED_PC(fi) (fr30_frame_saved_pc (fi))
+// OBSOLETE 
+// OBSOLETE #define SAVED_PC_AFTER_CALL(fi) read_register (RP_REGNUM)
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR fr30_skip_prologue (CORE_ADDR pc);
+// OBSOLETE #define SKIP_PROLOGUE(pc) (fr30_skip_prologue (pc))
+// OBSOLETE 
+// OBSOLETE /* Write into appropriate registers a function return value of type
+// OBSOLETE    TYPE, given in virtual format.  VALBUF is in the target byte order;
+// OBSOLETE    it's typically the VALUE_CONTENTS of some struct value, and those
+// OBSOLETE    are in the target's byte order.  */
+// OBSOLETE extern void fr30_store_return_value (struct type *type, char *valbuf);
+// OBSOLETE 
+// OBSOLETE #define STORE_RETURN_VALUE(TYPE,VALBUF) \
+// OBSOLETE   (fr30_store_return_value ((TYPE), (VALBUF)))
+// OBSOLETE 
+// OBSOLETE /* Put here the code to store, into a struct frame_saved_regs,
+// OBSOLETE    the addresses of the saved registers of frame described by FRAME_INFO.
+// OBSOLETE    This includes special registers such as pc and fp saved in special
+// OBSOLETE    ways in the stack frame.  sp is even more special:
+// OBSOLETE    the address we return for it IS the sp for the next frame.  */
+// OBSOLETE #define FRAME_FIND_SAVED_REGS(fi, regaddr) regaddr = fi->fsr
+// OBSOLETE 
+// OBSOLETE /* Use INT #BREAKPOINT_INTNUM instruction for breakpoint */
+// OBSOLETE #define FR30_BREAKOP       0x1f    /* opcode, type D instruction */
+// OBSOLETE #define BREAKPOINT_INTNUM 9        /* one of the reserved traps */
+// OBSOLETE #define BREAKPOINT {FR30_BREAKOP, BREAKPOINT_INTNUM}
+// OBSOLETE 
+// OBSOLETE /* Define this for Wingdb */
+// OBSOLETE #define TARGET_FR30
+// OBSOLETE 
+// OBSOLETE /* Define other aspects of the stack frame.  */
+// OBSOLETE 
+// OBSOLETE /* An expression that tells us whether the function invocation represented
+// OBSOLETE    by FI does not have a frame on the stack associated with it.  */
+// OBSOLETE extern int fr30_frameless_function_invocation (struct frame_info *frame);
+// OBSOLETE #define FRAMELESS_FUNCTION_INVOCATION(FI) (fr30_frameless_function_invocation (FI));
+// OBSOLETE 
+// OBSOLETE extern void fr30_init_extra_frame_info (struct frame_info *fi);
+// OBSOLETE #define INIT_EXTRA_FRAME_INFO(fromleaf, fi) fr30_init_extra_frame_info (fi)
+// OBSOLETE 
+// OBSOLETE #define FRAME_CHAIN_VALID(FP, FI)  generic_file_frame_chain_valid (FP, FI)
+// OBSOLETE 
+// OBSOLETE extern CORE_ADDR
+// OBSOLETE fr30_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
+// OBSOLETE                 int struct_return, CORE_ADDR struct_addr);
+// OBSOLETE #define PUSH_ARGUMENTS(NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR) \
+// OBSOLETE   (fr30_push_arguments (NARGS, ARGS, SP, STRUCT_RETURN, STRUCT_ADDR))
+// OBSOLETE 
+// OBSOLETE #define PC_IN_CALL_DUMMY(PC, SP, FP) generic_pc_in_call_dummy (PC, SP, FP)
+// OBSOLETE 
+// OBSOLETE /* Fujitsu's ABI requires all structs to be passed using a pointer.
+// OBSOLETE    That is obviously not very efficient, so I am leaving the definitions
+// OBSOLETE    to make gdb work with GCC style struct passing, in case we decide
+// OBSOLETE    to go for better performance, rather than for compatibility with
+// OBSOLETE    Fujitsu (just change STRUCT_ALWAYS_BY_ADDR to 0) */
+// OBSOLETE 
+// OBSOLETE #define STRUCT_ALWAYS_BY_ADDR      1
+// OBSOLETE 
+// OBSOLETE #if(STRUCT_ALWAYS_BY_ADDR)
+// OBSOLETE #define REG_STRUCT_HAS_ADDR(gcc_p,type)            1
+// OBSOLETE #else
+// OBSOLETE /* more standard GCC (optimized) */
+// OBSOLETE #define REG_STRUCT_HAS_ADDR(gcc_p,type)            \
+// OBSOLETE            ((TYPE_LENGTH(type) > 4) && (TYPE_LENGTH(type) & 0x3))
+// OBSOLETE #endif
+// OBSOLETE /* alway return struct by value by input pointer */
+// OBSOLETE #define USE_STRUCT_CONVENTION(GCC_P, TYPE) 1
+// OBSOLETE 
+// OBSOLETE /* The stack should always be aligned on a four-word boundary.  */
+// OBSOLETE #define STACK_ALIGN(len) (((len) + 3) & ~3)
+// OBSOLETE 
+// OBSOLETE /* I think the comment about this in value_arg_coerce is wrong; this
+// OBSOLETE    should be true on any system where you can rely on the prototyping
+// OBSOLETE    information.  When this is true, value_arg_coerce will promote
+// OBSOLETE    floats to doubles iff the function is not prototyped.  */
+// OBSOLETE #define COERCE_FLOAT_TO_DOUBLE(formal, actual) (1)
index dd48ae5..6ef9d07 100644 (file)
@@ -72,7 +72,7 @@ h8300-*-*)            gdb_target=h8300 ;;
 h8500-*-*)             gdb_target=h8500 ;;
 
 
-fr30-*-elf*)           gdb_target=fr30 ;;
+# OBSOLETE fr30-*-elf*)                gdb_target=fr30 ;;
 
 frv-*-*)               gdb_target=frv ;;
 
@@ -285,8 +285,8 @@ xstormy16-*-*)          gdb_target=xstormy16 ;;
 
 vax-*-*)               gdb_target=vax ;;
 
-fr30-*-*)              gdb_target=fr30
-                       ;;
+# OBSOLETE fr30-*-*)           gdb_target=fr30
+# OBSOLETE                     ;;
 
 v850*-*-*)             gdb_target=v850
                        case ${gdb_host} in
index 09f886f..12e9f7e 100644 (file)
-/* Target-dependent code for the Fujitsu FR30.
-   Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
-
-   This file is part of GDB.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-#include "defs.h"
-#include "frame.h"
-#include "inferior.h"
-#include "obstack.h"
-#include "target.h"
-#include "value.h"
-#include "bfd.h"
-#include "gdb_string.h"
-#include "gdbcore.h"
-#include "symfile.h"
-#include "regcache.h"
-
-/* An expression that tells us whether the function invocation represented
-   by FI does not have a frame on the stack associated with it.  */
-int
-fr30_frameless_function_invocation (struct frame_info *fi)
-{
-  int frameless;
-  CORE_ADDR func_start, after_prologue;
-  func_start = (get_pc_function_start ((fi)->pc) +
-               FUNCTION_START_OFFSET);
-  after_prologue = func_start;
-  after_prologue = SKIP_PROLOGUE (after_prologue);
-  frameless = (after_prologue == func_start);
-  return frameless;
-}
-
-/* Function: pop_frame
-   This routine gets called when either the user uses the `return'
-   command, or the call dummy breakpoint gets hit.  */
-
-void
-fr30_pop_frame (void)
-{
-  struct frame_info *frame = get_current_frame ();
-  int regnum;
-  CORE_ADDR sp = read_register (SP_REGNUM);
-
-  if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame))
-    generic_pop_dummy_frame ();
-  else
-    {
-      write_register (PC_REGNUM, FRAME_SAVED_PC (frame));
-
-      for (regnum = 0; regnum < NUM_REGS; regnum++)
-       if (frame->fsr.regs[regnum] != 0)
-         {
-           write_register (regnum,
-                     read_memory_unsigned_integer (frame->fsr.regs[regnum],
-                                              REGISTER_RAW_SIZE (regnum)));
-         }
-      write_register (SP_REGNUM, sp + frame->framesize);
-    }
-  flush_cached_frames ();
-}
-
-
-/* Function: fr30_store_return_value
-   Put a value where a caller expects to see it.  Used by the 'return'
-   command.  */
-void
-fr30_store_return_value (struct type *type,
-                        char *valbuf)
-{
-  /* Here's how the FR30 returns values (gleaned from gcc/config/
-     fr30/fr30.h):
-
-     If the return value is 32 bits long or less, it goes in r4.
-
-     If the return value is 64 bits long or less, it goes in r4 (most
-     significant word) and r5 (least significant word.
-
-     If the function returns a structure, of any size, the caller
-     passes the function an invisible first argument where the callee
-     should store the value.  But GDB doesn't let you do that anyway.
-
-     If you're returning a value smaller than a word, it's not really
-     necessary to zero the upper bytes of the register; the caller is
-     supposed to ignore them.  However, the FR30 typically keeps its
-     values extended to the full register width, so we should emulate
-     that.  */
-
-  /* The FR30 is big-endian, so if we return a small value (like a
-     short or a char), we need to position it correctly within the
-     register.  We round the size up to a register boundary, and then
-     adjust the offset so as to place the value at the right end.  */
-  int value_size = TYPE_LENGTH (type);
-  int returned_size = (value_size + FR30_REGSIZE - 1) & ~(FR30_REGSIZE - 1);
-  int offset = (REGISTER_BYTE (RETVAL_REG)
-               + (returned_size - value_size));
-  char *zeros = alloca (returned_size);
-  memset (zeros, 0, returned_size);
-
-  write_register_bytes (REGISTER_BYTE (RETVAL_REG), zeros, returned_size);
-  write_register_bytes (offset, valbuf, value_size);
-}
-
-
-/* Function: skip_prologue
-   Return the address of the first code past the prologue of the function.  */
-
-CORE_ADDR
-fr30_skip_prologue (CORE_ADDR pc)
-{
-  CORE_ADDR func_addr, func_end;
-
-  /* See what the symbol table says */
-
-  if (find_pc_partial_function (pc, NULL, &func_addr, &func_end))
-    {
-      struct symtab_and_line sal;
-
-      sal = find_pc_line (func_addr, 0);
-
-      if (sal.line != 0 && sal.end < func_end)
-       {
-         return sal.end;
-       }
-    }
-
-/* Either we didn't find the start of this function (nothing we can do),
-   or there's no line info, or the line after the prologue is after
-   the end of the function (there probably isn't a prologue). */
-
-  return pc;
-}
-
-
-/* Function: push_arguments
-   Setup arguments and RP for a call to the target.  First four args
-   go in FIRST_ARGREG -> LAST_ARGREG, subsequent args go on stack...
-   Structs are passed by reference.  XXX not right now Z.R.
-   64 bit quantities (doubles and long longs) may be split between
-   the regs and the stack.
-   When calling a function that returns a struct, a pointer to the struct
-   is passed in as a secret first argument (always in FIRST_ARGREG).
-
-   Stack space for the args has NOT been allocated: that job is up to us.
- */
-
-CORE_ADDR
-fr30_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
-                    int struct_return, CORE_ADDR struct_addr)
-{
-  int argreg;
-  int argnum;
-  int stack_offset;
-  struct stack_arg
-    {
-      char *val;
-      int len;
-      int offset;
-    };
-  struct stack_arg *stack_args =
-  (struct stack_arg *) alloca (nargs * sizeof (struct stack_arg));
-  int nstack_args = 0;
-
-  argreg = FIRST_ARGREG;
-
-  /* the struct_return pointer occupies the first parameter-passing reg */
-  if (struct_return)
-    write_register (argreg++, struct_addr);
-
-  stack_offset = 0;
-
-  /* Process args from left to right.  Store as many as allowed in
-     registers, save the rest to be pushed on the stack */
-  for (argnum = 0; argnum < nargs; argnum++)
-    {
-      char *val;
-      struct value *arg = args[argnum];
-      struct type *arg_type = check_typedef (VALUE_TYPE (arg));
-      struct type *target_type = TYPE_TARGET_TYPE (arg_type);
-      int len = TYPE_LENGTH (arg_type);
-      enum type_code typecode = TYPE_CODE (arg_type);
-      CORE_ADDR regval;
-      int newarg;
-
-      val = (char *) VALUE_CONTENTS (arg);
-
-      {
-       /* Copy the argument to general registers or the stack in
-          register-sized pieces.  Large arguments are split between
-          registers and stack.  */
-       while (len > 0)
-         {
-           if (argreg <= LAST_ARGREG)
-             {
-               int partial_len = len < REGISTER_SIZE ? len : REGISTER_SIZE;
-               regval = extract_address (val, partial_len);
-
-               /* It's a simple argument being passed in a general
-                  register.  */
-               write_register (argreg, regval);
-               argreg++;
-               len -= partial_len;
-               val += partial_len;
-             }
-           else
-             {
-               /* keep for later pushing */
-               stack_args[nstack_args].val = val;
-               stack_args[nstack_args++].len = len;
-               break;
-             }
-         }
-      }
-    }
-  /* now do the real stack pushing, process args right to left */
-  while (nstack_args--)
-    {
-      sp -= stack_args[nstack_args].len;
-      write_memory (sp, stack_args[nstack_args].val,
-                   stack_args[nstack_args].len);
-    }
-
-  /* Return adjusted stack pointer.  */
-  return sp;
-}
-
-void _initialize_fr30_tdep (void);
-
-void
-_initialize_fr30_tdep (void)
-{
-  extern int print_insn_fr30 (bfd_vma, disassemble_info *);
-  tm_print_insn = print_insn_fr30;
-}
-
-/* Function: check_prologue_cache
-   Check if prologue for this frame's PC has already been scanned.
-   If it has, copy the relevant information about that prologue and
-   return non-zero.  Otherwise do not copy anything and return zero.
-
-   The information saved in the cache includes:
-   * the frame register number;
-   * the size of the stack frame;
-   * the offsets of saved regs (relative to the old SP); and
-   * the offset from the stack pointer to the frame pointer
-
-   The cache contains only one entry, since this is adequate
-   for the typical sequence of prologue scan requests we get.
-   When performing a backtrace, GDB will usually ask to scan
-   the same function twice in a row (once to get the frame chain,
-   and once to fill in the extra frame information).
- */
-
-static struct frame_info prologue_cache;
-
-static int
-check_prologue_cache (struct frame_info *fi)
-{
-  int i;
-
-  if (fi->pc == prologue_cache.pc)
-    {
-      fi->framereg = prologue_cache.framereg;
-      fi->framesize = prologue_cache.framesize;
-      fi->frameoffset = prologue_cache.frameoffset;
-      for (i = 0; i <= NUM_REGS; i++)
-       fi->fsr.regs[i] = prologue_cache.fsr.regs[i];
-      return 1;
-    }
-  else
-    return 0;
-}
-
-
-/* Function: save_prologue_cache
-   Copy the prologue information from fi to the prologue cache.
- */
-
-static void
-save_prologue_cache (struct frame_info *fi)
-{
-  int i;
-
-  prologue_cache.pc = fi->pc;
-  prologue_cache.framereg = fi->framereg;
-  prologue_cache.framesize = fi->framesize;
-  prologue_cache.frameoffset = fi->frameoffset;
-
-  for (i = 0; i <= NUM_REGS; i++)
-    {
-      prologue_cache.fsr.regs[i] = fi->fsr.regs[i];
-    }
-}
-
-
-/* Function: scan_prologue
-   Scan the prologue of the function that contains PC, and record what
-   we find in PI.  PI->fsr must be zeroed by the called.  Returns the
-   pc after the prologue.  Note that the addresses saved in pi->fsr
-   are actually just frame relative (negative offsets from the frame
-   pointer).  This is because we don't know the actual value of the
-   frame pointer yet.  In some circumstances, the frame pointer can't
-   be determined till after we have scanned the prologue.  */
-
-static void
-fr30_scan_prologue (struct frame_info *fi)
-{
-  int sp_offset, fp_offset;
-  CORE_ADDR prologue_start, prologue_end, current_pc;
-
-  /* Check if this function is already in the cache of frame information. */
-  if (check_prologue_cache (fi))
-    return;
-
-  /* Assume there is no frame until proven otherwise.  */
-  fi->framereg = SP_REGNUM;
-  fi->framesize = 0;
-  fi->frameoffset = 0;
-
-  /* Find the function prologue.  If we can't find the function in
-     the symbol table, peek in the stack frame to find the PC.  */
-  if (find_pc_partial_function (fi->pc, NULL, &prologue_start, &prologue_end))
-    {
-      /* Assume the prologue is everything between the first instruction
-         in the function and the first source line.  */
-      struct symtab_and_line sal = find_pc_line (prologue_start, 0);
-
-      if (sal.line == 0)       /* no line info, use current PC */
-       prologue_end = fi->pc;
-      else if (sal.end < prologue_end) /* next line begins after fn end */
-       prologue_end = sal.end; /* (probably means no prologue)  */
-    }
-  else
-    {
-      /* XXX Z.R. What now??? The following is entirely bogus */
-      prologue_start = (read_memory_integer (fi->frame, 4) & 0x03fffffc) - 12;
-      prologue_end = prologue_start + 40;
-    }
-
-  /* Now search the prologue looking for instructions that set up the
-     frame pointer, adjust the stack pointer, and save registers.  */
-
-  sp_offset = fp_offset = 0;
-  for (current_pc = prologue_start; current_pc < prologue_end; current_pc += 2)
-    {
-      unsigned int insn;
-
-      insn = read_memory_unsigned_integer (current_pc, 2);
-
-      if ((insn & 0xfe00) == 0x8e00)   /* stm0 or stm1 */
-       {
-         int reg, mask = insn & 0xff;
-
-         /* scan in one sweep - create virtual 16-bit mask from either insn's mask */
-         if ((insn & 0x0100) == 0)
-           {
-             mask <<= 8;       /* stm0 - move to upper byte in virtual mask */
-           }
-
-         /* Calculate offsets of saved registers (to be turned later into addresses). */
-         for (reg = R4_REGNUM; reg <= R11_REGNUM; reg++)
-           if (mask & (1 << (15 - reg)))
-             {
-               sp_offset -= 4;
-               fi->fsr.regs[reg] = sp_offset;
-             }
-       }
-      else if ((insn & 0xfff0) == 0x1700)      /* st rx,@-r15 */
-       {
-         int reg = insn & 0xf;
-
-         sp_offset -= 4;
-         fi->fsr.regs[reg] = sp_offset;
-       }
-      else if ((insn & 0xff00) == 0x0f00)      /* enter */
-       {
-         fp_offset = fi->fsr.regs[FP_REGNUM] = sp_offset - 4;
-         sp_offset -= 4 * (insn & 0xff);
-         fi->framereg = FP_REGNUM;
-       }
-      else if (insn == 0x1781) /* st rp,@-sp */
-       {
-         sp_offset -= 4;
-         fi->fsr.regs[RP_REGNUM] = sp_offset;
-       }
-      else if (insn == 0x170e) /* st fp,@-sp */
-       {
-         sp_offset -= 4;
-         fi->fsr.regs[FP_REGNUM] = sp_offset;
-       }
-      else if (insn == 0x8bfe) /* mov sp,fp */
-       {
-         fi->framereg = FP_REGNUM;
-       }
-      else if ((insn & 0xff00) == 0xa300)      /* addsp xx */
-       {
-         sp_offset += 4 * (signed char) (insn & 0xff);
-       }
-      else if ((insn & 0xff0f) == 0x9b00 &&    /* ldi:20 xx,r0 */
-              read_memory_unsigned_integer (current_pc + 4, 2)
-              == 0xac0f)       /* sub r0,sp */
-       {
-         /* large stack adjustment */
-         sp_offset -= (((insn & 0xf0) << 12) | read_memory_unsigned_integer (current_pc + 2, 2));
-         current_pc += 4;
-       }
-      else if (insn == 0x9f80 &&       /* ldi:32 xx,r0 */
-              read_memory_unsigned_integer (current_pc + 6, 2)
-              == 0xac0f)       /* sub r0,sp */
-       {
-         /* large stack adjustment */
-         sp_offset -=
-           (read_memory_unsigned_integer (current_pc + 2, 2) << 16 |
-            read_memory_unsigned_integer (current_pc + 4, 2));
-         current_pc += 6;
-       }
-    }
-
-  /* The frame size is just the negative of the offset (from the original SP)
-     of the last thing thing we pushed on the stack.  The frame offset is
-     [new FP] - [new SP].  */
-  fi->framesize = -sp_offset;
-  fi->frameoffset = fp_offset - sp_offset;
-
-  save_prologue_cache (fi);
-}
-
-/* Function: init_extra_frame_info
-   Setup the frame's frame pointer, pc, and frame addresses for saved
-   registers.  Most of the work is done in scan_prologue().
-
-   Note that when we are called for the last frame (currently active frame),
-   that fi->pc and fi->frame will already be setup.  However, fi->frame will
-   be valid only if this routine uses FP.  For previous frames, fi-frame will
-   always be correct (since that is derived from fr30_frame_chain ()).
-
-   We can be called with the PC in the call dummy under two circumstances.
-   First, during normal backtracing, second, while figuring out the frame
-   pointer just prior to calling the target function (see run_stack_dummy).  */
-
-void
-fr30_init_extra_frame_info (struct frame_info *fi)
-{
-  int reg;
-
-  if (fi->next)
-    fi->pc = FRAME_SAVED_PC (fi->next);
-
-  memset (fi->fsr.regs, '\000', sizeof fi->fsr.regs);
-
-  if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
-    {
-      /* We need to setup fi->frame here because run_stack_dummy gets it wrong
-         by assuming it's always FP.  */
-      fi->frame = generic_read_register_dummy (fi->pc, fi->frame, SP_REGNUM);
-      fi->framesize = 0;
-      fi->frameoffset = 0;
-      return;
-    }
-  fr30_scan_prologue (fi);
-
-  if (!fi->next)               /* this is the innermost frame? */
-    fi->frame = read_register (fi->framereg);
-  else
-    /* not the innermost frame */
-    /* If we have an FP,  the callee saved it. */
-    if (fi->framereg == FP_REGNUM)
-      if (fi->next->fsr.regs[fi->framereg] != 0)
-       fi->frame = read_memory_integer (fi->next->fsr.regs[fi->framereg], 4);
-
-  /* Calculate actual addresses of saved registers using offsets determined
-     by fr30_scan_prologue.  */
-  for (reg = 0; reg < NUM_REGS; reg++)
-    if (fi->fsr.regs[reg] != 0)
-      {
-       fi->fsr.regs[reg] += fi->frame + fi->framesize - fi->frameoffset;
-      }
-}
-
-/* Function: find_callers_reg
-   Find REGNUM on the stack.  Otherwise, it's in an active register.
-   One thing we might want to do here is to check REGNUM against the
-   clobber mask, and somehow flag it as invalid if it isn't saved on
-   the stack somewhere.  This would provide a graceful failure mode
-   when trying to get the value of caller-saves registers for an inner
-   frame.  */
-
-CORE_ADDR
-fr30_find_callers_reg (struct frame_info *fi, int regnum)
-{
-  for (; fi; fi = fi->next)
-    if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
-      return generic_read_register_dummy (fi->pc, fi->frame, regnum);
-    else if (fi->fsr.regs[regnum] != 0)
-      return read_memory_unsigned_integer (fi->fsr.regs[regnum],
-                                          REGISTER_RAW_SIZE (regnum));
-
-  return read_register (regnum);
-}
-
-
-/* Function: frame_chain
-   Figure out the frame prior to FI.  Unfortunately, this involves
-   scanning the prologue of the caller, which will also be done
-   shortly by fr30_init_extra_frame_info.  For the dummy frame, we
-   just return the stack pointer that was in use at the time the
-   function call was made.  */
-
-
-CORE_ADDR
-fr30_frame_chain (struct frame_info *fi)
-{
-  CORE_ADDR fn_start, callers_pc, fp;
-  struct frame_info caller_fi;
-  int framereg;
-
-  /* is this a dummy frame? */
-  if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
-    return fi->frame;          /* dummy frame same as caller's frame */
-
-  /* is caller-of-this a dummy frame? */
-  callers_pc = FRAME_SAVED_PC (fi);    /* find out who called us: */
-  fp = fr30_find_callers_reg (fi, FP_REGNUM);
-  if (PC_IN_CALL_DUMMY (callers_pc, fp, fp))
-    return fp;                 /* dummy frame's frame may bear no relation to ours */
-
-  if (find_pc_partial_function (fi->pc, 0, &fn_start, 0))
-    if (fn_start == entry_point_address ())
-      return 0;                        /* in _start fn, don't chain further */
-
-  framereg = fi->framereg;
-
-  /* If the caller is the startup code, we're at the end of the chain.  */
-  if (find_pc_partial_function (callers_pc, 0, &fn_start, 0))
-    if (fn_start == entry_point_address ())
-      return 0;
-
-  memset (&caller_fi, 0, sizeof (caller_fi));
-  caller_fi.pc = callers_pc;
-  fr30_scan_prologue (&caller_fi);
-  framereg = caller_fi.framereg;
-
-  /* If the caller used a frame register, return its value.
-     Otherwise, return the caller's stack pointer.  */
-  if (framereg == FP_REGNUM)
-    return fr30_find_callers_reg (fi, framereg);
-  else
-    return fi->frame + fi->framesize;
-}
-
-/* Function: frame_saved_pc 
-   Find the caller of this frame.  We do this by seeing if RP_REGNUM
-   is saved in the stack anywhere, otherwise we get it from the
-   registers.  If the inner frame is a dummy frame, return its PC
-   instead of RP, because that's where "caller" of the dummy-frame
-   will be found.  */
-
-CORE_ADDR
-fr30_frame_saved_pc (struct frame_info *fi)
-{
-  if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
-    return generic_read_register_dummy (fi->pc, fi->frame, PC_REGNUM);
-  else
-    return fr30_find_callers_reg (fi, RP_REGNUM);
-}
-
-/* Function: fix_call_dummy
-   Pokes the callee function's address into the CALL_DUMMY assembly stub.
-   Assumes that the CALL_DUMMY looks like this:
-   jarl <offset24>, r31
-   trap
- */
-
-int
-fr30_fix_call_dummy (char *dummy, CORE_ADDR sp, CORE_ADDR fun, int nargs,
-                    struct value **args, struct type *type, int gcc_p)
-{
-  long offset24;
-
-  offset24 = (long) fun - (long) entry_point_address ();
-  offset24 &= 0x3fffff;
-  offset24 |= 0xff800000;      /* jarl <offset24>, r31 */
-
-  store_unsigned_integer ((unsigned int *) &dummy[2], 2, offset24 & 0xffff);
-  store_unsigned_integer ((unsigned int *) &dummy[0], 2, offset24 >> 16);
-  return 0;
-}
+// OBSOLETE /* Target-dependent code for the Fujitsu FR30.
+// OBSOLETE    Copyright 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE    This file is part of GDB.
+// OBSOLETE 
+// OBSOLETE    This program is free software; you can redistribute it and/or modify
+// OBSOLETE    it under the terms of the GNU General Public License as published by
+// OBSOLETE    the Free Software Foundation; either version 2 of the License, or
+// OBSOLETE    (at your option) any later version.
+// OBSOLETE 
+// OBSOLETE    This program is distributed in the hope that it will be useful,
+// OBSOLETE    but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE    GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE    You should have received a copy of the GNU General Public License
+// OBSOLETE    along with this program; if not, write to the Free Software
+// OBSOLETE    Foundation, Inc., 59 Temple Place - Suite 330,
+// OBSOLETE    Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE #include "defs.h"
+// OBSOLETE #include "frame.h"
+// OBSOLETE #include "inferior.h"
+// OBSOLETE #include "obstack.h"
+// OBSOLETE #include "target.h"
+// OBSOLETE #include "value.h"
+// OBSOLETE #include "bfd.h"
+// OBSOLETE #include "gdb_string.h"
+// OBSOLETE #include "gdbcore.h"
+// OBSOLETE #include "symfile.h"
+// OBSOLETE #include "regcache.h"
+// OBSOLETE 
+// OBSOLETE /* An expression that tells us whether the function invocation represented
+// OBSOLETE    by FI does not have a frame on the stack associated with it.  */
+// OBSOLETE int
+// OBSOLETE fr30_frameless_function_invocation (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   int frameless;
+// OBSOLETE   CORE_ADDR func_start, after_prologue;
+// OBSOLETE   func_start = (get_pc_function_start ((fi)->pc) +
+// OBSOLETE            FUNCTION_START_OFFSET);
+// OBSOLETE   after_prologue = func_start;
+// OBSOLETE   after_prologue = SKIP_PROLOGUE (after_prologue);
+// OBSOLETE   frameless = (after_prologue == func_start);
+// OBSOLETE   return frameless;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Function: pop_frame
+// OBSOLETE    This routine gets called when either the user uses the `return'
+// OBSOLETE    command, or the call dummy breakpoint gets hit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30_pop_frame (void)
+// OBSOLETE {
+// OBSOLETE   struct frame_info *frame = get_current_frame ();
+// OBSOLETE   int regnum;
+// OBSOLETE   CORE_ADDR sp = read_register (SP_REGNUM);
+// OBSOLETE 
+// OBSOLETE   if (PC_IN_CALL_DUMMY (frame->pc, frame->frame, frame->frame))
+// OBSOLETE     generic_pop_dummy_frame ();
+// OBSOLETE   else
+// OBSOLETE     {
+// OBSOLETE       write_register (PC_REGNUM, FRAME_SAVED_PC (frame));
+// OBSOLETE 
+// OBSOLETE       for (regnum = 0; regnum < NUM_REGS; regnum++)
+// OBSOLETE    if (frame->fsr.regs[regnum] != 0)
+// OBSOLETE      {
+// OBSOLETE        write_register (regnum,
+// OBSOLETE                  read_memory_unsigned_integer (frame->fsr.regs[regnum],
+// OBSOLETE                                           REGISTER_RAW_SIZE (regnum)));
+// OBSOLETE      }
+// OBSOLETE       write_register (SP_REGNUM, sp + frame->framesize);
+// OBSOLETE     }
+// OBSOLETE   flush_cached_frames ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Function: fr30_store_return_value
+// OBSOLETE    Put a value where a caller expects to see it.  Used by the 'return'
+// OBSOLETE    command.  */
+// OBSOLETE void
+// OBSOLETE fr30_store_return_value (struct type *type,
+// OBSOLETE                     char *valbuf)
+// OBSOLETE {
+// OBSOLETE   /* Here's how the FR30 returns values (gleaned from gcc/config/
+// OBSOLETE      fr30/fr30.h):
+// OBSOLETE 
+// OBSOLETE      If the return value is 32 bits long or less, it goes in r4.
+// OBSOLETE 
+// OBSOLETE      If the return value is 64 bits long or less, it goes in r4 (most
+// OBSOLETE      significant word) and r5 (least significant word.
+// OBSOLETE 
+// OBSOLETE      If the function returns a structure, of any size, the caller
+// OBSOLETE      passes the function an invisible first argument where the callee
+// OBSOLETE      should store the value.  But GDB doesn't let you do that anyway.
+// OBSOLETE 
+// OBSOLETE      If you're returning a value smaller than a word, it's not really
+// OBSOLETE      necessary to zero the upper bytes of the register; the caller is
+// OBSOLETE      supposed to ignore them.  However, the FR30 typically keeps its
+// OBSOLETE      values extended to the full register width, so we should emulate
+// OBSOLETE      that.  */
+// OBSOLETE 
+// OBSOLETE   /* The FR30 is big-endian, so if we return a small value (like a
+// OBSOLETE      short or a char), we need to position it correctly within the
+// OBSOLETE      register.  We round the size up to a register boundary, and then
+// OBSOLETE      adjust the offset so as to place the value at the right end.  */
+// OBSOLETE   int value_size = TYPE_LENGTH (type);
+// OBSOLETE   int returned_size = (value_size + FR30_REGSIZE - 1) & ~(FR30_REGSIZE - 1);
+// OBSOLETE   int offset = (REGISTER_BYTE (RETVAL_REG)
+// OBSOLETE            + (returned_size - value_size));
+// OBSOLETE   char *zeros = alloca (returned_size);
+// OBSOLETE   memset (zeros, 0, returned_size);
+// OBSOLETE 
+// OBSOLETE   write_register_bytes (REGISTER_BYTE (RETVAL_REG), zeros, returned_size);
+// OBSOLETE   write_register_bytes (offset, valbuf, value_size);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Function: skip_prologue
+// OBSOLETE    Return the address of the first code past the prologue of the function.  */
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE fr30_skip_prologue (CORE_ADDR pc)
+// OBSOLETE {
+// OBSOLETE   CORE_ADDR func_addr, func_end;
+// OBSOLETE 
+// OBSOLETE   /* See what the symbol table says */
+// OBSOLETE 
+// OBSOLETE   if (find_pc_partial_function (pc, NULL, &func_addr, &func_end))
+// OBSOLETE     {
+// OBSOLETE       struct symtab_and_line sal;
+// OBSOLETE 
+// OBSOLETE       sal = find_pc_line (func_addr, 0);
+// OBSOLETE 
+// OBSOLETE       if (sal.line != 0 && sal.end < func_end)
+// OBSOLETE    {
+// OBSOLETE      return sal.end;
+// OBSOLETE    }
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE /* Either we didn't find the start of this function (nothing we can do),
+// OBSOLETE    or there's no line info, or the line after the prologue is after
+// OBSOLETE    the end of the function (there probably isn't a prologue). */
+// OBSOLETE 
+// OBSOLETE   return pc;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Function: push_arguments
+// OBSOLETE    Setup arguments and RP for a call to the target.  First four args
+// OBSOLETE    go in FIRST_ARGREG -> LAST_ARGREG, subsequent args go on stack...
+// OBSOLETE    Structs are passed by reference.  XXX not right now Z.R.
+// OBSOLETE    64 bit quantities (doubles and long longs) may be split between
+// OBSOLETE    the regs and the stack.
+// OBSOLETE    When calling a function that returns a struct, a pointer to the struct
+// OBSOLETE    is passed in as a secret first argument (always in FIRST_ARGREG).
+// OBSOLETE 
+// OBSOLETE    Stack space for the args has NOT been allocated: that job is up to us.
+// OBSOLETE  */
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE fr30_push_arguments (int nargs, struct value **args, CORE_ADDR sp,
+// OBSOLETE                 int struct_return, CORE_ADDR struct_addr)
+// OBSOLETE {
+// OBSOLETE   int argreg;
+// OBSOLETE   int argnum;
+// OBSOLETE   int stack_offset;
+// OBSOLETE   struct stack_arg
+// OBSOLETE     {
+// OBSOLETE       char *val;
+// OBSOLETE       int len;
+// OBSOLETE       int offset;
+// OBSOLETE     };
+// OBSOLETE   struct stack_arg *stack_args =
+// OBSOLETE   (struct stack_arg *) alloca (nargs * sizeof (struct stack_arg));
+// OBSOLETE   int nstack_args = 0;
+// OBSOLETE 
+// OBSOLETE   argreg = FIRST_ARGREG;
+// OBSOLETE 
+// OBSOLETE   /* the struct_return pointer occupies the first parameter-passing reg */
+// OBSOLETE   if (struct_return)
+// OBSOLETE     write_register (argreg++, struct_addr);
+// OBSOLETE 
+// OBSOLETE   stack_offset = 0;
+// OBSOLETE 
+// OBSOLETE   /* Process args from left to right.  Store as many as allowed in
+// OBSOLETE      registers, save the rest to be pushed on the stack */
+// OBSOLETE   for (argnum = 0; argnum < nargs; argnum++)
+// OBSOLETE     {
+// OBSOLETE       char *val;
+// OBSOLETE       struct value *arg = args[argnum];
+// OBSOLETE       struct type *arg_type = check_typedef (VALUE_TYPE (arg));
+// OBSOLETE       struct type *target_type = TYPE_TARGET_TYPE (arg_type);
+// OBSOLETE       int len = TYPE_LENGTH (arg_type);
+// OBSOLETE       enum type_code typecode = TYPE_CODE (arg_type);
+// OBSOLETE       CORE_ADDR regval;
+// OBSOLETE       int newarg;
+// OBSOLETE 
+// OBSOLETE       val = (char *) VALUE_CONTENTS (arg);
+// OBSOLETE 
+// OBSOLETE       {
+// OBSOLETE    /* Copy the argument to general registers or the stack in
+// OBSOLETE       register-sized pieces.  Large arguments are split between
+// OBSOLETE       registers and stack.  */
+// OBSOLETE    while (len > 0)
+// OBSOLETE      {
+// OBSOLETE        if (argreg <= LAST_ARGREG)
+// OBSOLETE          {
+// OBSOLETE            int partial_len = len < REGISTER_SIZE ? len : REGISTER_SIZE;
+// OBSOLETE            regval = extract_address (val, partial_len);
+// OBSOLETE 
+// OBSOLETE            /* It's a simple argument being passed in a general
+// OBSOLETE               register.  */
+// OBSOLETE            write_register (argreg, regval);
+// OBSOLETE            argreg++;
+// OBSOLETE            len -= partial_len;
+// OBSOLETE            val += partial_len;
+// OBSOLETE          }
+// OBSOLETE        else
+// OBSOLETE          {
+// OBSOLETE            /* keep for later pushing */
+// OBSOLETE            stack_args[nstack_args].val = val;
+// OBSOLETE            stack_args[nstack_args++].len = len;
+// OBSOLETE            break;
+// OBSOLETE          }
+// OBSOLETE      }
+// OBSOLETE       }
+// OBSOLETE     }
+// OBSOLETE   /* now do the real stack pushing, process args right to left */
+// OBSOLETE   while (nstack_args--)
+// OBSOLETE     {
+// OBSOLETE       sp -= stack_args[nstack_args].len;
+// OBSOLETE       write_memory (sp, stack_args[nstack_args].val,
+// OBSOLETE                stack_args[nstack_args].len);
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* Return adjusted stack pointer.  */
+// OBSOLETE   return sp;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void _initialize_fr30_tdep (void);
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE _initialize_fr30_tdep (void)
+// OBSOLETE {
+// OBSOLETE   extern int print_insn_fr30 (bfd_vma, disassemble_info *);
+// OBSOLETE   tm_print_insn = print_insn_fr30;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Function: check_prologue_cache
+// OBSOLETE    Check if prologue for this frame's PC has already been scanned.
+// OBSOLETE    If it has, copy the relevant information about that prologue and
+// OBSOLETE    return non-zero.  Otherwise do not copy anything and return zero.
+// OBSOLETE 
+// OBSOLETE    The information saved in the cache includes:
+// OBSOLETE    * the frame register number;
+// OBSOLETE    * the size of the stack frame;
+// OBSOLETE    * the offsets of saved regs (relative to the old SP); and
+// OBSOLETE    * the offset from the stack pointer to the frame pointer
+// OBSOLETE 
+// OBSOLETE    The cache contains only one entry, since this is adequate
+// OBSOLETE    for the typical sequence of prologue scan requests we get.
+// OBSOLETE    When performing a backtrace, GDB will usually ask to scan
+// OBSOLETE    the same function twice in a row (once to get the frame chain,
+// OBSOLETE    and once to fill in the extra frame information).
+// OBSOLETE  */
+// OBSOLETE 
+// OBSOLETE static struct frame_info prologue_cache;
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE check_prologue_cache (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   int i;
+// OBSOLETE 
+// OBSOLETE   if (fi->pc == prologue_cache.pc)
+// OBSOLETE     {
+// OBSOLETE       fi->framereg = prologue_cache.framereg;
+// OBSOLETE       fi->framesize = prologue_cache.framesize;
+// OBSOLETE       fi->frameoffset = prologue_cache.frameoffset;
+// OBSOLETE       for (i = 0; i <= NUM_REGS; i++)
+// OBSOLETE    fi->fsr.regs[i] = prologue_cache.fsr.regs[i];
+// OBSOLETE       return 1;
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE     return 0;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Function: save_prologue_cache
+// OBSOLETE    Copy the prologue information from fi to the prologue cache.
+// OBSOLETE  */
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE save_prologue_cache (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   int i;
+// OBSOLETE 
+// OBSOLETE   prologue_cache.pc = fi->pc;
+// OBSOLETE   prologue_cache.framereg = fi->framereg;
+// OBSOLETE   prologue_cache.framesize = fi->framesize;
+// OBSOLETE   prologue_cache.frameoffset = fi->frameoffset;
+// OBSOLETE 
+// OBSOLETE   for (i = 0; i <= NUM_REGS; i++)
+// OBSOLETE     {
+// OBSOLETE       prologue_cache.fsr.regs[i] = fi->fsr.regs[i];
+// OBSOLETE     }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Function: scan_prologue
+// OBSOLETE    Scan the prologue of the function that contains PC, and record what
+// OBSOLETE    we find in PI.  PI->fsr must be zeroed by the called.  Returns the
+// OBSOLETE    pc after the prologue.  Note that the addresses saved in pi->fsr
+// OBSOLETE    are actually just frame relative (negative offsets from the frame
+// OBSOLETE    pointer).  This is because we don't know the actual value of the
+// OBSOLETE    frame pointer yet.  In some circumstances, the frame pointer can't
+// OBSOLETE    be determined till after we have scanned the prologue.  */
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE fr30_scan_prologue (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   int sp_offset, fp_offset;
+// OBSOLETE   CORE_ADDR prologue_start, prologue_end, current_pc;
+// OBSOLETE 
+// OBSOLETE   /* Check if this function is already in the cache of frame information. */
+// OBSOLETE   if (check_prologue_cache (fi))
+// OBSOLETE     return;
+// OBSOLETE 
+// OBSOLETE   /* Assume there is no frame until proven otherwise.  */
+// OBSOLETE   fi->framereg = SP_REGNUM;
+// OBSOLETE   fi->framesize = 0;
+// OBSOLETE   fi->frameoffset = 0;
+// OBSOLETE 
+// OBSOLETE   /* Find the function prologue.  If we can't find the function in
+// OBSOLETE      the symbol table, peek in the stack frame to find the PC.  */
+// OBSOLETE   if (find_pc_partial_function (fi->pc, NULL, &prologue_start, &prologue_end))
+// OBSOLETE     {
+// OBSOLETE       /* Assume the prologue is everything between the first instruction
+// OBSOLETE          in the function and the first source line.  */
+// OBSOLETE       struct symtab_and_line sal = find_pc_line (prologue_start, 0);
+// OBSOLETE 
+// OBSOLETE       if (sal.line == 0)   /* no line info, use current PC */
+// OBSOLETE    prologue_end = fi->pc;
+// OBSOLETE       else if (sal.end < prologue_end)     /* next line begins after fn end */
+// OBSOLETE    prologue_end = sal.end; /* (probably means no prologue)  */
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE     {
+// OBSOLETE       /* XXX Z.R. What now??? The following is entirely bogus */
+// OBSOLETE       prologue_start = (read_memory_integer (fi->frame, 4) & 0x03fffffc) - 12;
+// OBSOLETE       prologue_end = prologue_start + 40;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* Now search the prologue looking for instructions that set up the
+// OBSOLETE      frame pointer, adjust the stack pointer, and save registers.  */
+// OBSOLETE 
+// OBSOLETE   sp_offset = fp_offset = 0;
+// OBSOLETE   for (current_pc = prologue_start; current_pc < prologue_end; current_pc += 2)
+// OBSOLETE     {
+// OBSOLETE       unsigned int insn;
+// OBSOLETE 
+// OBSOLETE       insn = read_memory_unsigned_integer (current_pc, 2);
+// OBSOLETE 
+// OBSOLETE       if ((insn & 0xfe00) == 0x8e00)       /* stm0 or stm1 */
+// OBSOLETE    {
+// OBSOLETE      int reg, mask = insn & 0xff;
+// OBSOLETE 
+// OBSOLETE      /* scan in one sweep - create virtual 16-bit mask from either insn's mask */
+// OBSOLETE      if ((insn & 0x0100) == 0)
+// OBSOLETE        {
+// OBSOLETE          mask <<= 8;       /* stm0 - move to upper byte in virtual mask */
+// OBSOLETE        }
+// OBSOLETE 
+// OBSOLETE      /* Calculate offsets of saved registers (to be turned later into addresses). */
+// OBSOLETE      for (reg = R4_REGNUM; reg <= R11_REGNUM; reg++)
+// OBSOLETE        if (mask & (1 << (15 - reg)))
+// OBSOLETE          {
+// OBSOLETE            sp_offset -= 4;
+// OBSOLETE            fi->fsr.regs[reg] = sp_offset;
+// OBSOLETE          }
+// OBSOLETE    }
+// OBSOLETE       else if ((insn & 0xfff0) == 0x1700)  /* st rx,@-r15 */
+// OBSOLETE    {
+// OBSOLETE      int reg = insn & 0xf;
+// OBSOLETE 
+// OBSOLETE      sp_offset -= 4;
+// OBSOLETE      fi->fsr.regs[reg] = sp_offset;
+// OBSOLETE    }
+// OBSOLETE       else if ((insn & 0xff00) == 0x0f00)  /* enter */
+// OBSOLETE    {
+// OBSOLETE      fp_offset = fi->fsr.regs[FP_REGNUM] = sp_offset - 4;
+// OBSOLETE      sp_offset -= 4 * (insn & 0xff);
+// OBSOLETE      fi->framereg = FP_REGNUM;
+// OBSOLETE    }
+// OBSOLETE       else if (insn == 0x1781)     /* st rp,@-sp */
+// OBSOLETE    {
+// OBSOLETE      sp_offset -= 4;
+// OBSOLETE      fi->fsr.regs[RP_REGNUM] = sp_offset;
+// OBSOLETE    }
+// OBSOLETE       else if (insn == 0x170e)     /* st fp,@-sp */
+// OBSOLETE    {
+// OBSOLETE      sp_offset -= 4;
+// OBSOLETE      fi->fsr.regs[FP_REGNUM] = sp_offset;
+// OBSOLETE    }
+// OBSOLETE       else if (insn == 0x8bfe)     /* mov sp,fp */
+// OBSOLETE    {
+// OBSOLETE      fi->framereg = FP_REGNUM;
+// OBSOLETE    }
+// OBSOLETE       else if ((insn & 0xff00) == 0xa300)  /* addsp xx */
+// OBSOLETE    {
+// OBSOLETE      sp_offset += 4 * (signed char) (insn & 0xff);
+// OBSOLETE    }
+// OBSOLETE       else if ((insn & 0xff0f) == 0x9b00 &&        /* ldi:20 xx,r0 */
+// OBSOLETE           read_memory_unsigned_integer (current_pc + 4, 2)
+// OBSOLETE           == 0xac0f)       /* sub r0,sp */
+// OBSOLETE    {
+// OBSOLETE      /* large stack adjustment */
+// OBSOLETE      sp_offset -= (((insn & 0xf0) << 12) | read_memory_unsigned_integer (current_pc + 2, 2));
+// OBSOLETE      current_pc += 4;
+// OBSOLETE    }
+// OBSOLETE       else if (insn == 0x9f80 &&   /* ldi:32 xx,r0 */
+// OBSOLETE           read_memory_unsigned_integer (current_pc + 6, 2)
+// OBSOLETE           == 0xac0f)       /* sub r0,sp */
+// OBSOLETE    {
+// OBSOLETE      /* large stack adjustment */
+// OBSOLETE      sp_offset -=
+// OBSOLETE        (read_memory_unsigned_integer (current_pc + 2, 2) << 16 |
+// OBSOLETE         read_memory_unsigned_integer (current_pc + 4, 2));
+// OBSOLETE      current_pc += 6;
+// OBSOLETE    }
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* The frame size is just the negative of the offset (from the original SP)
+// OBSOLETE      of the last thing thing we pushed on the stack.  The frame offset is
+// OBSOLETE      [new FP] - [new SP].  */
+// OBSOLETE   fi->framesize = -sp_offset;
+// OBSOLETE   fi->frameoffset = fp_offset - sp_offset;
+// OBSOLETE 
+// OBSOLETE   save_prologue_cache (fi);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Function: init_extra_frame_info
+// OBSOLETE    Setup the frame's frame pointer, pc, and frame addresses for saved
+// OBSOLETE    registers.  Most of the work is done in scan_prologue().
+// OBSOLETE 
+// OBSOLETE    Note that when we are called for the last frame (currently active frame),
+// OBSOLETE    that fi->pc and fi->frame will already be setup.  However, fi->frame will
+// OBSOLETE    be valid only if this routine uses FP.  For previous frames, fi-frame will
+// OBSOLETE    always be correct (since that is derived from fr30_frame_chain ()).
+// OBSOLETE 
+// OBSOLETE    We can be called with the PC in the call dummy under two circumstances.
+// OBSOLETE    First, during normal backtracing, second, while figuring out the frame
+// OBSOLETE    pointer just prior to calling the target function (see run_stack_dummy).  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30_init_extra_frame_info (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   int reg;
+// OBSOLETE 
+// OBSOLETE   if (fi->next)
+// OBSOLETE     fi->pc = FRAME_SAVED_PC (fi->next);
+// OBSOLETE 
+// OBSOLETE   memset (fi->fsr.regs, '\000', sizeof fi->fsr.regs);
+// OBSOLETE 
+// OBSOLETE   if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
+// OBSOLETE     {
+// OBSOLETE       /* We need to setup fi->frame here because run_stack_dummy gets it wrong
+// OBSOLETE          by assuming it's always FP.  */
+// OBSOLETE       fi->frame = generic_read_register_dummy (fi->pc, fi->frame, SP_REGNUM);
+// OBSOLETE       fi->framesize = 0;
+// OBSOLETE       fi->frameoffset = 0;
+// OBSOLETE       return;
+// OBSOLETE     }
+// OBSOLETE   fr30_scan_prologue (fi);
+// OBSOLETE 
+// OBSOLETE   if (!fi->next)           /* this is the innermost frame? */
+// OBSOLETE     fi->frame = read_register (fi->framereg);
+// OBSOLETE   else
+// OBSOLETE     /* not the innermost frame */
+// OBSOLETE     /* If we have an FP,  the callee saved it. */
+// OBSOLETE     if (fi->framereg == FP_REGNUM)
+// OBSOLETE       if (fi->next->fsr.regs[fi->framereg] != 0)
+// OBSOLETE    fi->frame = read_memory_integer (fi->next->fsr.regs[fi->framereg], 4);
+// OBSOLETE 
+// OBSOLETE   /* Calculate actual addresses of saved registers using offsets determined
+// OBSOLETE      by fr30_scan_prologue.  */
+// OBSOLETE   for (reg = 0; reg < NUM_REGS; reg++)
+// OBSOLETE     if (fi->fsr.regs[reg] != 0)
+// OBSOLETE       {
+// OBSOLETE    fi->fsr.regs[reg] += fi->frame + fi->framesize - fi->frameoffset;
+// OBSOLETE       }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Function: find_callers_reg
+// OBSOLETE    Find REGNUM on the stack.  Otherwise, it's in an active register.
+// OBSOLETE    One thing we might want to do here is to check REGNUM against the
+// OBSOLETE    clobber mask, and somehow flag it as invalid if it isn't saved on
+// OBSOLETE    the stack somewhere.  This would provide a graceful failure mode
+// OBSOLETE    when trying to get the value of caller-saves registers for an inner
+// OBSOLETE    frame.  */
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE fr30_find_callers_reg (struct frame_info *fi, int regnum)
+// OBSOLETE {
+// OBSOLETE   for (; fi; fi = fi->next)
+// OBSOLETE     if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
+// OBSOLETE       return generic_read_register_dummy (fi->pc, fi->frame, regnum);
+// OBSOLETE     else if (fi->fsr.regs[regnum] != 0)
+// OBSOLETE       return read_memory_unsigned_integer (fi->fsr.regs[regnum],
+// OBSOLETE                                       REGISTER_RAW_SIZE (regnum));
+// OBSOLETE 
+// OBSOLETE   return read_register (regnum);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE /* Function: frame_chain
+// OBSOLETE    Figure out the frame prior to FI.  Unfortunately, this involves
+// OBSOLETE    scanning the prologue of the caller, which will also be done
+// OBSOLETE    shortly by fr30_init_extra_frame_info.  For the dummy frame, we
+// OBSOLETE    just return the stack pointer that was in use at the time the
+// OBSOLETE    function call was made.  */
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE fr30_frame_chain (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   CORE_ADDR fn_start, callers_pc, fp;
+// OBSOLETE   struct frame_info caller_fi;
+// OBSOLETE   int framereg;
+// OBSOLETE 
+// OBSOLETE   /* is this a dummy frame? */
+// OBSOLETE   if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
+// OBSOLETE     return fi->frame;              /* dummy frame same as caller's frame */
+// OBSOLETE 
+// OBSOLETE   /* is caller-of-this a dummy frame? */
+// OBSOLETE   callers_pc = FRAME_SAVED_PC (fi);        /* find out who called us: */
+// OBSOLETE   fp = fr30_find_callers_reg (fi, FP_REGNUM);
+// OBSOLETE   if (PC_IN_CALL_DUMMY (callers_pc, fp, fp))
+// OBSOLETE     return fp;                     /* dummy frame's frame may bear no relation to ours */
+// OBSOLETE 
+// OBSOLETE   if (find_pc_partial_function (fi->pc, 0, &fn_start, 0))
+// OBSOLETE     if (fn_start == entry_point_address ())
+// OBSOLETE       return 0;                    /* in _start fn, don't chain further */
+// OBSOLETE 
+// OBSOLETE   framereg = fi->framereg;
+// OBSOLETE 
+// OBSOLETE   /* If the caller is the startup code, we're at the end of the chain.  */
+// OBSOLETE   if (find_pc_partial_function (callers_pc, 0, &fn_start, 0))
+// OBSOLETE     if (fn_start == entry_point_address ())
+// OBSOLETE       return 0;
+// OBSOLETE 
+// OBSOLETE   memset (&caller_fi, 0, sizeof (caller_fi));
+// OBSOLETE   caller_fi.pc = callers_pc;
+// OBSOLETE   fr30_scan_prologue (&caller_fi);
+// OBSOLETE   framereg = caller_fi.framereg;
+// OBSOLETE 
+// OBSOLETE   /* If the caller used a frame register, return its value.
+// OBSOLETE      Otherwise, return the caller's stack pointer.  */
+// OBSOLETE   if (framereg == FP_REGNUM)
+// OBSOLETE     return fr30_find_callers_reg (fi, framereg);
+// OBSOLETE   else
+// OBSOLETE     return fi->frame + fi->framesize;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Function: frame_saved_pc 
+// OBSOLETE    Find the caller of this frame.  We do this by seeing if RP_REGNUM
+// OBSOLETE    is saved in the stack anywhere, otherwise we get it from the
+// OBSOLETE    registers.  If the inner frame is a dummy frame, return its PC
+// OBSOLETE    instead of RP, because that's where "caller" of the dummy-frame
+// OBSOLETE    will be found.  */
+// OBSOLETE 
+// OBSOLETE CORE_ADDR
+// OBSOLETE fr30_frame_saved_pc (struct frame_info *fi)
+// OBSOLETE {
+// OBSOLETE   if (PC_IN_CALL_DUMMY (fi->pc, fi->frame, fi->frame))
+// OBSOLETE     return generic_read_register_dummy (fi->pc, fi->frame, PC_REGNUM);
+// OBSOLETE   else
+// OBSOLETE     return fr30_find_callers_reg (fi, RP_REGNUM);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Function: fix_call_dummy
+// OBSOLETE    Pokes the callee function's address into the CALL_DUMMY assembly stub.
+// OBSOLETE    Assumes that the CALL_DUMMY looks like this:
+// OBSOLETE    jarl <offset24>, r31
+// OBSOLETE    trap
+// OBSOLETE  */
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30_fix_call_dummy (char *dummy, CORE_ADDR sp, CORE_ADDR fun, int nargs,
+// OBSOLETE                 struct value **args, struct type *type, int gcc_p)
+// OBSOLETE {
+// OBSOLETE   long offset24;
+// OBSOLETE 
+// OBSOLETE   offset24 = (long) fun - (long) entry_point_address ();
+// OBSOLETE   offset24 &= 0x3fffff;
+// OBSOLETE   offset24 |= 0xff800000;  /* jarl <offset24>, r31 */
+// OBSOLETE 
+// OBSOLETE   store_unsigned_integer ((unsigned int *) &dummy[2], 2, offset24 & 0xffff);
+// OBSOLETE   store_unsigned_integer ((unsigned int *) &dummy[0], 2, offset24 >> 16);
+// OBSOLETE   return 0;
+// OBSOLETE }
index 2a01ae9..a6a1d32 100644 (file)
@@ -1,3 +1,8 @@
+2002-07-16  Andrew Cagney  <ac131313@redhat.com>
+
+       * configure.in (extra_subdirs): Mark fr30-*-* as obsolete.
+       * configure: Re-generate.
+
 2002-07-13  Andrew Cagney  <ac131313@redhat.com>
 
        * configure.in (extra_subdirs): Mark d30v-*-* as obsolete.
index a55a55c..6b94929 100644 (file)
@@ -1,4 +1,4 @@
-2002-07-15  Andrew Cagney  <ac131313@redhat.com>
+2002-07-16  Andrew Cagney  <ac131313@redhat.com>
 
        * sim-resume.c (sim_resume): Add local variable sig_to_deliver to
        avoid possible longjmp problems with automatic variable siggnal.
index f26af8b..a50ac9a 100755 (executable)
@@ -1425,7 +1425,7 @@ case "${target}" in
 # OBSOLETE     only_if_gcc=yes
 # OBSOLETE     extra_subdirs="${extra_subdirs} igen"
 # OBSOLETE     ;;
-  fr30-*-*)            sim_target=fr30 ;;
+# OBSOLETE   fr30-*-*)         sim_target=fr30 ;;
   h8300*-*-*)          sim_target=h8300 ;;
   h8500-*-*)           sim_target=h8500 ;;
   i960-*-*)            sim_target=i960 ;;
index 854ee63..ce074b3 100644 (file)
@@ -64,7 +64,7 @@ case "${target}" in
 # OBSOLETE     only_if_gcc=yes
 # OBSOLETE     extra_subdirs="${extra_subdirs} igen"
 # OBSOLETE     ;;
-  fr30-*-*)            sim_target=fr30 ;;
+# OBSOLETE   fr30-*-*)         sim_target=fr30 ;;
   h8300*-*-*)          sim_target=h8300 ;;
   h8500-*-*)           sim_target=h8500 ;;
   i960-*-*)            sim_target=i960 ;;
index e066362..f8f4c5e 100644 (file)
@@ -1,3 +1,14 @@
+2002-07-16  Andrew Cagney  <ac131313@redhat.com>
+
+       * Makefile.in: Make file obsolete.
+       * cpu.c, arch.h, arch.c, cpu.h, decode.h: Ditto.
+       * decode.c, fr30-sim.h, devices.c, fr30.c: Ditto.
+       * model.c, sem-switch.c, sim-if.c: Ditto.
+       * sim-main.h, traps.c, sem.c: Ditto.
+       * TODO, README: Ditto.
+       * configure.in: Ditto.
+       * configure: Regenerate.
+
 2002-06-16  Andrew Cagney  <ac131313@redhat.com>
 
        * configure: Regenerated to track ../common/aclocal.m4 changes.
index 2a0ac83..43d70e2 100644 (file)
-# Makefile template for Configure for the fr30 simulator
-# Copyright (C) 1998, 2000 Free Software Foundation, Inc.
-# Contributed by Cygnus Support.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-## COMMON_PRE_CONFIG_FRAG
-
-FR30_OBJS = fr30.o cpu.o decode.o sem.o model.o arch.o mloop.o
-
-CONFIG_DEVICES = dv-sockser.o
-CONFIG_DEVICES =
-
-SIM_OBJS = \
-       $(SIM_NEW_COMMON_OBJS) \
-       sim-cpu.o \
-       sim-hload.o \
-       sim-hrw.o \
-       sim-model.o \
-       sim-reg.o \
-       cgen-utils.o cgen-trace.o cgen-scache.o \
-       cgen-run.o sim-reason.o sim-engine.o sim-stop.o \
-       sim-if.o \
-       $(FR30_OBJS) \
-       traps.o devices.o \
-       $(CONFIG_DEVICES)
-
-# Extra headers included by sim-main.h.
-SIM_EXTRA_DEPS = \
-       $(CGEN_INCLUDE_DEPS) \
-       arch.h cpuall.h fr30-sim.h $(srcdir)/../../opcodes/fr30-desc.h
-
-SIM_EXTRA_CFLAGS =
-
-SIM_RUN_OBJS = nrun.o
-SIM_EXTRA_CLEAN = fr30-clean
-
-# This selects the fr30 newlib/libgloss syscall definitions.
-NL_TARGET = -DNL_TARGET_fr30
-
-## COMMON_POST_CONFIG_FRAG
-
-arch = fr30
-
-sim-if.o: sim-if.c $(SIM_MAIN_DEPS) $(srcdir)/../common/sim-core.h
-
-arch.o: arch.c $(SIM_MAIN_DEPS)
-
-devices.o: devices.c $(SIM_MAIN_DEPS)
-
-# FR30 objs
-
-FR30BF_INCLUDE_DEPS = \
-       $(CGEN_MAIN_CPU_DEPS) \
-       cpu.h decode.h eng.h
-
-fr30.o: fr30.c $(FR30BF_INCLUDE_DEPS)
-
-# FIXME: Use of `mono' is wip.
-mloop.c eng.h: stamp-mloop
-stamp-mloop: $(srcdir)/../common/genmloop.sh mloop.in Makefile
-       $(SHELL) $(srccom)/genmloop.sh \
-               -mono -fast -pbb -switch sem-switch.c \
-               -cpu fr30bf -infile $(srcdir)/mloop.in
-       $(SHELL) $(srcroot)/move-if-change eng.hin eng.h
-       $(SHELL) $(srcroot)/move-if-change mloop.cin mloop.c
-       touch stamp-mloop
-mloop.o: mloop.c sem-switch.c $(FR30BF_INCLUDE_DEPS)
-
-cpu.o: cpu.c $(FR30BF_INCLUDE_DEPS)
-decode.o: decode.c $(FR30BF_INCLUDE_DEPS)
-sem.o: sem.c $(FR30BF_INCLUDE_DEPS)
-model.o: model.c $(FR30BF_INCLUDE_DEPS)
-
-fr30-clean:
-       rm -f mloop.c eng.h stamp-mloop
-       rm -f tmp-*
-       rm -f stamp-arch stamp-cpu
-
-# cgen support, enable with --enable-cgen-maint
-CGEN_MAINT = ; @true
-# The following line is commented in or out depending upon --enable-cgen-maint.
-@CGEN_MAINT@CGEN_MAINT =
-
-stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(CGEN_CPU_DIR)/fr30.cpu
-       $(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all \
-         FLAGS="with-scache with-profile=fn"
-       touch stamp-arch
-arch.h arch.c cpuall.h: $(CGEN_MAINT) stamp-arch
-
-stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CGEN_CPU_DIR)/fr30.cpu
-       $(MAKE) cgen-cpu-decode $(CGEN_FLAGS_TO_PASS) \
-         cpu=fr30bf mach=fr30 SUFFIX= FLAGS="with-scache with-profile=fn" EXTRAFILES="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)"
-       touch stamp-cpu
-cpu.h sem.c sem-switch.c model.c decode.c decode.h: $(CGEN_MAINT) stamp-cpu
+# OBSOLETE # Makefile template for Configure for the fr30 simulator
+# OBSOLETE # Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+# OBSOLETE # Contributed by Cygnus Support.
+# OBSOLETE #
+# OBSOLETE # This program is free software; you can redistribute it and/or modify
+# OBSOLETE # it under the terms of the GNU General Public License as published by
+# OBSOLETE # the Free Software Foundation; either version 2 of the License, or
+# OBSOLETE # (at your option) any later version.
+# OBSOLETE #
+# OBSOLETE # This program is distributed in the hope that it will be useful,
+# OBSOLETE # but WITHOUT ANY WARRANTY; without even the implied warranty of
+# OBSOLETE # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# OBSOLETE # GNU General Public License for more details.
+# OBSOLETE #
+# OBSOLETE # You should have received a copy of the GNU General Public License along
+# OBSOLETE # with this program; if not, write to the Free Software Foundation, Inc.,
+# OBSOLETE # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# OBSOLETE 
+# OBSOLETE ## COMMON_PRE_CONFIG_FRAG
+# OBSOLETE 
+# OBSOLETE FR30_OBJS = fr30.o cpu.o decode.o sem.o model.o arch.o mloop.o
+# OBSOLETE 
+# OBSOLETE CONFIG_DEVICES = dv-sockser.o
+# OBSOLETE CONFIG_DEVICES =
+# OBSOLETE 
+# OBSOLETE SIM_OBJS = \
+# OBSOLETE     $(SIM_NEW_COMMON_OBJS) \
+# OBSOLETE     sim-cpu.o \
+# OBSOLETE     sim-hload.o \
+# OBSOLETE     sim-hrw.o \
+# OBSOLETE     sim-model.o \
+# OBSOLETE     sim-reg.o \
+# OBSOLETE     cgen-utils.o cgen-trace.o cgen-scache.o \
+# OBSOLETE     cgen-run.o sim-reason.o sim-engine.o sim-stop.o \
+# OBSOLETE     sim-if.o \
+# OBSOLETE     $(FR30_OBJS) \
+# OBSOLETE     traps.o devices.o \
+# OBSOLETE     $(CONFIG_DEVICES)
+# OBSOLETE 
+# OBSOLETE # Extra headers included by sim-main.h.
+# OBSOLETE SIM_EXTRA_DEPS = \
+# OBSOLETE     $(CGEN_INCLUDE_DEPS) \
+# OBSOLETE     arch.h cpuall.h fr30-sim.h $(srcdir)/../../opcodes/fr30-desc.h
+# OBSOLETE 
+# OBSOLETE SIM_EXTRA_CFLAGS =
+# OBSOLETE 
+# OBSOLETE SIM_RUN_OBJS = nrun.o
+# OBSOLETE SIM_EXTRA_CLEAN = fr30-clean
+# OBSOLETE 
+# OBSOLETE # This selects the fr30 newlib/libgloss syscall definitions.
+# OBSOLETE NL_TARGET = -DNL_TARGET_fr30
+# OBSOLETE 
+# OBSOLETE ## COMMON_POST_CONFIG_FRAG
+# OBSOLETE 
+# OBSOLETE arch = fr30
+# OBSOLETE 
+# OBSOLETE sim-if.o: sim-if.c $(SIM_MAIN_DEPS) $(srcdir)/../common/sim-core.h
+# OBSOLETE 
+# OBSOLETE arch.o: arch.c $(SIM_MAIN_DEPS)
+# OBSOLETE 
+# OBSOLETE devices.o: devices.c $(SIM_MAIN_DEPS)
+# OBSOLETE 
+# OBSOLETE # FR30 objs
+# OBSOLETE 
+# OBSOLETE FR30BF_INCLUDE_DEPS = \
+# OBSOLETE     $(CGEN_MAIN_CPU_DEPS) \
+# OBSOLETE     cpu.h decode.h eng.h
+# OBSOLETE 
+# OBSOLETE fr30.o: fr30.c $(FR30BF_INCLUDE_DEPS)
+# OBSOLETE 
+# OBSOLETE # FIXME: Use of `mono' is wip.
+# OBSOLETE mloop.c eng.h: stamp-mloop
+# OBSOLETE stamp-mloop: $(srcdir)/../common/genmloop.sh mloop.in Makefile
+# OBSOLETE     $(SHELL) $(srccom)/genmloop.sh \
+# OBSOLETE             -mono -fast -pbb -switch sem-switch.c \
+# OBSOLETE             -cpu fr30bf -infile $(srcdir)/mloop.in
+# OBSOLETE     $(SHELL) $(srcroot)/move-if-change eng.hin eng.h
+# OBSOLETE     $(SHELL) $(srcroot)/move-if-change mloop.cin mloop.c
+# OBSOLETE     touch stamp-mloop
+# OBSOLETE mloop.o: mloop.c sem-switch.c $(FR30BF_INCLUDE_DEPS)
+# OBSOLETE 
+# OBSOLETE cpu.o: cpu.c $(FR30BF_INCLUDE_DEPS)
+# OBSOLETE decode.o: decode.c $(FR30BF_INCLUDE_DEPS)
+# OBSOLETE sem.o: sem.c $(FR30BF_INCLUDE_DEPS)
+# OBSOLETE model.o: model.c $(FR30BF_INCLUDE_DEPS)
+# OBSOLETE 
+# OBSOLETE fr30-clean:
+# OBSOLETE     rm -f mloop.c eng.h stamp-mloop
+# OBSOLETE     rm -f tmp-*
+# OBSOLETE     rm -f stamp-arch stamp-cpu
+# OBSOLETE 
+# OBSOLETE # cgen support, enable with --enable-cgen-maint
+# OBSOLETE CGEN_MAINT = ; @true
+# OBSOLETE # The following line is commented in or out depending upon --enable-cgen-maint.
+# OBSOLETE @CGEN_MAINT@CGEN_MAINT =
+# OBSOLETE 
+# OBSOLETE stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(CGEN_CPU_DIR)/fr30.cpu
+# OBSOLETE     $(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all \
+# OBSOLETE       FLAGS="with-scache with-profile=fn"
+# OBSOLETE     touch stamp-arch
+# OBSOLETE arch.h arch.c cpuall.h: $(CGEN_MAINT) stamp-arch
+# OBSOLETE 
+# OBSOLETE stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CGEN_CPU_DIR)/fr30.cpu
+# OBSOLETE     $(MAKE) cgen-cpu-decode $(CGEN_FLAGS_TO_PASS) \
+# OBSOLETE       cpu=fr30bf mach=fr30 SUFFIX= FLAGS="with-scache with-profile=fn" EXTRAFILES="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)"
+# OBSOLETE     touch stamp-cpu
+# OBSOLETE cpu.h sem.c sem-switch.c model.c decode.c decode.h: $(CGEN_MAINT) stamp-cpu
index 47bf314..da607ec 100644 (file)
@@ -1,14 +1,14 @@
-This is the fr30 simulator directory.
-
-It is still work-in-progress.  The current sources are reasonably
-well tested and lots of features are in.  However, there's lots
-more yet to come.
-
-There are lots of machine generated files in the source directory!
-They are only generated if you configure with --enable-cgen-maint,
-similar in behaviour to Makefile.in, configure under automake/autoconf.
-
-For details on the generator, see ../../cgen.
-
-devo/cgen isn't part of the comp-tools module yet.
-You'll need to check it out manually (also akin to automake/autoconf).
+OBSOLETE This is the fr30 simulator directory.
+OBSOLETE 
+OBSOLETE It is still work-in-progress.  The current sources are reasonably
+OBSOLETE well tested and lots of features are in.  However, there's lots
+OBSOLETE more yet to come.
+OBSOLETE 
+OBSOLETE There are lots of machine generated files in the source directory!
+OBSOLETE They are only generated if you configure with --enable-cgen-maint,
+OBSOLETE similar in behaviour to Makefile.in, configure under automake/autoconf.
+OBSOLETE 
+OBSOLETE For details on the generator, see ../../cgen.
+OBSOLETE 
+OBSOLETE devo/cgen isn't part of the comp-tools module yet.
+OBSOLETE You'll need to check it out manually (also akin to automake/autoconf).
index ae4c760..da9103b 100644 (file)
@@ -1,14 +1,14 @@
-m32r-inherited stuff?
-----------------------
-- header file dependencies revisit
-- hooks cleanup
-- testsuites
-- FIXME's
-
-
-m32r stuff?
-----------------------
-- memory accesses still test if profiling is on even in fast mode
-- have semantic code use G/SET_H_FOO if not default [incl fun-access]
-- have G/SET_H_FOO macros call function if fun-access
-- --> can always use G/S_H_FOO macros
+OBSOLETE m32r-inherited stuff?
+OBSOLETE ----------------------
+OBSOLETE - header file dependencies revisit
+OBSOLETE - hooks cleanup
+OBSOLETE - testsuites
+OBSOLETE - FIXME's
+OBSOLETE 
+OBSOLETE 
+OBSOLETE m32r stuff?
+OBSOLETE ----------------------
+OBSOLETE - memory accesses still test if profiling is on even in fast mode
+OBSOLETE - have semantic code use G/SET_H_FOO if not default [incl fun-access]
+OBSOLETE - have G/SET_H_FOO macros call function if fun-access
+OBSOLETE - --> can always use G/S_H_FOO macros
index c0f3c62..4f1be2e 100644 (file)
@@ -1,35 +1,34 @@
-/* Simulator support for fr30.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#include "sim-main.h"
-#include "bfd.h"
-
-const MACH *sim_machs[] =
-{
-#ifdef HAVE_CPU_FR30BF
-  & fr30_mach,
-#endif
-  0
-};
-
+// OBSOLETE /* Simulator support for fr30.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #include "bfd.h"
+// OBSOLETE 
+// OBSOLETE const MACH *sim_machs[] =
+// OBSOLETE {
+// OBSOLETE #ifdef HAVE_CPU_FR30BF
+// OBSOLETE   & fr30_mach,
+// OBSOLETE #endif
+// OBSOLETE   0
+// OBSOLETE };
index 26de475..047814a 100644 (file)
@@ -1,45 +1,45 @@
-/* Simulator header for fr30.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef FR30_ARCH_H
-#define FR30_ARCH_H
-
-#define TARGET_BIG_ENDIAN 1
-
-/* Enum declaration for model types.  */
-typedef enum model_type {
-  MODEL_FR30_1, MODEL_MAX
-} MODEL_TYPE;
-
-#define MAX_MODELS ((int) MODEL_MAX)
-
-/* Enum declaration for unit types.  */
-typedef enum unit_type {
-  UNIT_NONE, UNIT_FR30_1_U_STM, UNIT_FR30_1_U_LDM, UNIT_FR30_1_U_STORE
- , UNIT_FR30_1_U_LOAD, UNIT_FR30_1_U_CTI, UNIT_FR30_1_U_EXEC, UNIT_MAX
-} UNIT_TYPE;
-
-#define MAX_UNITS (3)
-
-#endif /* FR30_ARCH_H */
+// OBSOLETE /* Simulator header for fr30.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #ifndef FR30_ARCH_H
+// OBSOLETE #define FR30_ARCH_H
+// OBSOLETE 
+// OBSOLETE #define TARGET_BIG_ENDIAN 1
+// OBSOLETE 
+// OBSOLETE /* Enum declaration for model types.  */
+// OBSOLETE typedef enum model_type {
+// OBSOLETE   MODEL_FR30_1, MODEL_MAX
+// OBSOLETE } MODEL_TYPE;
+// OBSOLETE 
+// OBSOLETE #define MAX_MODELS ((int) MODEL_MAX)
+// OBSOLETE 
+// OBSOLETE /* Enum declaration for unit types.  */
+// OBSOLETE typedef enum unit_type {
+// OBSOLETE   UNIT_NONE, UNIT_FR30_1_U_STM, UNIT_FR30_1_U_LDM, UNIT_FR30_1_U_STORE
+// OBSOLETE  , UNIT_FR30_1_U_LOAD, UNIT_FR30_1_U_CTI, UNIT_FR30_1_U_EXEC, UNIT_MAX
+// OBSOLETE } UNIT_TYPE;
+// OBSOLETE 
+// OBSOLETE #define MAX_UNITS (3)
+// OBSOLETE 
+// OBSOLETE #endif /* FR30_ARCH_H */
index 2c537d3..e69de29 100644 (file)
-#! /bin/sh
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sim_inline="-DDEFAULT_INLINE=0"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# This file is derived from `gettext.m4'.  The difference is that the
-# included macros assume Cygnus-style source and build trees.
-
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 3
-
-
-
-
-
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-
-
-
-
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13 
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
-  --disable-nls           do not use Native Language Support"
-ac_help="$ac_help
-  --with-included-gettext use the GNU gettext library included here"
-ac_help="$ac_help
-  --enable-maintainer-mode             Enable developer functionality."
-ac_help="$ac_help
-  --enable-sim-bswap                   Use Host specific BSWAP instruction."
-ac_help="$ac_help
-  --enable-sim-cflags=opts             Extra CFLAGS for use in building simulator"
-ac_help="$ac_help
-  --enable-sim-debug=opts              Enable debugging flags"
-ac_help="$ac_help
-  --enable-sim-stdio                   Specify whether to use stdio for console input/output."
-ac_help="$ac_help
-  --enable-sim-trace=opts              Enable tracing flags"
-ac_help="$ac_help
-  --enable-sim-profile=opts            Enable profiling flags"
-ac_help="$ac_help
-  --enable-sim-endian=endian           Specify target byte endian orientation."
-ac_help="$ac_help
-  --enable-sim-alignment=align         Specify strict,  nonstrict or forced alignment of memory accesses."
-ac_help="$ac_help
-  --enable-sim-hostendian=end          Specify host byte endian orientation."
-ac_help="$ac_help
-  --enable-sim-scache=size             Specify simulator execution cache size."
-ac_help="$ac_help
-  --enable-sim-default-model=model     Specify default model to simulate."
-ac_help="$ac_help
-  --enable-sim-environment=environment Specify mixed, user, virtual or operating environment."
-ac_help="$ac_help
-  --enable-cgen-maint[=DIR]    build cgen generated files"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-sitefile=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
-    ac_prev=
-    continue
-  fi
-
-  case "$ac_option" in
-  -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
-  *) ac_optarg= ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case "$ac_option" in
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir="$ac_optarg" ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build="$ac_optarg" ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file="$ac_optarg" ;;
-
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
-    datadir="$ac_optarg" ;;
-
-  -disable-* | --disable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    eval "enable_${ac_feature}=no" ;;
-
-  -enable-* | --enable-*)
-    ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
-    fi
-    ac_feature=`echo $ac_feature| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "enable_${ac_feature}='$ac_optarg'" ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix="$ac_optarg" ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he)
-    # Omit some internal or obsolete options to make the list less imposing.
-    # This message is too long to be a string in the A/UX 3.1 sh.
-    cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
-  --cache-file=FILE       cache test results in FILE
-  --help                  print this message
-  --no-create             do not create output files
-  --quiet, --silent       do not print \`checking...' messages
-  --site-file=FILE        use FILE as the site file
-  --version               print the version of autoconf that created configure
-Directory and file names:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [same as prefix]
-  --bindir=DIR            user executables in DIR [EPREFIX/bin]
-  --sbindir=DIR           system admin executables in DIR [EPREFIX/sbin]
-  --libexecdir=DIR        program executables in DIR [EPREFIX/libexec]
-  --datadir=DIR           read-only architecture-independent data in DIR
-                          [PREFIX/share]
-  --sysconfdir=DIR        read-only single-machine data in DIR [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data in DIR
-                          [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data in DIR [PREFIX/var]
-  --libdir=DIR            object code libraries in DIR [EPREFIX/lib]
-  --includedir=DIR        C header files in DIR [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc in DIR [/usr/include]
-  --infodir=DIR           info documentation in DIR [PREFIX/info]
-  --mandir=DIR            man documentation in DIR [PREFIX/man]
-  --srcdir=DIR            find the sources in DIR [configure dir or ..]
-  --program-prefix=PREFIX prepend PREFIX to installed program names
-  --program-suffix=SUFFIX append SUFFIX to installed program names
-  --program-transform-name=PROGRAM
-                          run sed PROGRAM on installed program names
-EOF
-    cat << EOF
-Host type:
-  --build=BUILD           configure for building on BUILD [BUILD=HOST]
-  --host=HOST             configure for HOST [guessed]
-  --target=TARGET         configure for TARGET [TARGET=HOST]
-Features and packages:
-  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
-  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --x-includes=DIR        X include files are in DIR
-  --x-libraries=DIR       X library files are in DIR
-EOF
-    if test -n "$ac_help"; then
-      echo "--enable and --with options recognized:$ac_help"
-    fi
-    exit 0 ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host="$ac_optarg" ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir="$ac_optarg" ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir="$ac_optarg" ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir="$ac_optarg" ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir="$ac_optarg" ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
-    localstatedir="$ac_optarg" ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir="$ac_optarg" ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir="$ac_optarg" ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix="$ac_optarg" ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix="$ac_optarg" ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix="$ac_optarg" ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name="$ac_optarg" ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir="$ac_optarg" ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir="$ac_optarg" ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site="$ac_optarg" ;;
-
-  -site-file | --site-file | --site-fil | --site-fi | --site-f)
-    ac_prev=sitefile ;;
-  -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*)
-    sitefile="$ac_optarg" ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir="$ac_optarg" ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir="$ac_optarg" ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target="$ac_optarg" ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers)
-    echo "configure generated by autoconf version 2.13"
-    exit 0 ;;
-
-  -with-* | --with-*)
-    ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case "$ac_option" in
-      *=*) ;;
-      *) ac_optarg=yes ;;
-    esac
-    eval "with_${ac_package}='$ac_optarg'" ;;
-
-  -without-* | --without-*)
-    ac_package=`echo $ac_option|sed -e 's/-*without-//'`
-    # Reject names that are not valid shell variable names.
-    if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
-      { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
-    fi
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    eval "with_${ac_package}=no" ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes="$ac_optarg" ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries="$ac_optarg" ;;
-
-  -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
-    ;;
-
-  *)
-    if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
-      echo "configure: warning: $ac_option: invalid host type" 1>&2
-    fi
-    if test "x$nonopt" != xNONE; then
-      { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
-    fi
-    nonopt="$ac_option"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
-  exec 6>/dev/null
-else
-  exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
-  case "$ac_arg" in
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c) ;;
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
-  *" "*|*"     "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
-  ac_configure_args="$ac_configure_args '$ac_arg'" ;;
-  *) ac_configure_args="$ac_configure_args $ac_arg" ;;
-  esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set.  These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}"   = set; then LANG=C;   export LANG;   fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}"    = set; then LC_CTYPE=C;    export LC_CTYPE;    fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=Makefile.in
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_prog=$0
-  ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
-  test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
-  srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
-  else
-    { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
-  fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$sitefile"; then
-  if test -z "$CONFIG_SITE"; then
-    if test "x$prefix" != xNONE; then
-      CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-    else
-      CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-    fi
-  fi
-else
-  CONFIG_SITE="$sitefile"
-fi
-for ac_site_file in $CONFIG_SITE; do
-  if test -r "$ac_site_file"; then
-    echo "loading site script $ac_site_file"
-    . "$ac_site_file"
-  fi
-done
-
-if test -r "$cache_file"; then
-  echo "loading cache $cache_file"
-  . $cache_file
-else
-  echo "creating cache $cache_file"
-  > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
-  # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
-  if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
-    ac_n= ac_c='
-' ac_t='       '
-  else
-    ac_n=-n ac_c= ac_t=
-  fi
-else
-  ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:693: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    # This must be in double quotes, not single quotes, because CPP may get
-  # substituted into the Makefile and "${CC-cc}" will confuse make.
-  CPP="${CC-cc} -E"
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp.
-  cat > conftest.$ac_ext <<EOF
-#line 708 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -E -traditional-cpp"
-  cat > conftest.$ac_ext <<EOF
-#line 725 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:731: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP="${CC-cc} -nologo -E"
-  cat > conftest.$ac_ext <<EOF
-#line 742 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:748: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  :
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-fi
-rm -f conftest*
-  ac_cv_prog_CPP="$CPP"
-fi
-  CPP="$ac_cv_prog_CPP"
-else
-  ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:773: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftestmake <<\EOF
-all:
-       @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  SET_MAKE=
-else
-  echo "$ac_t""no" 1>&6
-  SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:800: checking for POSIXized ISC" >&5
-if test -d /etc/conf/kconfig.d &&
-  grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
-then
-  echo "$ac_t""yes" 1>&6
-  ISC=yes # If later tests want to check for ISC.
-  cat >> confdefs.h <<\EOF
-#define _POSIX_SOURCE 1
-EOF
-
-  if test "$GCC" = yes; then
-    CC="$CC -posix"
-  else
-    CC="$CC -Xp"
-  fi
-else
-  echo "$ac_t""no" 1>&6
-  ISC=
-fi
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:821: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 826 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:834: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  ac_cv_header_stdc=yes
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 851 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "memchr" >/dev/null 2>&1; then
-  :
-else
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 869 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "free" >/dev/null 2>&1; then
-  :
-else
-  rm -rf conftest*
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-if test "$cross_compiling" = yes; then
-  :
-else
-  cat > conftest.$ac_ext <<EOF
-#line 890 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int main () { int i; for (i = 0; i < 256; i++)
-if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:901: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  :
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
-  cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:925: checking for working const" >&5
-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 930 "configure"
-#include "confdefs.h"
-
-int main() {
-
-/* Ultrix mips cc rejects this.  */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this.  */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this.  */
-struct point {int x, y;};
-static struct point const zero = {0,0};
-/* AIX XL C 1.02.0.0 rejects this.
-   It does not let you subtract one const X* pointer from another in an arm
-   of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this.  */
-  char *t;
-  char const *s = 0 ? (char *) 0 : (char const *) 0;
-
-  *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
-  int x[] = {25, 17};
-  const int *foo = &x[0];
-  ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
-  typedef const int *iptr;
-  iptr p = 0;
-  ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
-     "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
-  struct s { int j; const int *ap[3]; };
-  struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
-  const int foo = 10;
-}
-
-; return 0; }
-EOF
-if { (eval echo configure:979: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_c_const=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_c_const=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_const" 1>&6
-if test $ac_cv_c_const = no; then
-  cat >> confdefs.h <<\EOF
-#define const 
-EOF
-
-fi
-
-echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1000: checking for inline" >&5
-if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
-  cat > conftest.$ac_ext <<EOF
-#line 1007 "configure"
-#include "confdefs.h"
-
-int main() {
-} $ac_kw foo() {
-; return 0; }
-EOF
-if { (eval echo configure:1014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_c_inline=$ac_kw; break
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-done
-
-fi
-
-echo "$ac_t""$ac_cv_c_inline" 1>&6
-case "$ac_cv_c_inline" in
-  inline | yes) ;;
-  no) cat >> confdefs.h <<\EOF
-#define inline 
-EOF
- ;;
-  *)  cat >> confdefs.h <<EOF
-#define inline $ac_cv_c_inline
-EOF
- ;;
-esac
-
-echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1040: checking for off_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1045 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_type_off_t=yes
-else
-  rm -rf conftest*
-  ac_cv_type_off_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_off_t" 1>&6
-if test $ac_cv_type_off_t = no; then
-  cat >> confdefs.h <<\EOF
-#define off_t long
-EOF
-
-fi
-
-echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1073: checking for size_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1078 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_type_size_t=yes
-else
-  rm -rf conftest*
-  ac_cv_type_size_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_size_t" 1>&6
-if test $ac_cv_type_size_t = no; then
-  cat >> confdefs.h <<\EOF
-#define size_t unsigned
-EOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments.  Useless!
-echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1108: checking for working alloca.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1113 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int main() {
-char *p = alloca(2 * sizeof(int));
-; return 0; }
-EOF
-if { (eval echo configure:1120: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  ac_cv_header_alloca_h=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_header_alloca_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
-if test $ac_cv_header_alloca_h = yes; then
-  cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1141: checking for alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1146 "configure"
-#include "confdefs.h"
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-#  include <malloc.h>
-#  define alloca _alloca
-# else
-#  if HAVE_ALLOCA_H
-#   include <alloca.h>
-#  else
-#   ifdef _AIX
- #pragma alloca
-#   else
-#    ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-#    endif
-#   endif
-#  endif
-# endif
-#endif
-
-int main() {
-char *p = (char *) alloca(1);
-; return 0; }
-EOF
-if { (eval echo configure:1174: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  ac_cv_func_alloca_works=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_func_alloca_works=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
-if test $ac_cv_func_alloca_works = yes; then
-  cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-fi
-
-if test $ac_cv_func_alloca_works = no; then
-  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-  # that cause trouble.  Some versions do not even contain alloca or
-  # contain a buggy version.  If you still want to use their alloca,
-  # use ar to extract alloca.o from them instead of compiling alloca.c.
-  ALLOCA=alloca.${ac_objext}
-  cat >> confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-
-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1206: checking whether alloca needs Cray hooks" >&5
-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1211 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  egrep "webecray" >/dev/null 2>&1; then
-  rm -rf conftest*
-  ac_cv_os_cray=yes
-else
-  rm -rf conftest*
-  ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_os_cray" 1>&6
-if test $ac_cv_os_cray = yes; then
-for ac_func in _getb67 GETB67 getb67; do
-  echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1236: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1241 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1264: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  cat >> confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
-  break
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-done
-fi
-
-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1291: checking stack direction for C alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_c_stack_direction=0
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1299 "configure"
-#include "confdefs.h"
-find_stack_direction ()
-{
-  static char *addr = 0;
-  auto char dummy;
-  if (addr == 0)
-    {
-      addr = &dummy;
-      return find_stack_direction ();
-    }
-  else
-    return (&dummy > addr) ? 1 : -1;
-}
-main ()
-{
-  exit (find_stack_direction() < 0);
-}
-EOF
-if { (eval echo configure:1318: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_c_stack_direction=1
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_c_stack_direction=-1
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >> confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1343: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1348 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1353: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_func in getpagesize
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1382: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1387 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1410: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:1435: checking for working mmap" >&5
-if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$cross_compiling" = yes; then
-  ac_cv_func_mmap_fixed_mapped=no
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1443 "configure"
-#include "confdefs.h"
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
-   Here is a matrix of mmap possibilities:
-       mmap private not fixed
-       mmap private fixed at somewhere currently unmapped
-       mmap private fixed at somewhere already mapped
-       mmap shared not fixed
-       mmap shared fixed at somewhere currently unmapped
-       mmap shared fixed at somewhere already mapped
-   For private mappings, we should verify that changes cannot be read()
-   back from the file, nor mmap's back from the file at a different
-   address.  (There have been systems where private was not correctly
-   implemented like the infamous i386 svr4.0, and systems where the
-   VM page cache was not coherent with the filesystem buffer cache
-   like early versions of FreeBSD and possibly contemporary NetBSD.)
-   For shared mappings, we should conversely verify that changes get
-   propogated back to all the places they're supposed to be.
-
-   Grep wants private fixed already mapped.
-   The main things grep needs to know about mmap are:
-   * does it exist and is it safe to write into the mmap'd area
-   * how to use it (BSD variants)  */
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-/* This mess was copied from the GNU getpagesize.h.  */
-#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-#  include <unistd.h>
-# endif
-
-/* Assume that all systems that can run configure have sys/param.h.  */
-# ifndef HAVE_SYS_PARAM_H
-#  define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-#  define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-#  ifdef HAVE_SYS_PARAM_H
-#   include <sys/param.h>
-#   ifdef EXEC_PAGESIZE
-#    define getpagesize() EXEC_PAGESIZE
-#   else /* no EXEC_PAGESIZE */
-#    ifdef NBPG
-#     define getpagesize() NBPG * CLSIZE
-#     ifndef CLSIZE
-#      define CLSIZE 1
-#     endif /* no CLSIZE */
-#    else /* no NBPG */
-#     ifdef NBPC
-#      define getpagesize() NBPC
-#     else /* no NBPC */
-#      ifdef PAGESIZE
-#       define getpagesize() PAGESIZE
-#      endif /* PAGESIZE */
-#     endif /* no NBPC */
-#    endif /* no NBPG */
-#   endif /* no EXEC_PAGESIZE */
-#  else /* no HAVE_SYS_PARAM_H */
-#   define getpagesize() 8192  /* punt totally */
-#  endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-#ifdef __cplusplus
-extern "C" { void *malloc(unsigned); }
-#else
-char *malloc();
-#endif
-
-int
-main()
-{
-       char *data, *data2, *data3;
-       int i, pagesize;
-       int fd;
-
-       pagesize = getpagesize();
-
-       /*
-        * First, make a file with some known garbage in it.
-        */
-       data = malloc(pagesize);
-       if (!data)
-               exit(1);
-       for (i = 0; i < pagesize; ++i)
-               *(data + i) = rand();
-       umask(0);
-       fd = creat("conftestmmap", 0600);
-       if (fd < 0)
-               exit(1);
-       if (write(fd, data, pagesize) != pagesize)
-               exit(1);
-       close(fd);
-
-       /*
-        * Next, try to mmap the file at a fixed address which
-        * already has something else allocated at it.  If we can,
-        * also make sure that we see the same garbage.
-        */
-       fd = open("conftestmmap", O_RDWR);
-       if (fd < 0)
-               exit(1);
-       data2 = malloc(2 * pagesize);
-       if (!data2)
-               exit(1);
-       data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
-       if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
-           MAP_PRIVATE | MAP_FIXED, fd, 0L))
-               exit(1);
-       for (i = 0; i < pagesize; ++i)
-               if (*(data + i) != *(data2 + i))
-                       exit(1);
-
-       /*
-        * Finally, make sure that changes to the mapped area
-        * do not percolate back to the file as seen by read().
-        * (This is a bug on some variants of i386 svr4.0.)
-        */
-       for (i = 0; i < pagesize; ++i)
-               *(data2 + i) = *(data2 + i) + 1;
-       data3 = malloc(pagesize);
-       if (!data3)
-               exit(1);
-       if (read(fd, data3, pagesize) != pagesize)
-               exit(1);
-       for (i = 0; i < pagesize; ++i)
-               if (*(data + i) != *(data3 + i))
-                       exit(1);
-       close(fd);
-       unlink("conftestmmap");
-       exit(0);
-}
-
-EOF
-if { (eval echo configure:1583: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_func_mmap_fixed_mapped=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-  cat >> confdefs.h <<\EOF
-#define HAVE_MMAP 1
-EOF
-
-fi
-
-echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
-echo "configure:1606: checking for Cygwin environment" >&5
-if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1611 "configure"
-#include "confdefs.h"
-
-int main() {
-
-#ifndef __CYGWIN__
-#define __CYGWIN__ __CYGWIN32__
-#endif
-return __CYGWIN__;
-; return 0; }
-EOF
-if { (eval echo configure:1622: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_cygwin=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_cygwin=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_cygwin" 1>&6
-CYGWIN=
-test "$ac_cv_cygwin" = yes && CYGWIN=yes
-echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
-echo "configure:1639: checking for mingw32 environment" >&5
-if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 1644 "configure"
-#include "confdefs.h"
-
-int main() {
-return __MINGW32__;
-; return 0; }
-EOF
-if { (eval echo configure:1651: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_mingw32=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_mingw32=no
-fi
-rm -f conftest*
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_mingw32" 1>&6
-MINGW32=
-test "$ac_cv_mingw32" = yes && MINGW32=yes
-
-# autoconf.info says this should be called right after AC_INIT.
-
-
-ac_aux_dir=
-for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do
-  if test -f $ac_dir/install-sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f $ac_dir/install.sh; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-
-# Do some error checking and defaulting for the host and target type.
-# The inputs are:
-#    configure --host=HOST --target=TARGET --build=BUILD NONOPT
-#
-# The rules are:
-# 1. You are not allowed to specify --host, --target, and nonopt at the
-#    same time.
-# 2. Host defaults to nonopt.
-# 3. If nonopt is not specified, then host defaults to the current host,
-#    as determined by config.guess.
-# 4. Target and build default to nonopt.
-# 5. If nonopt is not specified, then target and build default to host.
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-case $host---$target---$nonopt in
-NONE---*---* | *---NONE---* | *---*---NONE) ;;
-*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
-esac
-
-
-# Make sure we can run config.sub.
-if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
-else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking host system type""... $ac_c" 1>&6
-echo "configure:1718: checking host system type" >&5
-
-host_alias=$host
-case "$host_alias" in
-NONE)
-  case $nonopt in
-  NONE)
-    if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
-    else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
-    fi ;;
-  *) host_alias=$nonopt ;;
-  esac ;;
-esac
-
-host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
-host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$host" 1>&6
-
-echo $ac_n "checking target system type""... $ac_c" 1>&6
-echo "configure:1739: checking target system type" >&5
-
-target_alias=$target
-case "$target_alias" in
-NONE)
-  case $nonopt in
-  NONE) target_alias=$host_alias ;;
-  *) target_alias=$nonopt ;;
-  esac ;;
-esac
-
-target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
-target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$target" 1>&6
-
-echo $ac_n "checking build system type""... $ac_c" 1>&6
-echo "configure:1757: checking build system type" >&5
-
-build_alias=$build
-case "$build_alias" in
-NONE)
-  case $nonopt in
-  NONE) build_alias=$host_alias ;;
-  *) build_alias=$nonopt ;;
-  esac ;;
-esac
-
-build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
-build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-echo "$ac_t""$build" 1>&6
-
-test "$host_alias" != "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-if test "$program_transform_name" = s,x,x,; then
-  program_transform_name=
-else
-  # Double any \ or $.  echo might interpret backslashes.
-  cat <<\EOF_SED > conftestsed
-s,\\,\\\\,g; s,\$,$$,g
-EOF_SED
-  program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
-  rm -f conftestsed
-fi
-test "$program_prefix" != NONE &&
-  program_transform_name="s,^,${program_prefix},; $program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
-
-# sed with no file args requires a program.
-test "$program_transform_name" = "" && program_transform_name="s,x,x,"
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1801: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="gcc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1831: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_prog_rejected=no
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
-        ac_prog_rejected=yes
-       continue
-      fi
-      ac_cv_prog_CC="cc"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# -gt 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    set dummy "$ac_dir/$ac_word" "$@"
-    shift
-    ac_cv_prog_CC="$@"
-  fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-  if test -z "$CC"; then
-    case "`uname -s`" in
-    *win32* | *WIN32*)
-      # Extract the first word of "cl", so it can be a program name with args.
-set dummy cl; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:1882: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_CC="cl"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
-  echo "$ac_t""$CC" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
- ;;
-    esac
-  fi
-  test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:1914: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext << EOF
-
-#line 1925 "configure"
-#include "confdefs.h"
-
-main(){return(0);}
-EOF
-if { (eval echo configure:1930: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  ac_cv_prog_cc_works=yes
-  # If we can't run a trivial program, we are probably using a cross compiler.
-  if (./conftest; exit) 2>/dev/null; then
-    ac_cv_prog_cc_cross=no
-  else
-    ac_cv_prog_cc_cross=yes
-  fi
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
-  { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:1956: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:1961: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.c <<EOF
-#ifdef __GNUC__
-  yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
-  ac_cv_prog_gcc=yes
-else
-  ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-
-ac_test_CFLAGS="${CFLAGS+set}"
-ac_save_CFLAGS="$CFLAGS"
-CFLAGS=
-echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:1989: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
-  ac_cv_prog_cc_g=yes
-else
-  ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS="$ac_save_CFLAGS"
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:2032: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-    IFS="${IFS=        }"; ac_save_IFS="$IFS"; IFS=":"
-  for ac_dir in $PATH; do
-    # Account for people who put trailing slashes in PATH elements.
-    case "$ac_dir/" in
-    /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
-    *)
-      # OSF1 and SCO ODT 3.0 have their own names for install.
-      # Don't use installbsd from OSF since it installs stuff as root
-      # by default.
-      for ac_prog in ginstall scoinst install; do
-        if test -f $ac_dir/$ac_prog; then
-         if test $ac_prog = install &&
-            grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         else
-           ac_cv_path_install="$ac_dir/$ac_prog -c"
-           break 2
-         fi
-       fi
-      done
-      ;;
-    esac
-  done
-  IFS="$ac_save_IFS"
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL="$ac_cv_path_install"
-  else
-    # As a last resort, use the slow shell script.  We don't cache a
-    # path for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the path is relative.
-    INSTALL="$ac_install_sh"
-  fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-# Put a plausible default for CC_FOR_BUILD in Makefile.
-if test "x$cross_compiling" = "xno"; then
-  CC_FOR_BUILD='$(CC)'
-else
-  CC_FOR_BUILD=gcc
-fi
-
-
-
-
-AR=${AR-ar}
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2100: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_prog_RANLIB="ranlib"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
-  echo "$ac_t""$RANLIB" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-ALL_LINGUAS=
-                              
-   for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h values.h sys/param.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2135: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2140 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2145: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-   for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
-__argz_count __argz_stringify __argz_next
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2175: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2180 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2203: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-
-   if test "${ac_cv_func_stpcpy+set}" != "set"; then
-     for ac_func in stpcpy
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2232: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2237 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-   fi
-   if test "${ac_cv_func_stpcpy}" = "yes"; then
-     cat >> confdefs.h <<\EOF
-#define HAVE_STPCPY 1
-EOF
-
-   fi
-
-   if test $ac_cv_header_locale_h = yes; then
-    echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:2294: checking for LC_MESSAGES" >&5
-if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2299 "configure"
-#include "confdefs.h"
-#include <locale.h>
-int main() {
-return LC_MESSAGES
-; return 0; }
-EOF
-if { (eval echo configure:2306: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  am_cv_val_LC_MESSAGES=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  am_cv_val_LC_MESSAGES=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6
-    if test $am_cv_val_LC_MESSAGES = yes; then
-      cat >> confdefs.h <<\EOF
-#define HAVE_LC_MESSAGES 1
-EOF
-
-    fi
-  fi
-   echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:2327: checking whether NLS is requested" >&5
-        # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
-  enableval="$enable_nls"
-  USE_NLS=$enableval
-else
-  USE_NLS=yes
-fi
-
-    echo "$ac_t""$USE_NLS" 1>&6
-    
-
-    USE_INCLUDED_LIBINTL=no
-
-        if test "$USE_NLS" = "yes"; then
-      cat >> confdefs.h <<\EOF
-#define ENABLE_NLS 1
-EOF
-
-      echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:2347: checking whether included gettext is requested" >&5
-      # Check whether --with-included-gettext or --without-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then
-  withval="$with_included_gettext"
-  nls_cv_force_use_gnu_gettext=$withval
-else
-  nls_cv_force_use_gnu_gettext=no
-fi
-
-      echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-                                       nls_cv_header_intl=
-       nls_cv_header_libgt=
-       CATOBJEXT=NONE
-
-       ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:2366: checking for libintl.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2371 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2376: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:2393: checking for gettext in libc" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2398 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-int main() {
-return (int) gettext ("")
-; return 0; }
-EOF
-if { (eval echo configure:2405: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  gt_cv_func_gettext_libc=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  gt_cv_func_gettext_libc=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
-
-          if test "$gt_cv_func_gettext_libc" != "yes"; then
-            echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:2421: checking for bindtextdomain in -lintl" >&5
-ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lintl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2429 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char bindtextdomain();
-
-int main() {
-bindtextdomain()
-; return 0; }
-EOF
-if { (eval echo configure:2440: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:2456: checking for gettext in libintl" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2461 "configure"
-#include "confdefs.h"
-
-int main() {
-return (int) gettext ("")
-; return 0; }
-EOF
-if { (eval echo configure:2468: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  gt_cv_func_gettext_libintl=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  gt_cv_func_gettext_libintl=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-          fi
-
-          if test "$gt_cv_func_gettext_libc" = "yes" \
-             || test "$gt_cv_func_gettext_libintl" = "yes"; then
-             cat >> confdefs.h <<\EOF
-#define HAVE_GETTEXT 1
-EOF
-
-             # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2496: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$MSGFMT" in
-  /*)
-  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
-       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no"
-  ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
-  echo "$ac_t""$MSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-             if test "$MSGFMT" != "no"; then
-               for ac_func in dcgettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2530: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2535 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-               # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2585: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$GMSGFMT" in
-  /*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  ?:/*)                         
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do 
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
-  ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
-  echo "$ac_t""$GMSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-               # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2621: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$XGETTEXT" in
-  /*)
-  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
-       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-  ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
-  echo "$ac_t""$XGETTEXT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-               cat > conftest.$ac_ext <<EOF
-#line 2653 "configure"
-#include "confdefs.h"
-
-int main() {
-extern int _nl_msg_cat_cntr;
-                              return _nl_msg_cat_cntr
-; return 0; }
-EOF
-if { (eval echo configure:2661: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  CATOBJEXT=.gmo
-                  DATADIRNAME=share
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  CATOBJEXT=.mo
-                  DATADIRNAME=lib
-fi
-rm -f conftest*
-               INSTOBJEXT=.mo
-             fi
-           fi
-       
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-               
-        if test "$CATOBJEXT" = "NONE"; then
-                         nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-                INTLOBJS="\$(GETTOBJS)"
-        # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2693: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$MSGFMT" in
-  /*)
-  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
-       ac_cv_path_MSGFMT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt"
-  ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
-  echo "$ac_t""$MSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-        # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2727: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$GMSGFMT" in
-  /*)
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
-  ;;
-  ?:/*)                         
-  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS=":"
-  ac_dummy="$PATH"
-  for ac_dir in $ac_dummy; do 
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
-      break
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
-  ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
-  echo "$ac_t""$GMSGFMT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-        # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2763: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  case "$XGETTEXT" in
-  /*)
-  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-  ;;
-  *)
-  IFS="${IFS=  }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
-  for ac_dir in $PATH; do
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/$ac_word; then
-      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
-       ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
-       break
-      fi
-    fi
-  done
-  IFS="$ac_save_ifs"
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
-  ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
-  echo "$ac_t""$XGETTEXT" 1>&6
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-        
-       USE_INCLUDED_LIBINTL=yes
-        CATOBJEXT=.gmo
-        INSTOBJEXT=.mo
-        DATADIRNAME=share
-       INTLDEPS='$(top_builddir)/../intl/libintl.a'
-       INTLLIBS=$INTLDEPS
-       LIBS=`echo $LIBS | sed -e 's/-lintl//'`
-        nls_cv_header_intl=libintl.h
-        nls_cv_header_libgt=libgettext.h
-      fi
-
-            if test "$XGETTEXT" != ":"; then
-                       if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
-         : ;
-       else
-         echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6
-         XGETTEXT=":"
-       fi
-      fi
-
-      # We need to process the po/ directory.
-      POSUB=po
-    else
-      DATADIRNAME=share
-      nls_cv_header_intl=libintl.h
-      nls_cv_header_libgt=libgettext.h
-    fi
-
-    # If this is used in GNU gettext we have to set USE_NLS to `yes'
-    # because some of the sources are only built for this goal.
-    if test "$PACKAGE" = gettext; then
-      USE_NLS=yes
-      USE_INCLUDED_LIBINTL=yes
-    fi
-
-                for lang in $ALL_LINGUAS; do
-      GMOFILES="$GMOFILES $lang.gmo"
-      POFILES="$POFILES $lang.po"
-    done
-
-        
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
-  
-
-   if test "x$CATOBJEXT" != "x"; then
-     if test "x$ALL_LINGUAS" = "x"; then
-       LINGUAS=
-     else
-       echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:2853: checking for catalogs to be installed" >&5
-       NEW_LINGUAS=
-       for lang in ${LINGUAS=$ALL_LINGUAS}; do
-         case "$ALL_LINGUAS" in
-          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
-         esac
-       done
-       LINGUAS=$NEW_LINGUAS
-       echo "$ac_t""$LINGUAS" 1>&6
-     fi
-
-          if test -n "$LINGUAS"; then
-       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
-     fi
-   fi
-
-            if test $ac_cv_header_locale_h = yes; then
-     INCLUDE_LOCALE_H="#include <locale.h>"
-   else
-     INCLUDE_LOCALE_H="\
-/* The system does not provide the header <locale.h>.  Take care yourself.  */"
-   fi
-   
-
-            if test -f $srcdir/po2tbl.sed.in; then
-      if test "$CATOBJEXT" = ".cat"; then
-        ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:2881: checking for linux/version.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2886 "configure"
-#include "confdefs.h"
-#include <linux/version.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2891: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-  msgformat=linux
-else
-  echo "$ac_t""no" 1>&6
-msgformat=xopen
-fi
-
-
-                        sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
-      fi
-            sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
-        $srcdir/po2tbl.sed.in > po2tbl.sed
-   fi
-
-            if test "$PACKAGE" = "gettext"; then
-     GT_NO="#NO#"
-     GT_YES=
-   else
-     GT_NO=
-     GT_YES="#YES#"
-   fi
-   
-   
-
-   MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
-   
-
-      l=
-   
-
-            if test -d $srcdir/po; then
-      test -d po || mkdir po
-      if test "x$srcdir" != "x."; then
-        if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
-           posrcprefix="$srcdir/"
-        else
-           posrcprefix="../$srcdir/"
-        fi
-      else
-        posrcprefix="../"
-      fi
-      rm -f po/POTFILES
-      sed -e "/^#/d" -e "/^\$/d" -e "s,.*,     $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
-        < $srcdir/po/POTFILES.in > po/POTFILES
-   fi
-  
-
-# Check for common headers.
-# FIXME: Seems to me this can cause problems for i386-windows hosts.
-# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
-for ac_hdr in stdlib.h string.h strings.h unistd.h time.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:2960: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 2965 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_hdr in sys/time.h sys/resource.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3000: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 3005 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3010: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_hdr in fcntl.h fpu_control.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3040: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 3045 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3050: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_hdr in dlfcn.h errno.h sys/stat.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:3080: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 3085 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:3090: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
-if test -z "$ac_err"; then
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=yes"
-else
-  echo "$ac_err" >&5
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_func in getrusage time sigaction __setfpucw
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:3119: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 3124 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $ac_func(); below.  */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char $ac_func();
-
-int main() {
-
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:3147: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-else
-  echo "$ac_t""no" 1>&6
-fi
-done
-
-
-# Check for socket libraries
-echo $ac_n "checking for bind in -lsocket""... $ac_c" 1>&6
-echo "configure:3174: checking for bind in -lsocket" >&5
-ac_lib_var=`echo socket'_'bind | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lsocket  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3182 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char bind();
-
-int main() {
-bind()
-; return 0; }
-EOF
-if { (eval echo configure:3193: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lsocket $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
-echo "configure:3221: checking for gethostbyname in -lnsl" >&5
-ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_save_LIBS="$LIBS"
-LIBS="-lnsl  $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 3229 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error.  */
-/* We use char because int might match the return type of a gcc2
-    builtin and then its argument prototype would still apply.  */
-char gethostbyname();
-
-int main() {
-gethostbyname()
-; return 0; }
-EOF
-if { (eval echo configure:3240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=yes"
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
-  echo "$ac_t""yes" 1>&6
-    ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-    -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
-  cat >> confdefs.h <<EOF
-#define $ac_tr_lib 1
-EOF
-
-  LIBS="-lnsl $LIBS"
-
-else
-  echo "$ac_t""no" 1>&6
-fi
-
-
-. ${srcdir}/../../bfd/configure.host
-
-
-
-USE_MAINTAINER_MODE=no
-# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
-  enableval="$enable_maintainer_mode"
-  case "${enableval}" in
-  yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
-  no)  MAINT="#" ;;
-  *)   { echo "configure: error: "--enable-maintainer-mode does not take a value"" 1>&2; exit 1; }; MAINT="#" ;;
-esac
-if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
-  echo "Setting maintainer mode" 6>&1
-fi
-else
-  MAINT="#"
-fi
-
-
-
-# Check whether --enable-sim-bswap or --disable-sim-bswap was given.
-if test "${enable_sim_bswap+set}" = set; then
-  enableval="$enable_sim_bswap"
-  case "${enableval}" in
-  yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
-  no)  sim_bswap="-DWITH_BSWAP=0";;
-  *)   { echo "configure: error: "--enable-sim-bswap does not take a value"" 1>&2; exit 1; }; sim_bswap="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
-  echo "Setting bswap flags = $sim_bswap" 6>&1
-fi
-else
-  sim_bswap=""
-fi
-
-
-
-# Check whether --enable-sim-cflags or --disable-sim-cflags was given.
-if test "${enable_sim_cflags+set}" = set; then
-  enableval="$enable_sim_cflags"
-  case "${enableval}" in
-  yes)  sim_cflags="-O2 -fomit-frame-pointer";;
-  trace) { echo "configure: error: "Please use --enable-sim-debug instead."" 1>&2; exit 1; }; sim_cflags="";;
-  no)   sim_cflags="";;
-  *)    sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
-  echo "Setting sim cflags = $sim_cflags" 6>&1
-fi
-else
-  sim_cflags=""
-fi
-
-
-
-# Check whether --enable-sim-debug or --disable-sim-debug was given.
-if test "${enable_sim_debug+set}" = set; then
-  enableval="$enable_sim_debug"
-  case "${enableval}" in
-  yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
-  no)  sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
-  *)   sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
-  echo "Setting sim debug = $sim_debug" 6>&1
-fi
-else
-  sim_debug=""
-fi
-
-
-
-# Check whether --enable-sim-stdio or --disable-sim-stdio was given.
-if test "${enable_sim_stdio+set}" = set; then
-  enableval="$enable_sim_stdio"
-  case "${enableval}" in
-  yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
-  no)  sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
-  *)   { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
-  echo "Setting stdio flags = $sim_stdio" 6>&1
-fi
-else
-  sim_stdio=""
-fi
-
-
-
-# Check whether --enable-sim-trace or --disable-sim-trace was given.
-if test "${enable_sim_trace+set}" = set; then
-  enableval="$enable_sim_trace"
-  case "${enableval}" in
-  yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
-  no)  sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
-  [-0-9]*)
-       sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
-  [a-z]*)
-       sim_trace=""
-       for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
-         if test x"$sim_trace" = x; then
-           sim_trace="-DWITH_TRACE='(TRACE_$x"
-         else
-           sim_trace="${sim_trace}|TRACE_$x"
-         fi
-       done
-       sim_trace="$sim_trace)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
-  echo "Setting sim trace = $sim_trace" 6>&1
-fi
-else
-  sim_trace=""
-fi
-
-
-
-# Check whether --enable-sim-profile or --disable-sim-profile was given.
-if test "${enable_sim_profile+set}" = set; then
-  enableval="$enable_sim_profile"
-  case "${enableval}" in
-  yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
-  no)  sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
-  [-0-9]*)
-       sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
-  [a-z]*)
-       sim_profile=""
-       for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
-         if test x"$sim_profile" = x; then
-           sim_profile="-DWITH_PROFILE='(PROFILE_$x"
-         else
-           sim_profile="${sim_profile}|PROFILE_$x"
-         fi
-       done
-       sim_profile="$sim_profile)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
-  echo "Setting sim profile = $sim_profile" 6>&1
-fi
-else
-  sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"
-fi
-
-
-
-echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6
-echo "configure:3416: checking return type of signal handlers" >&5
-if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  cat > conftest.$ac_ext <<EOF
-#line 3421 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-#undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int main() {
-int i;
-; return 0; }
-EOF
-if { (eval echo configure:3438: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_type_signal=void
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_type_signal=int
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_type_signal" 1>&6
-cat >> confdefs.h <<EOF
-#define RETSIGTYPE $ac_cv_type_signal
-EOF
-
-
-
-
-
-echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
-echo "configure:3460: checking for executable suffix" >&5
-if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
-  ac_cv_exeext=.exe
-else
-  rm -f conftest*
-  echo 'int main () { return 0; }' > conftest.$ac_ext
-  ac_cv_exeext=
-  if { (eval echo configure:3470: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
-    for file in conftest.*; do
-      case $file in
-      *.c | *.o | *.obj | *.ilk | *.pdb) ;;
-      *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
-      esac
-    done
-  else
-    { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
-  fi
-  rm -f conftest*
-  test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
-fi
-fi
-
-EXEEXT=""
-test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
-echo "$ac_t""${ac_cv_exeext}" 1>&6
-ac_exeext=$EXEEXT
-
-
-sim_link_files=
-sim_link_links=
-
-sim_link_links=tconfig.h
-if test -f ${srcdir}/tconfig.in
-then
-  sim_link_files=tconfig.in
-else
-  sim_link_files=../common/tconfig.in
-fi
-
-# targ-vals.def points to the libc macro description file.
-case "${target}" in
-*-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
-esac
-sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
-sim_link_links="${sim_link_links} targ-vals.def"
-
-
-
-
-wire_endian="BIG_ENDIAN"
-default_endian=""
-# Check whether --enable-sim-endian or --disable-sim-endian was given.
-if test "${enable_sim_endian+set}" = set; then
-  enableval="$enable_sim_endian"
-  case "${enableval}" in
-  b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
-  l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
-  yes)  if test x"$wire_endian" != x; then
-          sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
-        else
-           if test x"$default_endian" != x; then
-            sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
-          else
-            echo "No hard-wired endian for target $target" 1>&6
-            sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
-          fi
-        fi;;
-  no)   if test x"$default_endian" != x; then
-          sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
-        else
-          if test x"$wire_endian" != x; then
-            sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
-          else
-            echo "No default endian for target $target" 1>&6
-            sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
-          fi
-        fi;;
-  *)    { echo "configure: error: "Unknown value $enableval for --enable-sim-endian"" 1>&2; exit 1; }; sim_endian="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
-  echo "Setting endian flags = $sim_endian" 6>&1
-fi
-else
-  if test x"$default_endian" != x; then
-  sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
-else
-  if test x"$wire_endian" != x; then
-    sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
-  else
-    sim_endian=
-  fi
-fi
-fi
-
-wire_alignment="FORCED_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment or --disable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then
-  enableval="$enable_sim_alignment"
-  case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-        sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-          echo "No hard-wired alignment for target $target" 1>&6
-          sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-        sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-          sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   { echo "configure: error: "Unknown value $enableval passed to --enable-sim-alignment"" 1>&2; exit 1; }; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
-
-# Check whether --enable-sim-hostendian or --disable-sim-hostendian was given.
-if test "${enable_sim_hostendian+set}" = set; then
-  enableval="$enable_sim_hostendian"
-  case "${enableval}" in
-  no)   sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
-  b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
-  l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
-  *)    { echo "configure: error: "Unknown value $enableval for --enable-sim-hostendian"" 1>&2; exit 1; }; sim_hostendian="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
-  echo "Setting hostendian flags = $sim_hostendian" 6>&1
-fi
-else
-  
-if test "x$cross_compiling" = "xno"; then
-  echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
-echo "configure:3621: checking whether byte ordering is bigendian" >&5
-if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
-  echo $ac_n "(cached) $ac_c" 1>&6
-else
-  ac_cv_c_bigendian=unknown
-# See if sys/param.h defines the BYTE_ORDER macro.
-cat > conftest.$ac_ext <<EOF
-#line 3628 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/param.h>
-int main() {
-
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif
-; return 0; }
-EOF
-if { (eval echo configure:3639: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-cat > conftest.$ac_ext <<EOF
-#line 3643 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#include <sys/param.h>
-int main() {
-
-#if BYTE_ORDER != BIG_ENDIAN
- not big endian
-#endif
-; return 0; }
-EOF
-if { (eval echo configure:3654: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
-  rm -rf conftest*
-  ac_cv_c_bigendian=yes
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -rf conftest*
-  ac_cv_c_bigendian=no
-fi
-rm -f conftest*
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-if test $ac_cv_c_bigendian = unknown; then
-if test "$cross_compiling" = yes; then
-    { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
-else
-  cat > conftest.$ac_ext <<EOF
-#line 3674 "configure"
-#include "confdefs.h"
-main () {
-  /* Are we little or big endian?  From Harbison&Steele.  */
-  union
-  {
-    long l;
-    char c[sizeof (long)];
-  } u;
-  u.l = 1;
-  exit (u.c[sizeof (long) - 1] == 1);
-}
-EOF
-if { (eval echo configure:3687: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
-then
-  ac_cv_c_bigendian=no
-else
-  echo "configure: failed program was:" >&5
-  cat conftest.$ac_ext >&5
-  rm -fr conftest*
-  ac_cv_c_bigendian=yes
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_c_bigendian" 1>&6
-if test $ac_cv_c_bigendian = yes; then
-  cat >> confdefs.h <<\EOF
-#define WORDS_BIGENDIAN 1
-EOF
-
-fi
-
-  if test $ac_cv_c_bigendian = yes; then
-    sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
-  else
-    sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
-  fi
-else
-  sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
-fi
-fi
-
-
-default_sim_scache="16384"
-# Check whether --enable-sim-scache or --disable-sim-scache was given.
-if test "${enable_sim_scache+set}" = set; then
-  enableval="$enable_sim_scache"
-  case "${enableval}" in
-  yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
-  no)  sim_scache="-DWITH_SCACHE=0" ;;
-  [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)   { echo "configure: error: "Bad value $enableval passed to --enable-sim-scache"" 1>&2; exit 1; };
-       sim_scache="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
-  echo "Setting scache size = $sim_scache" 6>&1
-fi
-else
-  sim_scache="-DWITH_SCACHE=${default_sim_scache}"
-fi
-
-
-
-default_sim_default_model="fr30-1"
-# Check whether --enable-sim-default-model or --disable-sim-default-model was given.
-if test "${enable_sim_default_model+set}" = set; then
-  enableval="$enable_sim_default_model"
-  case "${enableval}" in
-  yes|no) { echo "configure: error: "Missing argument to --enable-sim-default-model"" 1>&2; exit 1; };;
-  *)   sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
-  echo "Setting default model = $sim_default_model" 6>&1
-fi
-else
-  sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"
-fi
-
-
-
-# Check whether --enable-sim-environment or --disable-sim-environment was given.
-if test "${enable_sim_environment+set}" = set; then
-  enableval="$enable_sim_environment"
-  case "${enableval}" in
-  all | ALL)             sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
-  user | USER)           sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
-  virtual | VIRTUAL)     sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
-  operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
-  *)   { echo "configure: error: "Unknown value $enableval passed to --enable-sim-environment"" 1>&2; exit 1; };
-       sim_environment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
-  echo "Setting sim environment = $sim_environment" 6>&1
-fi
-else
-  sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"
-fi
-
-
-cgen_maint=no
-cgen=guile
-cgendir='$(srcdir)/../../cgen'
-# Check whether --enable-cgen-maint or --disable-cgen-maint was given.
-if test "${enable_cgen_maint+set}" = set; then
-  enableval="$enable_cgen_maint"
-  case "${enableval}" in
-  yes) cgen_maint=yes ;;
-  no)  cgen_maint=no ;;
-  *)
-       # argument is cgen install directory (not implemented yet).
-       # Having a `share' directory might be more appropriate for the .scm,
-       # .cpu, etc. files.
-       cgendir=${cgen_maint}/lib/cgen
-       cgen=guile
-       ;;
-esac
-fi
-if test x${cgen_maint} != xno ; then
-  CGEN_MAINT=''
-else
-  CGEN_MAINT='#'
-fi
-
-
-
-
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs.  It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already.  You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
-  case `(ac_space=' '; set | grep ac_space) 2>&1` in
-  *ac_space=\ *)
-    # `set' does not quote correctly, so add quotes (double-quote substitution
-    # turns \\\\ into \\, and sed turns \\ into \).
-    sed -n \
-      -e "s/'/'\\\\''/g" \
-      -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
-    ;;
-  *)
-    # `set' quotes correctly as required by POSIX, so do not add quotes.
-    sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
-    ;;
-  esac >> confcache
-if cmp -s $cache_file confcache; then
-  :
-else
-  if test -w $cache_file; then
-    echo "updating cache $cache_file"
-    cat confcache > $cache_file
-  else
-    echo "not updating unwritable cache $cache_file"
-  fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[        ]*VPATH[        ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
-  case "\$ac_option" in
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
-    exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
-  -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
-    echo "$CONFIG_STATUS generated by autoconf version 2.13"
-    exit 0 ;;
-  -help | --help | --hel | --he | --h)
-    echo "\$ac_cs_usage"; exit 0 ;;
-  *) echo "\$ac_cs_usage"; exit 1 ;;
-  esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@sim_environment@%$sim_environment%g
-s%@sim_alignment@%$sim_alignment%g
-s%@sim_assert@%$sim_assert%g
-s%@sim_bitsize@%$sim_bitsize%g
-s%@sim_endian@%$sim_endian%g
-s%@sim_hostendian@%$sim_hostendian%g
-s%@sim_float@%$sim_float%g
-s%@sim_scache@%$sim_scache%g
-s%@sim_default_model@%$sim_default_model%g
-s%@sim_hw_cflags@%$sim_hw_cflags%g
-s%@sim_hw_objs@%$sim_hw_objs%g
-s%@sim_hw@%$sim_hw%g
-s%@sim_inline@%$sim_inline%g
-s%@sim_packages@%$sim_packages%g
-s%@sim_regparm@%$sim_regparm%g
-s%@sim_reserved_bits@%$sim_reserved_bits%g
-s%@sim_smp@%$sim_smp%g
-s%@sim_stdcall@%$sim_stdcall%g
-s%@sim_xor_endian@%$sim_xor_endian%g
-s%@WARN_CFLAGS@%$WARN_CFLAGS%g
-s%@WERROR_CFLAGS@%$WERROR_CFLAGS%g
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@host@%$host%g
-s%@host_alias@%$host_alias%g
-s%@host_cpu@%$host_cpu%g
-s%@host_vendor@%$host_vendor%g
-s%@host_os@%$host_os%g
-s%@target@%$target%g
-s%@target_alias@%$target_alias%g
-s%@target_cpu@%$target_cpu%g
-s%@target_vendor@%$target_vendor%g
-s%@target_os@%$target_os%g
-s%@build@%$build%g
-s%@build_alias@%$build_alias%g
-s%@build_cpu@%$build_cpu%g
-s%@build_vendor@%$build_vendor%g
-s%@build_os@%$build_os%g
-s%@CC@%$CC%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g
-s%@HDEFINES@%$HDEFINES%g
-s%@AR@%$AR%g
-s%@RANLIB@%$RANLIB%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@CPP@%$CPP%g
-s%@ALLOCA@%$ALLOCA%g
-s%@USE_NLS@%$USE_NLS%g
-s%@MSGFMT@%$MSGFMT%g
-s%@GMSGFMT@%$GMSGFMT%g
-s%@XGETTEXT@%$XGETTEXT%g
-s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g
-s%@CATALOGS@%$CATALOGS%g
-s%@CATOBJEXT@%$CATOBJEXT%g
-s%@DATADIRNAME@%$DATADIRNAME%g
-s%@GMOFILES@%$GMOFILES%g
-s%@INSTOBJEXT@%$INSTOBJEXT%g
-s%@INTLDEPS@%$INTLDEPS%g
-s%@INTLLIBS@%$INTLLIBS%g
-s%@INTLOBJS@%$INTLOBJS%g
-s%@POFILES@%$POFILES%g
-s%@POSUB@%$POSUB%g
-s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g
-s%@GT_NO@%$GT_NO%g
-s%@GT_YES@%$GT_YES%g
-s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
-s%@l@%$l%g
-s%@MAINT@%$MAINT%g
-s%@sim_bswap@%$sim_bswap%g
-s%@sim_cflags@%$sim_cflags%g
-s%@sim_debug@%$sim_debug%g
-s%@sim_stdio@%$sim_stdio%g
-s%@sim_trace@%$sim_trace%g
-s%@sim_profile@%$sim_profile%g
-s%@EXEEXT@%$EXEEXT%g
-s%@CGEN_MAINT@%$CGEN_MAINT%g
-s%@cgendir@%$cgendir%g
-s%@cgen@%$cgen%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
-  if test $ac_beg -gt 1; then
-    sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
-  else
-    sed "${ac_end}q" conftest.subs > conftest.s$ac_file
-  fi
-  if test ! -s conftest.s$ac_file; then
-    ac_more_lines=false
-    rm -f conftest.s$ac_file
-  else
-    if test -z "$ac_sed_cmds"; then
-      ac_sed_cmds="sed -f conftest.s$ac_file"
-    else
-      ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
-    fi
-    ac_file=`expr $ac_file + 1`
-    ac_beg=$ac_end
-    ac_end=`expr $ac_end + $ac_max_sed_cmds`
-  fi
-done
-if test -z "$ac_sed_cmds"; then
-  ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-    # The file is in a subdirectory.
-    test ! -d "$ac_dir" && mkdir "$ac_dir"
-    ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
-    # A "../" for each directory in $ac_dir_suffix.
-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-  else
-    ac_dir_suffix= ac_dots=
-  fi
-
-  case "$ac_given_srcdir" in
-  .)  srcdir=.
-      if test -z "$ac_dots"; then top_srcdir=.
-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-  *) # Relative path.
-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-    top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  case "$ac_given_INSTALL" in
-  [/$]*) INSTALL="$ac_given_INSTALL" ;;
-  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-  esac
-
-  echo creating "$ac_file"
-  rm -f "$ac_file"
-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-  case "$ac_file" in
-  *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
-  *) ac_comsub= ;;
-  esac
-
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([  ]*\)#\([        ]*define[       ][      ]*\)'
-ac_dB='\([     ][      ]*\)[^  ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_uB='\([     ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([  ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
-  CONFIG_HEADERS="config.h:config.in"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  echo creating $ac_file
-
-  rm -f conftest.frag conftest.in conftest.out
-  ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
-  cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h.  And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >> conftest.vals <<\EOF
-s%^[   ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
-  ac_lines=`grep -c . conftest.vals`
-  # grep -c gives empty output for an empty file on some AIX systems.
-  if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
-  # Write a limited-size here document to conftest.frag.
-  echo '  cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
-  echo 'CEOF
-  sed -f conftest.frag conftest.in > conftest.out
-  rm -f conftest.in
-  mv conftest.out conftest.in
-' >> $CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
-  rm -f conftest.vals
-  mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
-  rm -f conftest.frag conftest.h
-  echo "/* $ac_file.  Generated automatically by configure.  */" > conftest.h
-  cat conftest.in >> conftest.h
-  rm -f conftest.in
-  if cmp -s $ac_file conftest.h 2>/dev/null; then
-    echo "$ac_file is unchanged"
-    rm -f conftest.h
-  else
-    # Remove last slash and all that follows it.  Not all systems have dirname.
-      ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-      # The file is in a subdirectory.
-      test ! -d "$ac_dir" && mkdir "$ac_dir"
-    fi
-    rm -f $ac_file
-    mv conftest.h $ac_file
-  fi
-fi; done
-
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="$sim_link_files"
-ac_dests="$sim_link_links"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
-  set $ac_dests; ac_dest=$1; shift; ac_dests=$*
-  set $ac_sources; ac_source=$1; shift; ac_sources=$*
-
-  echo "linking $srcdir/$ac_source to $ac_dest"
-
-  if test ! -r $srcdir/$ac_source; then
-    { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
-  fi
-  rm -f $ac_dest
-
-  # Make relative symlinks.
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-  ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
-  if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
-    # The dest file is in a subdirectory.
-    test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
-    ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
-    # A "../" for each directory in $ac_dest_dir_suffix.
-    ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
-  else
-    ac_dest_dir_suffix= ac_dots=
-  fi
-
-  case "$srcdir" in
-  [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
-  *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
-  esac
-
-  # Make a symlink if possible; otherwise try a hard link.
-  if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
-    ln $srcdir/$ac_source $ac_dest; then :
-  else
-    { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
-  fi
-done
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-case "x$CONFIG_FILES" in
- xMakefile*)
-   echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
-   rm -f Makesim1.tmp Makesim2.tmp Makefile
-   sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
-   sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
-   sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
-       -e '/^## COMMON_POST_/ r Makesim2.tmp' \
-       <Makefile.sim >Makefile
-   rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
-   ;;
- esac
- case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-
index cb01e13..db5703b 100644 (file)
@@ -1,16 +1,16 @@
-dnl Process this file with autoconf to produce a configure script.
-sinclude(../common/aclocal.m4)
-AC_PREREQ(2.5)dnl
-AC_INIT(Makefile.in)
-
-SIM_AC_COMMON
-
-SIM_AC_OPTION_ENDIAN(BIG_ENDIAN)
-SIM_AC_OPTION_ALIGNMENT(FORCED_ALIGNMENT)
-SIM_AC_OPTION_HOSTENDIAN
-SIM_AC_OPTION_SCACHE(16384)
-SIM_AC_OPTION_DEFAULT_MODEL(fr30-1)
-SIM_AC_OPTION_ENVIRONMENT
-SIM_AC_OPTION_CGEN_MAINT
-
-SIM_AC_OUTPUT
+dnl OBSOLETE dnl Process this file with autoconf to produce a configure script.
+dnl OBSOLETE sinclude(../common/aclocal.m4)
+dnl OBSOLETE AC_PREREQ(2.5)dnl
+dnl OBSOLETE AC_INIT(Makefile.in)
+dnl OBSOLETE 
+dnl OBSOLETE SIM_AC_COMMON
+dnl OBSOLETE 
+dnl OBSOLETE SIM_AC_OPTION_ENDIAN(BIG_ENDIAN)
+dnl OBSOLETE SIM_AC_OPTION_ALIGNMENT(FORCED_ALIGNMENT)
+dnl OBSOLETE SIM_AC_OPTION_HOSTENDIAN
+dnl OBSOLETE SIM_AC_OPTION_SCACHE(16384)
+dnl OBSOLETE SIM_AC_OPTION_DEFAULT_MODEL(fr30-1)
+dnl OBSOLETE SIM_AC_OPTION_ENVIRONMENT
+dnl OBSOLETE SIM_AC_OPTION_CGEN_MAINT
+dnl OBSOLETE 
+dnl OBSOLETE SIM_AC_OUTPUT
index 938a5b7..22cb809 100644 (file)
-/* Misc. support for CPU family fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#define WANT_CPU fr30bf
-#define WANT_CPU_FR30BF
-
-#include "sim-main.h"
-#include "cgen-ops.h"
-
-/* Get the value of h-pc.  */
-
-USI
-fr30bf_h_pc_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_pc);
-}
-
-/* Set a value for h-pc.  */
-
-void
-fr30bf_h_pc_set (SIM_CPU *current_cpu, USI newval)
-{
-  CPU (h_pc) = newval;
-}
-
-/* Get the value of h-gr.  */
-
-SI
-fr30bf_h_gr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return CPU (h_gr[regno]);
-}
-
-/* Set a value for h-gr.  */
-
-void
-fr30bf_h_gr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
-{
-  CPU (h_gr[regno]) = newval;
-}
-
-/* Get the value of h-cr.  */
-
-SI
-fr30bf_h_cr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return CPU (h_cr[regno]);
-}
-
-/* Set a value for h-cr.  */
-
-void
-fr30bf_h_cr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
-{
-  CPU (h_cr[regno]) = newval;
-}
-
-/* Get the value of h-dr.  */
-
-SI
-fr30bf_h_dr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_DR (regno);
-}
-
-/* Set a value for h-dr.  */
-
-void
-fr30bf_h_dr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
-{
-  SET_H_DR (regno, newval);
-}
-
-/* Get the value of h-ps.  */
-
-USI
-fr30bf_h_ps_get (SIM_CPU *current_cpu)
-{
-  return GET_H_PS ();
-}
-
-/* Set a value for h-ps.  */
-
-void
-fr30bf_h_ps_set (SIM_CPU *current_cpu, USI newval)
-{
-  SET_H_PS (newval);
-}
-
-/* Get the value of h-r13.  */
-
-SI
-fr30bf_h_r13_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_r13);
-}
-
-/* Set a value for h-r13.  */
-
-void
-fr30bf_h_r13_set (SIM_CPU *current_cpu, SI newval)
-{
-  CPU (h_r13) = newval;
-}
-
-/* Get the value of h-r14.  */
-
-SI
-fr30bf_h_r14_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_r14);
-}
-
-/* Set a value for h-r14.  */
-
-void
-fr30bf_h_r14_set (SIM_CPU *current_cpu, SI newval)
-{
-  CPU (h_r14) = newval;
-}
-
-/* Get the value of h-r15.  */
-
-SI
-fr30bf_h_r15_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_r15);
-}
-
-/* Set a value for h-r15.  */
-
-void
-fr30bf_h_r15_set (SIM_CPU *current_cpu, SI newval)
-{
-  CPU (h_r15) = newval;
-}
-
-/* Get the value of h-nbit.  */
-
-BI
-fr30bf_h_nbit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_nbit);
-}
-
-/* Set a value for h-nbit.  */
-
-void
-fr30bf_h_nbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_nbit) = newval;
-}
-
-/* Get the value of h-zbit.  */
-
-BI
-fr30bf_h_zbit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_zbit);
-}
-
-/* Set a value for h-zbit.  */
-
-void
-fr30bf_h_zbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_zbit) = newval;
-}
-
-/* Get the value of h-vbit.  */
-
-BI
-fr30bf_h_vbit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_vbit);
-}
-
-/* Set a value for h-vbit.  */
-
-void
-fr30bf_h_vbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_vbit) = newval;
-}
-
-/* Get the value of h-cbit.  */
-
-BI
-fr30bf_h_cbit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_cbit);
-}
-
-/* Set a value for h-cbit.  */
-
-void
-fr30bf_h_cbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_cbit) = newval;
-}
-
-/* Get the value of h-ibit.  */
-
-BI
-fr30bf_h_ibit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_ibit);
-}
-
-/* Set a value for h-ibit.  */
-
-void
-fr30bf_h_ibit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_ibit) = newval;
-}
-
-/* Get the value of h-sbit.  */
-
-BI
-fr30bf_h_sbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_SBIT ();
-}
-
-/* Set a value for h-sbit.  */
-
-void
-fr30bf_h_sbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_SBIT (newval);
-}
-
-/* Get the value of h-tbit.  */
-
-BI
-fr30bf_h_tbit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_tbit);
-}
-
-/* Set a value for h-tbit.  */
-
-void
-fr30bf_h_tbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_tbit) = newval;
-}
-
-/* Get the value of h-d0bit.  */
-
-BI
-fr30bf_h_d0bit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_d0bit);
-}
-
-/* Set a value for h-d0bit.  */
-
-void
-fr30bf_h_d0bit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_d0bit) = newval;
-}
-
-/* Get the value of h-d1bit.  */
-
-BI
-fr30bf_h_d1bit_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_d1bit);
-}
-
-/* Set a value for h-d1bit.  */
-
-void
-fr30bf_h_d1bit_set (SIM_CPU *current_cpu, BI newval)
-{
-  CPU (h_d1bit) = newval;
-}
-
-/* Get the value of h-ccr.  */
-
-UQI
-fr30bf_h_ccr_get (SIM_CPU *current_cpu)
-{
-  return GET_H_CCR ();
-}
-
-/* Set a value for h-ccr.  */
-
-void
-fr30bf_h_ccr_set (SIM_CPU *current_cpu, UQI newval)
-{
-  SET_H_CCR (newval);
-}
-
-/* Get the value of h-scr.  */
-
-UQI
-fr30bf_h_scr_get (SIM_CPU *current_cpu)
-{
-  return GET_H_SCR ();
-}
-
-/* Set a value for h-scr.  */
-
-void
-fr30bf_h_scr_set (SIM_CPU *current_cpu, UQI newval)
-{
-  SET_H_SCR (newval);
-}
-
-/* Get the value of h-ilm.  */
-
-UQI
-fr30bf_h_ilm_get (SIM_CPU *current_cpu)
-{
-  return GET_H_ILM ();
-}
-
-/* Set a value for h-ilm.  */
-
-void
-fr30bf_h_ilm_set (SIM_CPU *current_cpu, UQI newval)
-{
-  SET_H_ILM (newval);
-}
-
-/* Record trace results for INSN.  */
-
-void
-fr30bf_record_trace_results (SIM_CPU *current_cpu, CGEN_INSN *insn,
-                           int *indices, TRACE_RECORD *tr)
-{
-}
+// OBSOLETE /* Misc. support for CPU family fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #define WANT_CPU fr30bf
+// OBSOLETE #define WANT_CPU_FR30BF
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #include "cgen-ops.h"
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-pc.  */
+// OBSOLETE 
+// OBSOLETE USI
+// OBSOLETE fr30bf_h_pc_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_pc);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-pc.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_pc_set (SIM_CPU *current_cpu, USI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_pc) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-gr.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_gr_get (SIM_CPU *current_cpu, UINT regno)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_gr[regno]);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-gr.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_gr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_gr[regno]) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-cr.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_cr_get (SIM_CPU *current_cpu, UINT regno)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_cr[regno]);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-cr.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_cr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_cr[regno]) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-dr.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_dr_get (SIM_CPU *current_cpu, UINT regno)
+// OBSOLETE {
+// OBSOLETE   return GET_H_DR (regno);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-dr.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_dr_set (SIM_CPU *current_cpu, UINT regno, SI newval)
+// OBSOLETE {
+// OBSOLETE   SET_H_DR (regno, newval);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-ps.  */
+// OBSOLETE 
+// OBSOLETE USI
+// OBSOLETE fr30bf_h_ps_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return GET_H_PS ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-ps.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ps_set (SIM_CPU *current_cpu, USI newval)
+// OBSOLETE {
+// OBSOLETE   SET_H_PS (newval);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-r13.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_r13_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_r13);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-r13.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_r13_set (SIM_CPU *current_cpu, SI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_r13) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-r14.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_r14_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_r14);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-r14.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_r14_set (SIM_CPU *current_cpu, SI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_r14) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-r15.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_r15_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_r15);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-r15.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_r15_set (SIM_CPU *current_cpu, SI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_r15) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-nbit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_nbit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_nbit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-nbit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_nbit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_nbit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-zbit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_zbit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_zbit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-zbit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_zbit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_zbit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-vbit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_vbit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_vbit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-vbit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_vbit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_vbit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-cbit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_cbit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_cbit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-cbit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_cbit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_cbit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-ibit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_ibit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_ibit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-ibit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ibit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_ibit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-sbit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_sbit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return GET_H_SBIT ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-sbit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_sbit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   SET_H_SBIT (newval);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-tbit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_tbit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_tbit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-tbit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_tbit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_tbit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-d0bit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_d0bit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_d0bit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-d0bit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_d0bit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_d0bit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-d1bit.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_d1bit_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_d1bit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-d1bit.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_d1bit_set (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   CPU (h_d1bit) = newval;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-ccr.  */
+// OBSOLETE 
+// OBSOLETE UQI
+// OBSOLETE fr30bf_h_ccr_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return GET_H_CCR ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-ccr.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ccr_set (SIM_CPU *current_cpu, UQI newval)
+// OBSOLETE {
+// OBSOLETE   SET_H_CCR (newval);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-scr.  */
+// OBSOLETE 
+// OBSOLETE UQI
+// OBSOLETE fr30bf_h_scr_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return GET_H_SCR ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-scr.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_scr_set (SIM_CPU *current_cpu, UQI newval)
+// OBSOLETE {
+// OBSOLETE   SET_H_SCR (newval);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Get the value of h-ilm.  */
+// OBSOLETE 
+// OBSOLETE UQI
+// OBSOLETE fr30bf_h_ilm_get (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return GET_H_ILM ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Set a value for h-ilm.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ilm_set (SIM_CPU *current_cpu, UQI newval)
+// OBSOLETE {
+// OBSOLETE   SET_H_ILM (newval);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Record trace results for INSN.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_record_trace_results (SIM_CPU *current_cpu, CGEN_INSN *insn,
+// OBSOLETE                        int *indices, TRACE_RECORD *tr)
+// OBSOLETE {
+// OBSOLETE }
index 3a9e7c6..6505920 100644 (file)
-/* CPU family header for fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef CPU_FR30BF_H
-#define CPU_FR30BF_H
-
-/* Maximum number of instructions that are fetched at a time.
-   This is for LIW type instructions sets (e.g. m32r).  */
-#define MAX_LIW_INSNS 1
-
-/* Maximum number of instructions that can be executed in parallel.  */
-#define MAX_PARALLEL_INSNS 1
-
-/* CPU state information.  */
-typedef struct {
-  /* Hardware elements.  */
-  struct {
-  /* program counter */
-  USI h_pc;
-#define GET_H_PC() CPU (h_pc)
-#define SET_H_PC(x) (CPU (h_pc) = (x))
-  /* general registers */
-  SI h_gr[16];
-#define GET_H_GR(a1) CPU (h_gr)[a1]
-#define SET_H_GR(a1, x) (CPU (h_gr)[a1] = (x))
-  /* coprocessor registers */
-  SI h_cr[16];
-#define GET_H_CR(a1) CPU (h_cr)[a1]
-#define SET_H_CR(a1, x) (CPU (h_cr)[a1] = (x))
-  /* dedicated registers */
-  SI h_dr[6];
-#define GET_H_DR(index) fr30bf_h_dr_get_handler (current_cpu, index)
-#define SET_H_DR(index, x) \
-do { \
-fr30bf_h_dr_set_handler (current_cpu, (index), (x));\
-;} while (0)
-  /* processor status */
-  USI h_ps;
-#define GET_H_PS() fr30bf_h_ps_get_handler (current_cpu)
-#define SET_H_PS(x) \
-do { \
-fr30bf_h_ps_set_handler (current_cpu, (x));\
-;} while (0)
-  /* General Register 13 explicitly required */
-  SI h_r13;
-#define GET_H_R13() CPU (h_r13)
-#define SET_H_R13(x) (CPU (h_r13) = (x))
-  /* General Register 14 explicitly required */
-  SI h_r14;
-#define GET_H_R14() CPU (h_r14)
-#define SET_H_R14(x) (CPU (h_r14) = (x))
-  /* General Register 15 explicitly required */
-  SI h_r15;
-#define GET_H_R15() CPU (h_r15)
-#define SET_H_R15(x) (CPU (h_r15) = (x))
-  /* negative         bit */
-  BI h_nbit;
-#define GET_H_NBIT() CPU (h_nbit)
-#define SET_H_NBIT(x) (CPU (h_nbit) = (x))
-  /* zero             bit */
-  BI h_zbit;
-#define GET_H_ZBIT() CPU (h_zbit)
-#define SET_H_ZBIT(x) (CPU (h_zbit) = (x))
-  /* overflow         bit */
-  BI h_vbit;
-#define GET_H_VBIT() CPU (h_vbit)
-#define SET_H_VBIT(x) (CPU (h_vbit) = (x))
-  /* carry            bit */
-  BI h_cbit;
-#define GET_H_CBIT() CPU (h_cbit)
-#define SET_H_CBIT(x) (CPU (h_cbit) = (x))
-  /* interrupt enable bit */
-  BI h_ibit;
-#define GET_H_IBIT() CPU (h_ibit)
-#define SET_H_IBIT(x) (CPU (h_ibit) = (x))
-  /* stack bit */
-  BI h_sbit;
-#define GET_H_SBIT() fr30bf_h_sbit_get_handler (current_cpu)
-#define SET_H_SBIT(x) \
-do { \
-fr30bf_h_sbit_set_handler (current_cpu, (x));\
-;} while (0)
-  /* trace trap       bit */
-  BI h_tbit;
-#define GET_H_TBIT() CPU (h_tbit)
-#define SET_H_TBIT(x) (CPU (h_tbit) = (x))
-  /* division 0       bit */
-  BI h_d0bit;
-#define GET_H_D0BIT() CPU (h_d0bit)
-#define SET_H_D0BIT(x) (CPU (h_d0bit) = (x))
-  /* division 1       bit */
-  BI h_d1bit;
-#define GET_H_D1BIT() CPU (h_d1bit)
-#define SET_H_D1BIT(x) (CPU (h_d1bit) = (x))
-  /* condition code bits */
-  UQI h_ccr;
-#define GET_H_CCR() fr30bf_h_ccr_get_handler (current_cpu)
-#define SET_H_CCR(x) \
-do { \
-fr30bf_h_ccr_set_handler (current_cpu, (x));\
-;} while (0)
-  /* system condition bits */
-  UQI h_scr;
-#define GET_H_SCR() fr30bf_h_scr_get_handler (current_cpu)
-#define SET_H_SCR(x) \
-do { \
-fr30bf_h_scr_set_handler (current_cpu, (x));\
-;} while (0)
-  /* interrupt level mask */
-  UQI h_ilm;
-#define GET_H_ILM() fr30bf_h_ilm_get_handler (current_cpu)
-#define SET_H_ILM(x) \
-do { \
-fr30bf_h_ilm_set_handler (current_cpu, (x));\
-;} while (0)
-  } hardware;
-#define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware)
-} FR30BF_CPU_DATA;
-
-/* Cover fns for register access.  */
-USI fr30bf_h_pc_get (SIM_CPU *);
-void fr30bf_h_pc_set (SIM_CPU *, USI);
-SI fr30bf_h_gr_get (SIM_CPU *, UINT);
-void fr30bf_h_gr_set (SIM_CPU *, UINT, SI);
-SI fr30bf_h_cr_get (SIM_CPU *, UINT);
-void fr30bf_h_cr_set (SIM_CPU *, UINT, SI);
-SI fr30bf_h_dr_get (SIM_CPU *, UINT);
-void fr30bf_h_dr_set (SIM_CPU *, UINT, SI);
-USI fr30bf_h_ps_get (SIM_CPU *);
-void fr30bf_h_ps_set (SIM_CPU *, USI);
-SI fr30bf_h_r13_get (SIM_CPU *);
-void fr30bf_h_r13_set (SIM_CPU *, SI);
-SI fr30bf_h_r14_get (SIM_CPU *);
-void fr30bf_h_r14_set (SIM_CPU *, SI);
-SI fr30bf_h_r15_get (SIM_CPU *);
-void fr30bf_h_r15_set (SIM_CPU *, SI);
-BI fr30bf_h_nbit_get (SIM_CPU *);
-void fr30bf_h_nbit_set (SIM_CPU *, BI);
-BI fr30bf_h_zbit_get (SIM_CPU *);
-void fr30bf_h_zbit_set (SIM_CPU *, BI);
-BI fr30bf_h_vbit_get (SIM_CPU *);
-void fr30bf_h_vbit_set (SIM_CPU *, BI);
-BI fr30bf_h_cbit_get (SIM_CPU *);
-void fr30bf_h_cbit_set (SIM_CPU *, BI);
-BI fr30bf_h_ibit_get (SIM_CPU *);
-void fr30bf_h_ibit_set (SIM_CPU *, BI);
-BI fr30bf_h_sbit_get (SIM_CPU *);
-void fr30bf_h_sbit_set (SIM_CPU *, BI);
-BI fr30bf_h_tbit_get (SIM_CPU *);
-void fr30bf_h_tbit_set (SIM_CPU *, BI);
-BI fr30bf_h_d0bit_get (SIM_CPU *);
-void fr30bf_h_d0bit_set (SIM_CPU *, BI);
-BI fr30bf_h_d1bit_get (SIM_CPU *);
-void fr30bf_h_d1bit_set (SIM_CPU *, BI);
-UQI fr30bf_h_ccr_get (SIM_CPU *);
-void fr30bf_h_ccr_set (SIM_CPU *, UQI);
-UQI fr30bf_h_scr_get (SIM_CPU *);
-void fr30bf_h_scr_set (SIM_CPU *, UQI);
-UQI fr30bf_h_ilm_get (SIM_CPU *);
-void fr30bf_h_ilm_set (SIM_CPU *, UQI);
-
-/* These must be hand-written.  */
-extern CPUREG_FETCH_FN fr30bf_fetch_register;
-extern CPUREG_STORE_FN fr30bf_store_register;
-
-typedef struct {
-  UINT load_regs;
-  UINT load_regs_pending;
-} MODEL_FR30_1_DATA;
-
-/* Instruction argument buffer.  */
-
-union sem_fields {
-  struct { /* no operands */
-    int empty;
-  } fmt_empty;
-  struct { /*  */
-    IADDR i_label9;
-  } sfmt_brad;
-  struct { /*  */
-    UINT f_u8;
-  } sfmt_int;
-  struct { /*  */
-    IADDR i_label12;
-  } sfmt_call;
-  struct { /*  */
-    SI f_s10;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_addsp;
-  struct { /*  */
-    USI f_dir10;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_dmovr15pi;
-  struct { /*  */
-    UINT f_dir8;
-    unsigned char in_h_gr_SI_13;
-    unsigned char out_h_gr_SI_13;
-  } sfmt_dmovr13pib;
-  struct { /*  */
-    USI f_dir9;
-    unsigned char in_h_gr_SI_13;
-    unsigned char out_h_gr_SI_13;
-  } sfmt_dmovr13pih;
-  struct { /*  */
-    USI f_dir10;
-    unsigned char in_h_gr_SI_13;
-    unsigned char out_h_gr_SI_13;
-  } sfmt_dmovr13pi;
-  struct { /*  */
-    UINT f_Rs2;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_ldr15dr;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    UINT f_Rs1;
-    unsigned char in_Ri;
-  } sfmt_mov2dr;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    UINT f_Rs1;
-    unsigned char out_Ri;
-  } sfmt_movdr;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    UINT f_i32;
-    unsigned char out_Ri;
-  } sfmt_ldi32;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    UINT f_i20;
-    unsigned char out_Ri;
-  } sfmt_ldi20;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    UINT f_i8;
-    unsigned char out_Ri;
-  } sfmt_ldi8;
-  struct { /*  */
-    USI f_u10;
-    unsigned char in_h_gr_SI_14;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_14;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_enter;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    unsigned char in_Ri;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_str15gr;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    USI f_udisp6;
-    unsigned char in_Ri;
-    unsigned char in_h_gr_SI_15;
-  } sfmt_str15;
-  struct { /*  */
-    SI* i_Ri;
-    INT f_disp8;
-    UINT f_Ri;
-    unsigned char in_Ri;
-    unsigned char in_h_gr_SI_14;
-  } sfmt_str14b;
-  struct { /*  */
-    SI* i_Ri;
-    SI f_disp9;
-    UINT f_Ri;
-    unsigned char in_Ri;
-    unsigned char in_h_gr_SI_14;
-  } sfmt_str14h;
-  struct { /*  */
-    SI* i_Ri;
-    SI f_disp10;
-    UINT f_Ri;
-    unsigned char in_Ri;
-    unsigned char in_h_gr_SI_14;
-  } sfmt_str14;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_Ri;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_ldr15gr;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    USI f_udisp6;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_Ri;
-  } sfmt_ldr15;
-  struct { /*  */
-    SI* i_Ri;
-    INT f_disp8;
-    UINT f_Ri;
-    unsigned char in_h_gr_SI_14;
-    unsigned char out_Ri;
-  } sfmt_ldr14ub;
-  struct { /*  */
-    SI* i_Ri;
-    SI f_disp9;
-    UINT f_Ri;
-    unsigned char in_h_gr_SI_14;
-    unsigned char out_Ri;
-  } sfmt_ldr14uh;
-  struct { /*  */
-    SI* i_Ri;
-    SI f_disp10;
-    UINT f_Ri;
-    unsigned char in_h_gr_SI_14;
-    unsigned char out_Ri;
-  } sfmt_ldr14;
-  struct { /*  */
-    SI* i_Ri;
-    SI f_m4;
-    UINT f_Ri;
-    unsigned char in_Ri;
-    unsigned char out_Ri;
-  } sfmt_add2;
-  struct { /*  */
-    SI* i_Ri;
-    UINT f_Ri;
-    UINT f_u4;
-    unsigned char in_Ri;
-    unsigned char out_Ri;
-  } sfmt_addi;
-  struct { /*  */
-    SI* i_Ri;
-    SI* i_Rj;
-    UINT f_Ri;
-    UINT f_Rj;
-    unsigned char in_Ri;
-    unsigned char in_Rj;
-    unsigned char in_h_gr_SI_13;
-  } sfmt_str13;
-  struct { /*  */
-    SI* i_Ri;
-    SI* i_Rj;
-    UINT f_Ri;
-    UINT f_Rj;
-    unsigned char in_Rj;
-    unsigned char in_h_gr_SI_13;
-    unsigned char out_Ri;
-  } sfmt_ldr13;
-  struct { /*  */
-    SI* i_Ri;
-    SI* i_Rj;
-    UINT f_Ri;
-    UINT f_Rj;
-    unsigned char in_Ri;
-    unsigned char in_Rj;
-    unsigned char out_Ri;
-  } sfmt_add;
-  struct { /*  */
-    UINT f_reglist_hi_st;
-    unsigned char in_h_gr_SI_10;
-    unsigned char in_h_gr_SI_11;
-    unsigned char in_h_gr_SI_12;
-    unsigned char in_h_gr_SI_13;
-    unsigned char in_h_gr_SI_14;
-    unsigned char in_h_gr_SI_15;
-    unsigned char in_h_gr_SI_8;
-    unsigned char in_h_gr_SI_9;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_stm1;
-  struct { /*  */
-    UINT f_reglist_hi_ld;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_10;
-    unsigned char out_h_gr_SI_11;
-    unsigned char out_h_gr_SI_12;
-    unsigned char out_h_gr_SI_13;
-    unsigned char out_h_gr_SI_14;
-    unsigned char out_h_gr_SI_15;
-    unsigned char out_h_gr_SI_8;
-    unsigned char out_h_gr_SI_9;
-  } sfmt_ldm1;
-  struct { /*  */
-    UINT f_reglist_low_st;
-    unsigned char in_h_gr_SI_0;
-    unsigned char in_h_gr_SI_1;
-    unsigned char in_h_gr_SI_15;
-    unsigned char in_h_gr_SI_2;
-    unsigned char in_h_gr_SI_3;
-    unsigned char in_h_gr_SI_4;
-    unsigned char in_h_gr_SI_5;
-    unsigned char in_h_gr_SI_6;
-    unsigned char in_h_gr_SI_7;
-    unsigned char out_h_gr_SI_15;
-  } sfmt_stm0;
-  struct { /*  */
-    UINT f_reglist_low_ld;
-    unsigned char in_h_gr_SI_15;
-    unsigned char out_h_gr_SI_0;
-    unsigned char out_h_gr_SI_1;
-    unsigned char out_h_gr_SI_15;
-    unsigned char out_h_gr_SI_2;
-    unsigned char out_h_gr_SI_3;
-    unsigned char out_h_gr_SI_4;
-    unsigned char out_h_gr_SI_5;
-    unsigned char out_h_gr_SI_6;
-    unsigned char out_h_gr_SI_7;
-  } sfmt_ldm0;
-#if WITH_SCACHE_PBB
-  /* Writeback handler.  */
-  struct {
-    /* Pointer to argbuf entry for insn whose results need writing back.  */
-    const struct argbuf *abuf;
-  } write;
-  /* x-before handler */
-  struct {
-    /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
-    int first_p;
-  } before;
-  /* x-after handler */
-  struct {
-    int empty;
-  } after;
-  /* This entry is used to terminate each pbb.  */
-  struct {
-    /* Number of insns in pbb.  */
-    int insn_count;
-    /* Next pbb to execute.  */
-    SCACHE *next;
-    SCACHE *branch_target;
-  } chain;
-#endif
-};
-
-/* The ARGBUF struct.  */
-struct argbuf {
-  /* These are the baseclass definitions.  */
-  IADDR addr;
-  const IDESC *idesc;
-  char trace_p;
-  char profile_p;
-  /* ??? Temporary hack for skip insns.  */
-  char skip_count;
-  char unused;
-  /* cpu specific data follows */
-  union sem semantic;
-  int written;
-  union sem_fields fields;
-};
-
-/* A cached insn.
-
-   ??? SCACHE used to contain more than just argbuf.  We could delete the
-   type entirely and always just use ARGBUF, but for future concerns and as
-   a level of abstraction it is left in.  */
-
-struct scache {
-  struct argbuf argbuf;
-};
-
-/* Macros to simplify extraction, reading and semantic code.
-   These define and assign the local vars that contain the insn's fields.  */
-
-#define EXTRACT_IFMT_EMPTY_VARS \
-  unsigned int length;
-#define EXTRACT_IFMT_EMPTY_CODE \
-  length = 0; \
-
-#define EXTRACT_IFMT_ADD_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_Rj; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADD_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_ADDI_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_u4; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADDI_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_ADD2_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  SI f_m4; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADD2_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_DIV0S_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_DIV0S_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_DIV3_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_op4; \
-  unsigned int length;
-#define EXTRACT_IFMT_DIV3_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDI8_VARS \
-  UINT f_op1; \
-  UINT f_i8; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDI8_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDI20_VARS \
-  UINT f_op1; \
-  UINT f_i20_4; \
-  UINT f_i20_16; \
-  UINT f_i20; \
-  UINT f_op2; \
-  UINT f_Ri; \
-  /* Contents of trailing part of insn.  */ \
-  UINT word_1; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDI20_CODE \
-  length = 4; \
-  word_1 = GETIMEMUHI (current_cpu, pc + 2); \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); \
-{\
-  f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));\
-}\
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDI32_VARS \
-  UINT f_op1; \
-  UINT f_i32; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_Ri; \
-  /* Contents of trailing part of insn.  */ \
-  UINT word_1; \
-  UINT word_2; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDI32_CODE \
-  length = 6; \
-  word_1 = GETIMEMUHI (current_cpu, pc + 2); \
-  word_2 = GETIMEMUHI (current_cpu, pc + 4); \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDR14_VARS \
-  UINT f_op1; \
-  SI f_disp10; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDR14_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDR14UH_VARS \
-  UINT f_op1; \
-  SI f_disp9; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDR14UH_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDR14UB_VARS \
-  UINT f_op1; \
-  INT f_disp8; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDR14UB_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDR15_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  USI f_udisp6; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDR15_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_LDR15DR_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_Rs2; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDR15DR_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_MOVDR_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_Rs1; \
-  UINT f_Ri; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVDR_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_CALL_VARS \
-  UINT f_op1; \
-  UINT f_op5; \
-  SI f_rel12; \
-  unsigned int length;
-#define EXTRACT_IFMT_CALL_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op5 = EXTRACT_MSB0_UINT (insn, 16, 4, 1); \
-  f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); \
-
-#define EXTRACT_IFMT_INT_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_u8; \
-  unsigned int length;
-#define EXTRACT_IFMT_INT_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_BRAD_VARS \
-  UINT f_op1; \
-  UINT f_cc; \
-  SI f_rel9; \
-  unsigned int length;
-#define EXTRACT_IFMT_BRAD_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_cc = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); \
-
-#define EXTRACT_IFMT_DMOVR13_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  USI f_dir10; \
-  unsigned int length;
-#define EXTRACT_IFMT_DMOVR13_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
-
-#define EXTRACT_IFMT_DMOVR13H_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  USI f_dir9; \
-  unsigned int length;
-#define EXTRACT_IFMT_DMOVR13H_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
-
-#define EXTRACT_IFMT_DMOVR13B_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_dir8; \
-  unsigned int length;
-#define EXTRACT_IFMT_DMOVR13B_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_COPOP_VARS \
-  UINT f_op1; \
-  UINT f_ccc; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_CRj; \
-  UINT f_u4c; \
-  UINT f_CRi; \
-  /* Contents of trailing part of insn.  */ \
-  UINT word_1; \
-  unsigned int length;
-#define EXTRACT_IFMT_COPOP_CODE \
-  length = 4; \
-  word_1 = GETIMEMUHI (current_cpu, pc + 2); \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
-  f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-  f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
-
-#define EXTRACT_IFMT_COPLD_VARS \
-  UINT f_op1; \
-  UINT f_ccc; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_Rjc; \
-  UINT f_u4c; \
-  UINT f_CRi; \
-  /* Contents of trailing part of insn.  */ \
-  UINT word_1; \
-  unsigned int length;
-#define EXTRACT_IFMT_COPLD_CODE \
-  length = 4; \
-  word_1 = GETIMEMUHI (current_cpu, pc + 2); \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_Rjc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
-  f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-  f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
-
-#define EXTRACT_IFMT_COPST_VARS \
-  UINT f_op1; \
-  UINT f_ccc; \
-  UINT f_op2; \
-  UINT f_op3; \
-  UINT f_CRj; \
-  UINT f_u4c; \
-  UINT f_Ric; \
-  /* Contents of trailing part of insn.  */ \
-  UINT word_1; \
-  unsigned int length;
-#define EXTRACT_IFMT_COPST_CODE \
-  length = 4; \
-  word_1 = GETIMEMUHI (current_cpu, pc + 2); \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
-  f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-  f_Ric = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
-
-#define EXTRACT_IFMT_ADDSP_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  SI f_s10; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADDSP_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); \
-
-#define EXTRACT_IFMT_LDM0_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_reglist_low_ld; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDM0_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_LDM1_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_reglist_hi_ld; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDM1_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_STM0_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_reglist_low_st; \
-  unsigned int length;
-#define EXTRACT_IFMT_STM0_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_STM1_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  UINT f_reglist_hi_st; \
-  unsigned int length;
-#define EXTRACT_IFMT_STM1_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_ENTER_VARS \
-  UINT f_op1; \
-  UINT f_op2; \
-  USI f_u10; \
-  unsigned int length;
-#define EXTRACT_IFMT_ENTER_CODE \
-  length = 2; \
-  f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
-
-/* Collection of various things for the trace handler to use.  */
-
-typedef struct trace_record {
-  IADDR pc;
-  /* FIXME:wip */
-} TRACE_RECORD;
-
-#endif /* CPU_FR30BF_H */
+// OBSOLETE /* CPU family header for fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #ifndef CPU_FR30BF_H
+// OBSOLETE #define CPU_FR30BF_H
+// OBSOLETE 
+// OBSOLETE /* Maximum number of instructions that are fetched at a time.
+// OBSOLETE    This is for LIW type instructions sets (e.g. m32r).  */
+// OBSOLETE #define MAX_LIW_INSNS 1
+// OBSOLETE 
+// OBSOLETE /* Maximum number of instructions that can be executed in parallel.  */
+// OBSOLETE #define MAX_PARALLEL_INSNS 1
+// OBSOLETE 
+// OBSOLETE /* CPU state information.  */
+// OBSOLETE typedef struct {
+// OBSOLETE   /* Hardware elements.  */
+// OBSOLETE   struct {
+// OBSOLETE   /* program counter */
+// OBSOLETE   USI h_pc;
+// OBSOLETE #define GET_H_PC() CPU (h_pc)
+// OBSOLETE #define SET_H_PC(x) (CPU (h_pc) = (x))
+// OBSOLETE   /* general registers */
+// OBSOLETE   SI h_gr[16];
+// OBSOLETE #define GET_H_GR(a1) CPU (h_gr)[a1]
+// OBSOLETE #define SET_H_GR(a1, x) (CPU (h_gr)[a1] = (x))
+// OBSOLETE   /* coprocessor registers */
+// OBSOLETE   SI h_cr[16];
+// OBSOLETE #define GET_H_CR(a1) CPU (h_cr)[a1]
+// OBSOLETE #define SET_H_CR(a1, x) (CPU (h_cr)[a1] = (x))
+// OBSOLETE   /* dedicated registers */
+// OBSOLETE   SI h_dr[6];
+// OBSOLETE #define GET_H_DR(index) fr30bf_h_dr_get_handler (current_cpu, index)
+// OBSOLETE #define SET_H_DR(index, x) \
+// OBSOLETE do { \
+// OBSOLETE fr30bf_h_dr_set_handler (current_cpu, (index), (x));\
+// OBSOLETE ;} while (0)
+// OBSOLETE   /* processor status */
+// OBSOLETE   USI h_ps;
+// OBSOLETE #define GET_H_PS() fr30bf_h_ps_get_handler (current_cpu)
+// OBSOLETE #define SET_H_PS(x) \
+// OBSOLETE do { \
+// OBSOLETE fr30bf_h_ps_set_handler (current_cpu, (x));\
+// OBSOLETE ;} while (0)
+// OBSOLETE   /* General Register 13 explicitly required */
+// OBSOLETE   SI h_r13;
+// OBSOLETE #define GET_H_R13() CPU (h_r13)
+// OBSOLETE #define SET_H_R13(x) (CPU (h_r13) = (x))
+// OBSOLETE   /* General Register 14 explicitly required */
+// OBSOLETE   SI h_r14;
+// OBSOLETE #define GET_H_R14() CPU (h_r14)
+// OBSOLETE #define SET_H_R14(x) (CPU (h_r14) = (x))
+// OBSOLETE   /* General Register 15 explicitly required */
+// OBSOLETE   SI h_r15;
+// OBSOLETE #define GET_H_R15() CPU (h_r15)
+// OBSOLETE #define SET_H_R15(x) (CPU (h_r15) = (x))
+// OBSOLETE   /* negative         bit */
+// OBSOLETE   BI h_nbit;
+// OBSOLETE #define GET_H_NBIT() CPU (h_nbit)
+// OBSOLETE #define SET_H_NBIT(x) (CPU (h_nbit) = (x))
+// OBSOLETE   /* zero             bit */
+// OBSOLETE   BI h_zbit;
+// OBSOLETE #define GET_H_ZBIT() CPU (h_zbit)
+// OBSOLETE #define SET_H_ZBIT(x) (CPU (h_zbit) = (x))
+// OBSOLETE   /* overflow         bit */
+// OBSOLETE   BI h_vbit;
+// OBSOLETE #define GET_H_VBIT() CPU (h_vbit)
+// OBSOLETE #define SET_H_VBIT(x) (CPU (h_vbit) = (x))
+// OBSOLETE   /* carry            bit */
+// OBSOLETE   BI h_cbit;
+// OBSOLETE #define GET_H_CBIT() CPU (h_cbit)
+// OBSOLETE #define SET_H_CBIT(x) (CPU (h_cbit) = (x))
+// OBSOLETE   /* interrupt enable bit */
+// OBSOLETE   BI h_ibit;
+// OBSOLETE #define GET_H_IBIT() CPU (h_ibit)
+// OBSOLETE #define SET_H_IBIT(x) (CPU (h_ibit) = (x))
+// OBSOLETE   /* stack bit */
+// OBSOLETE   BI h_sbit;
+// OBSOLETE #define GET_H_SBIT() fr30bf_h_sbit_get_handler (current_cpu)
+// OBSOLETE #define SET_H_SBIT(x) \
+// OBSOLETE do { \
+// OBSOLETE fr30bf_h_sbit_set_handler (current_cpu, (x));\
+// OBSOLETE ;} while (0)
+// OBSOLETE   /* trace trap       bit */
+// OBSOLETE   BI h_tbit;
+// OBSOLETE #define GET_H_TBIT() CPU (h_tbit)
+// OBSOLETE #define SET_H_TBIT(x) (CPU (h_tbit) = (x))
+// OBSOLETE   /* division 0       bit */
+// OBSOLETE   BI h_d0bit;
+// OBSOLETE #define GET_H_D0BIT() CPU (h_d0bit)
+// OBSOLETE #define SET_H_D0BIT(x) (CPU (h_d0bit) = (x))
+// OBSOLETE   /* division 1       bit */
+// OBSOLETE   BI h_d1bit;
+// OBSOLETE #define GET_H_D1BIT() CPU (h_d1bit)
+// OBSOLETE #define SET_H_D1BIT(x) (CPU (h_d1bit) = (x))
+// OBSOLETE   /* condition code bits */
+// OBSOLETE   UQI h_ccr;
+// OBSOLETE #define GET_H_CCR() fr30bf_h_ccr_get_handler (current_cpu)
+// OBSOLETE #define SET_H_CCR(x) \
+// OBSOLETE do { \
+// OBSOLETE fr30bf_h_ccr_set_handler (current_cpu, (x));\
+// OBSOLETE ;} while (0)
+// OBSOLETE   /* system condition bits */
+// OBSOLETE   UQI h_scr;
+// OBSOLETE #define GET_H_SCR() fr30bf_h_scr_get_handler (current_cpu)
+// OBSOLETE #define SET_H_SCR(x) \
+// OBSOLETE do { \
+// OBSOLETE fr30bf_h_scr_set_handler (current_cpu, (x));\
+// OBSOLETE ;} while (0)
+// OBSOLETE   /* interrupt level mask */
+// OBSOLETE   UQI h_ilm;
+// OBSOLETE #define GET_H_ILM() fr30bf_h_ilm_get_handler (current_cpu)
+// OBSOLETE #define SET_H_ILM(x) \
+// OBSOLETE do { \
+// OBSOLETE fr30bf_h_ilm_set_handler (current_cpu, (x));\
+// OBSOLETE ;} while (0)
+// OBSOLETE   } hardware;
+// OBSOLETE #define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware)
+// OBSOLETE } FR30BF_CPU_DATA;
+// OBSOLETE 
+// OBSOLETE /* Cover fns for register access.  */
+// OBSOLETE USI fr30bf_h_pc_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_pc_set (SIM_CPU *, USI);
+// OBSOLETE SI fr30bf_h_gr_get (SIM_CPU *, UINT);
+// OBSOLETE void fr30bf_h_gr_set (SIM_CPU *, UINT, SI);
+// OBSOLETE SI fr30bf_h_cr_get (SIM_CPU *, UINT);
+// OBSOLETE void fr30bf_h_cr_set (SIM_CPU *, UINT, SI);
+// OBSOLETE SI fr30bf_h_dr_get (SIM_CPU *, UINT);
+// OBSOLETE void fr30bf_h_dr_set (SIM_CPU *, UINT, SI);
+// OBSOLETE USI fr30bf_h_ps_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_ps_set (SIM_CPU *, USI);
+// OBSOLETE SI fr30bf_h_r13_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_r13_set (SIM_CPU *, SI);
+// OBSOLETE SI fr30bf_h_r14_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_r14_set (SIM_CPU *, SI);
+// OBSOLETE SI fr30bf_h_r15_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_r15_set (SIM_CPU *, SI);
+// OBSOLETE BI fr30bf_h_nbit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_nbit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_zbit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_zbit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_vbit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_vbit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_cbit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_cbit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_ibit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_ibit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_sbit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_sbit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_tbit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_tbit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_d0bit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_d0bit_set (SIM_CPU *, BI);
+// OBSOLETE BI fr30bf_h_d1bit_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_d1bit_set (SIM_CPU *, BI);
+// OBSOLETE UQI fr30bf_h_ccr_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_ccr_set (SIM_CPU *, UQI);
+// OBSOLETE UQI fr30bf_h_scr_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_scr_set (SIM_CPU *, UQI);
+// OBSOLETE UQI fr30bf_h_ilm_get (SIM_CPU *);
+// OBSOLETE void fr30bf_h_ilm_set (SIM_CPU *, UQI);
+// OBSOLETE 
+// OBSOLETE /* These must be hand-written.  */
+// OBSOLETE extern CPUREG_FETCH_FN fr30bf_fetch_register;
+// OBSOLETE extern CPUREG_STORE_FN fr30bf_store_register;
+// OBSOLETE 
+// OBSOLETE typedef struct {
+// OBSOLETE   UINT load_regs;
+// OBSOLETE   UINT load_regs_pending;
+// OBSOLETE } MODEL_FR30_1_DATA;
+// OBSOLETE 
+// OBSOLETE /* Instruction argument buffer.  */
+// OBSOLETE 
+// OBSOLETE union sem_fields {
+// OBSOLETE   struct { /* no operands */
+// OBSOLETE     int empty;
+// OBSOLETE   } fmt_empty;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     IADDR i_label9;
+// OBSOLETE   } sfmt_brad;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_u8;
+// OBSOLETE   } sfmt_int;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     IADDR i_label12;
+// OBSOLETE   } sfmt_call;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI f_s10;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_addsp;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     USI f_dir10;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_dmovr15pi;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_dir8;
+// OBSOLETE     unsigned char in_h_gr_SI_13;
+// OBSOLETE     unsigned char out_h_gr_SI_13;
+// OBSOLETE   } sfmt_dmovr13pib;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     USI f_dir9;
+// OBSOLETE     unsigned char in_h_gr_SI_13;
+// OBSOLETE     unsigned char out_h_gr_SI_13;
+// OBSOLETE   } sfmt_dmovr13pih;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     USI f_dir10;
+// OBSOLETE     unsigned char in_h_gr_SI_13;
+// OBSOLETE     unsigned char out_h_gr_SI_13;
+// OBSOLETE   } sfmt_dmovr13pi;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_Rs2;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_ldr15dr;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_Rs1;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE   } sfmt_mov2dr;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_Rs1;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_movdr;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_i32;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldi32;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_i20;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldi20;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_i8;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldi8;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     USI f_u10;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_14;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_enter;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_str15gr;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     USI f_udisp6;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE   } sfmt_str15;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     INT f_disp8;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE   } sfmt_str14b;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI f_disp9;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE   } sfmt_str14h;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI f_disp10;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE   } sfmt_str14;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_ldr15gr;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     USI f_udisp6;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldr15;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     INT f_disp8;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldr14ub;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI f_disp9;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldr14uh;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI f_disp10;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldr14;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI f_m4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_add2;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_addi;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI* i_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_Rj;
+// OBSOLETE     unsigned char in_h_gr_SI_13;
+// OBSOLETE   } sfmt_str13;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI* i_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     unsigned char in_Rj;
+// OBSOLETE     unsigned char in_h_gr_SI_13;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_ldr13;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     SI* i_Ri;
+// OBSOLETE     SI* i_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     unsigned char in_Ri;
+// OBSOLETE     unsigned char in_Rj;
+// OBSOLETE     unsigned char out_Ri;
+// OBSOLETE   } sfmt_add;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_reglist_hi_st;
+// OBSOLETE     unsigned char in_h_gr_SI_10;
+// OBSOLETE     unsigned char in_h_gr_SI_11;
+// OBSOLETE     unsigned char in_h_gr_SI_12;
+// OBSOLETE     unsigned char in_h_gr_SI_13;
+// OBSOLETE     unsigned char in_h_gr_SI_14;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char in_h_gr_SI_8;
+// OBSOLETE     unsigned char in_h_gr_SI_9;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_stm1;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_reglist_hi_ld;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_10;
+// OBSOLETE     unsigned char out_h_gr_SI_11;
+// OBSOLETE     unsigned char out_h_gr_SI_12;
+// OBSOLETE     unsigned char out_h_gr_SI_13;
+// OBSOLETE     unsigned char out_h_gr_SI_14;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_8;
+// OBSOLETE     unsigned char out_h_gr_SI_9;
+// OBSOLETE   } sfmt_ldm1;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_reglist_low_st;
+// OBSOLETE     unsigned char in_h_gr_SI_0;
+// OBSOLETE     unsigned char in_h_gr_SI_1;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char in_h_gr_SI_2;
+// OBSOLETE     unsigned char in_h_gr_SI_3;
+// OBSOLETE     unsigned char in_h_gr_SI_4;
+// OBSOLETE     unsigned char in_h_gr_SI_5;
+// OBSOLETE     unsigned char in_h_gr_SI_6;
+// OBSOLETE     unsigned char in_h_gr_SI_7;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE   } sfmt_stm0;
+// OBSOLETE   struct { /*  */
+// OBSOLETE     UINT f_reglist_low_ld;
+// OBSOLETE     unsigned char in_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_0;
+// OBSOLETE     unsigned char out_h_gr_SI_1;
+// OBSOLETE     unsigned char out_h_gr_SI_15;
+// OBSOLETE     unsigned char out_h_gr_SI_2;
+// OBSOLETE     unsigned char out_h_gr_SI_3;
+// OBSOLETE     unsigned char out_h_gr_SI_4;
+// OBSOLETE     unsigned char out_h_gr_SI_5;
+// OBSOLETE     unsigned char out_h_gr_SI_6;
+// OBSOLETE     unsigned char out_h_gr_SI_7;
+// OBSOLETE   } sfmt_ldm0;
+// OBSOLETE #if WITH_SCACHE_PBB
+// OBSOLETE   /* Writeback handler.  */
+// OBSOLETE   struct {
+// OBSOLETE     /* Pointer to argbuf entry for insn whose results need writing back.  */
+// OBSOLETE     const struct argbuf *abuf;
+// OBSOLETE   } write;
+// OBSOLETE   /* x-before handler */
+// OBSOLETE   struct {
+// OBSOLETE     /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
+// OBSOLETE     int first_p;
+// OBSOLETE   } before;
+// OBSOLETE   /* x-after handler */
+// OBSOLETE   struct {
+// OBSOLETE     int empty;
+// OBSOLETE   } after;
+// OBSOLETE   /* This entry is used to terminate each pbb.  */
+// OBSOLETE   struct {
+// OBSOLETE     /* Number of insns in pbb.  */
+// OBSOLETE     int insn_count;
+// OBSOLETE     /* Next pbb to execute.  */
+// OBSOLETE     SCACHE *next;
+// OBSOLETE     SCACHE *branch_target;
+// OBSOLETE   } chain;
+// OBSOLETE #endif
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE /* The ARGBUF struct.  */
+// OBSOLETE struct argbuf {
+// OBSOLETE   /* These are the baseclass definitions.  */
+// OBSOLETE   IADDR addr;
+// OBSOLETE   const IDESC *idesc;
+// OBSOLETE   char trace_p;
+// OBSOLETE   char profile_p;
+// OBSOLETE   /* ??? Temporary hack for skip insns.  */
+// OBSOLETE   char skip_count;
+// OBSOLETE   char unused;
+// OBSOLETE   /* cpu specific data follows */
+// OBSOLETE   union sem semantic;
+// OBSOLETE   int written;
+// OBSOLETE   union sem_fields fields;
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE /* A cached insn.
+// OBSOLETE 
+// OBSOLETE    ??? SCACHE used to contain more than just argbuf.  We could delete the
+// OBSOLETE    type entirely and always just use ARGBUF, but for future concerns and as
+// OBSOLETE    a level of abstraction it is left in.  */
+// OBSOLETE 
+// OBSOLETE struct scache {
+// OBSOLETE   struct argbuf argbuf;
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE /* Macros to simplify extraction, reading and semantic code.
+// OBSOLETE    These define and assign the local vars that contain the insn's fields.  */
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_EMPTY_VARS \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_EMPTY_CODE \
+// OBSOLETE   length = 0; \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_ADD_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_Rj; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_ADD_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_ADDI_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_u4; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_ADDI_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_ADD2_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   SI f_m4; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_ADD2_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_DIV0S_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_DIV0S_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_DIV3_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_op4; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_DIV3_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_op4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDI8_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_i8; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDI8_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDI20_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_i20_4; \
+// OBSOLETE   UINT f_i20_16; \
+// OBSOLETE   UINT f_i20; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   /* Contents of trailing part of insn.  */ \
+// OBSOLETE   UINT word_1; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDI20_CODE \
+// OBSOLETE   length = 4; \
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); \
+// OBSOLETE {\
+// OBSOLETE   f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));\
+// OBSOLETE }\
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDI32_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_i32; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   /* Contents of trailing part of insn.  */ \
+// OBSOLETE   UINT word_1; \
+// OBSOLETE   UINT word_2; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDI32_CODE \
+// OBSOLETE   length = 6; \
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
+// OBSOLETE   word_2 = GETIMEMUHI (current_cpu, pc + 4); \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDR14_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   SI f_disp10; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDR14_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDR14UH_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   SI f_disp9; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDR14UH_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDR14UB_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   INT f_disp8; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDR14UB_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDR15_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   USI f_udisp6; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDR15_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDR15DR_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_Rs2; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDR15DR_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_MOVDR_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_Rs1; \
+// OBSOLETE   UINT f_Ri; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_MOVDR_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_CALL_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op5; \
+// OBSOLETE   SI f_rel12; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_CALL_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op5 = EXTRACT_MSB0_UINT (insn, 16, 4, 1); \
+// OBSOLETE   f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_INT_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_u8; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_INT_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_BRAD_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_cc; \
+// OBSOLETE   SI f_rel9; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_BRAD_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_cc = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_DMOVR13_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   USI f_dir10; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_DMOVR13_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_DMOVR13H_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   USI f_dir9; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_DMOVR13H_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_DMOVR13B_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_dir8; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_DMOVR13B_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_COPOP_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_ccc; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_CRj; \
+// OBSOLETE   UINT f_u4c; \
+// OBSOLETE   UINT f_CRi; \
+// OBSOLETE   /* Contents of trailing part of insn.  */ \
+// OBSOLETE   UINT word_1; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_COPOP_CODE \
+// OBSOLETE   length = 4; \
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
+// OBSOLETE   f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE   f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_COPLD_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_ccc; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_Rjc; \
+// OBSOLETE   UINT f_u4c; \
+// OBSOLETE   UINT f_CRi; \
+// OBSOLETE   /* Contents of trailing part of insn.  */ \
+// OBSOLETE   UINT word_1; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_COPLD_CODE \
+// OBSOLETE   length = 4; \
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_Rjc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
+// OBSOLETE   f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE   f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_COPST_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_ccc; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_op3; \
+// OBSOLETE   UINT f_CRj; \
+// OBSOLETE   UINT f_u4c; \
+// OBSOLETE   UINT f_Ric; \
+// OBSOLETE   /* Contents of trailing part of insn.  */ \
+// OBSOLETE   UINT word_1; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_COPST_CODE \
+// OBSOLETE   length = 4; \
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2); \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
+// OBSOLETE   f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \
+// OBSOLETE   f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
+// OBSOLETE   f_Ric = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_ADDSP_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   SI f_s10; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_ADDSP_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDM0_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_reglist_low_ld; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDM0_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_LDM1_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_reglist_hi_ld; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_LDM1_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_STM0_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_reglist_low_st; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_STM0_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_STM1_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   UINT f_reglist_hi_st; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_STM1_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
+// OBSOLETE 
+// OBSOLETE #define EXTRACT_IFMT_ENTER_VARS \
+// OBSOLETE   UINT f_op1; \
+// OBSOLETE   UINT f_op2; \
+// OBSOLETE   USI f_u10; \
+// OBSOLETE   unsigned int length;
+// OBSOLETE #define EXTRACT_IFMT_ENTER_CODE \
+// OBSOLETE   length = 2; \
+// OBSOLETE   f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
+// OBSOLETE   f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
+// OBSOLETE   f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
+// OBSOLETE 
+// OBSOLETE /* Collection of various things for the trace handler to use.  */
+// OBSOLETE 
+// OBSOLETE typedef struct trace_record {
+// OBSOLETE   IADDR pc;
+// OBSOLETE   /* FIXME:wip */
+// OBSOLETE } TRACE_RECORD;
+// OBSOLETE 
+// OBSOLETE #endif /* CPU_FR30BF_H */
index 296228d..e0c7c00 100644 (file)
@@ -1,66 +1,66 @@
-/* Simulator CPU header for fr30.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef FR30_CPUALL_H
-#define FR30_CPUALL_H
-
-/* Include files for each cpu family.  */
-
-#ifdef WANT_CPU_FR30BF
-#include "eng.h"
-#include "cgen-engine.h"
-#include "cpu.h"
-#include "decode.h"
-#endif
-
-extern const MACH fr30_mach;
-
-#ifndef WANT_CPU
-/* The ARGBUF struct.  */
-struct argbuf {
-  /* These are the baseclass definitions.  */
-  IADDR addr;
-  const IDESC *idesc;
-  char trace_p;
-  char profile_p;
-  /* ??? Temporary hack for skip insns.  */
-  char skip_count;
-  char unused;
-  /* cpu specific data follows */
-};
-#endif
-
-#ifndef WANT_CPU
-/* A cached insn.
-
-   ??? SCACHE used to contain more than just argbuf.  We could delete the
-   type entirely and always just use ARGBUF, but for future concerns and as
-   a level of abstraction it is left in.  */
-
-struct scache {
-  struct argbuf argbuf;
-};
-#endif
-
-#endif /* FR30_CPUALL_H */
+// OBSOLETE /* Simulator CPU header for fr30.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #ifndef FR30_CPUALL_H
+// OBSOLETE #define FR30_CPUALL_H
+// OBSOLETE 
+// OBSOLETE /* Include files for each cpu family.  */
+// OBSOLETE 
+// OBSOLETE #ifdef WANT_CPU_FR30BF
+// OBSOLETE #include "eng.h"
+// OBSOLETE #include "cgen-engine.h"
+// OBSOLETE #include "cpu.h"
+// OBSOLETE #include "decode.h"
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE extern const MACH fr30_mach;
+// OBSOLETE 
+// OBSOLETE #ifndef WANT_CPU
+// OBSOLETE /* The ARGBUF struct.  */
+// OBSOLETE struct argbuf {
+// OBSOLETE   /* These are the baseclass definitions.  */
+// OBSOLETE   IADDR addr;
+// OBSOLETE   const IDESC *idesc;
+// OBSOLETE   char trace_p;
+// OBSOLETE   char profile_p;
+// OBSOLETE   /* ??? Temporary hack for skip insns.  */
+// OBSOLETE   char skip_count;
+// OBSOLETE   char unused;
+// OBSOLETE   /* cpu specific data follows */
+// OBSOLETE };
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE #ifndef WANT_CPU
+// OBSOLETE /* A cached insn.
+// OBSOLETE 
+// OBSOLETE    ??? SCACHE used to contain more than just argbuf.  We could delete the
+// OBSOLETE    type entirely and always just use ARGBUF, but for future concerns and as
+// OBSOLETE    a level of abstraction it is left in.  */
+// OBSOLETE 
+// OBSOLETE struct scache {
+// OBSOLETE   struct argbuf argbuf;
+// OBSOLETE };
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE #endif /* FR30_CPUALL_H */
index 445c3ab..dbbcce5 100644 (file)
-/* Simulator instruction decoder for fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#define WANT_CPU fr30bf
-#define WANT_CPU_FR30BF
-
-#include "sim-main.h"
-#include "sim-assert.h"
-
-/* The instruction descriptor array.
-   This is computed at runtime.  Space for it is not malloc'd to save a
-   teensy bit of cpu in the decoder.  Moving it to malloc space is trivial
-   but won't be done until necessary (we don't currently support the runtime
-   addition of instructions nor an SMP machine with different cpus).  */
-static IDESC fr30bf_insn_data[FR30BF_INSN_XCHB + 1];
-
-/* Commas between elements are contained in the macros.
-   Some of these are conditionally compiled out.  */
-
-static const struct insn_sem fr30bf_insn_sem[] =
-{
-  { VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_AFTER, FR30BF_INSN_X_AFTER, FR30BF_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_BEFORE, FR30BF_INSN_X_BEFORE, FR30BF_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_CTI_CHAIN, FR30BF_INSN_X_CTI_CHAIN, FR30BF_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_CHAIN, FR30BF_INSN_X_CHAIN, FR30BF_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_BEGIN, FR30BF_INSN_X_BEGIN, FR30BF_SFMT_EMPTY },
-  { FR30_INSN_ADD, FR30BF_INSN_ADD, FR30BF_SFMT_ADD },
-  { FR30_INSN_ADDI, FR30BF_INSN_ADDI, FR30BF_SFMT_ADDI },
-  { FR30_INSN_ADD2, FR30BF_INSN_ADD2, FR30BF_SFMT_ADD2 },
-  { FR30_INSN_ADDC, FR30BF_INSN_ADDC, FR30BF_SFMT_ADDC },
-  { FR30_INSN_ADDN, FR30BF_INSN_ADDN, FR30BF_SFMT_ADDN },
-  { FR30_INSN_ADDNI, FR30BF_INSN_ADDNI, FR30BF_SFMT_ADDNI },
-  { FR30_INSN_ADDN2, FR30BF_INSN_ADDN2, FR30BF_SFMT_ADDN2 },
-  { FR30_INSN_SUB, FR30BF_INSN_SUB, FR30BF_SFMT_ADD },
-  { FR30_INSN_SUBC, FR30BF_INSN_SUBC, FR30BF_SFMT_ADDC },
-  { FR30_INSN_SUBN, FR30BF_INSN_SUBN, FR30BF_SFMT_ADDN },
-  { FR30_INSN_CMP, FR30BF_INSN_CMP, FR30BF_SFMT_CMP },
-  { FR30_INSN_CMPI, FR30BF_INSN_CMPI, FR30BF_SFMT_CMPI },
-  { FR30_INSN_CMP2, FR30BF_INSN_CMP2, FR30BF_SFMT_CMP2 },
-  { FR30_INSN_AND, FR30BF_INSN_AND, FR30BF_SFMT_AND },
-  { FR30_INSN_OR, FR30BF_INSN_OR, FR30BF_SFMT_AND },
-  { FR30_INSN_EOR, FR30BF_INSN_EOR, FR30BF_SFMT_AND },
-  { FR30_INSN_ANDM, FR30BF_INSN_ANDM, FR30BF_SFMT_ANDM },
-  { FR30_INSN_ANDH, FR30BF_INSN_ANDH, FR30BF_SFMT_ANDH },
-  { FR30_INSN_ANDB, FR30BF_INSN_ANDB, FR30BF_SFMT_ANDB },
-  { FR30_INSN_ORM, FR30BF_INSN_ORM, FR30BF_SFMT_ANDM },
-  { FR30_INSN_ORH, FR30BF_INSN_ORH, FR30BF_SFMT_ANDH },
-  { FR30_INSN_ORB, FR30BF_INSN_ORB, FR30BF_SFMT_ANDB },
-  { FR30_INSN_EORM, FR30BF_INSN_EORM, FR30BF_SFMT_ANDM },
-  { FR30_INSN_EORH, FR30BF_INSN_EORH, FR30BF_SFMT_ANDH },
-  { FR30_INSN_EORB, FR30BF_INSN_EORB, FR30BF_SFMT_ANDB },
-  { FR30_INSN_BANDL, FR30BF_INSN_BANDL, FR30BF_SFMT_BANDL },
-  { FR30_INSN_BORL, FR30BF_INSN_BORL, FR30BF_SFMT_BANDL },
-  { FR30_INSN_BEORL, FR30BF_INSN_BEORL, FR30BF_SFMT_BANDL },
-  { FR30_INSN_BANDH, FR30BF_INSN_BANDH, FR30BF_SFMT_BANDL },
-  { FR30_INSN_BORH, FR30BF_INSN_BORH, FR30BF_SFMT_BANDL },
-  { FR30_INSN_BEORH, FR30BF_INSN_BEORH, FR30BF_SFMT_BANDL },
-  { FR30_INSN_BTSTL, FR30BF_INSN_BTSTL, FR30BF_SFMT_BTSTL },
-  { FR30_INSN_BTSTH, FR30BF_INSN_BTSTH, FR30BF_SFMT_BTSTL },
-  { FR30_INSN_MUL, FR30BF_INSN_MUL, FR30BF_SFMT_MUL },
-  { FR30_INSN_MULU, FR30BF_INSN_MULU, FR30BF_SFMT_MULU },
-  { FR30_INSN_MULH, FR30BF_INSN_MULH, FR30BF_SFMT_MULH },
-  { FR30_INSN_MULUH, FR30BF_INSN_MULUH, FR30BF_SFMT_MULH },
-  { FR30_INSN_DIV0S, FR30BF_INSN_DIV0S, FR30BF_SFMT_DIV0S },
-  { FR30_INSN_DIV0U, FR30BF_INSN_DIV0U, FR30BF_SFMT_DIV0U },
-  { FR30_INSN_DIV1, FR30BF_INSN_DIV1, FR30BF_SFMT_DIV1 },
-  { FR30_INSN_DIV2, FR30BF_INSN_DIV2, FR30BF_SFMT_DIV2 },
-  { FR30_INSN_DIV3, FR30BF_INSN_DIV3, FR30BF_SFMT_DIV3 },
-  { FR30_INSN_DIV4S, FR30BF_INSN_DIV4S, FR30BF_SFMT_DIV4S },
-  { FR30_INSN_LSL, FR30BF_INSN_LSL, FR30BF_SFMT_LSL },
-  { FR30_INSN_LSLI, FR30BF_INSN_LSLI, FR30BF_SFMT_LSLI },
-  { FR30_INSN_LSL2, FR30BF_INSN_LSL2, FR30BF_SFMT_LSLI },
-  { FR30_INSN_LSR, FR30BF_INSN_LSR, FR30BF_SFMT_LSL },
-  { FR30_INSN_LSRI, FR30BF_INSN_LSRI, FR30BF_SFMT_LSLI },
-  { FR30_INSN_LSR2, FR30BF_INSN_LSR2, FR30BF_SFMT_LSLI },
-  { FR30_INSN_ASR, FR30BF_INSN_ASR, FR30BF_SFMT_LSL },
-  { FR30_INSN_ASRI, FR30BF_INSN_ASRI, FR30BF_SFMT_LSLI },
-  { FR30_INSN_ASR2, FR30BF_INSN_ASR2, FR30BF_SFMT_LSLI },
-  { FR30_INSN_LDI8, FR30BF_INSN_LDI8, FR30BF_SFMT_LDI8 },
-  { FR30_INSN_LDI20, FR30BF_INSN_LDI20, FR30BF_SFMT_LDI20 },
-  { FR30_INSN_LDI32, FR30BF_INSN_LDI32, FR30BF_SFMT_LDI32 },
-  { FR30_INSN_LD, FR30BF_INSN_LD, FR30BF_SFMT_LD },
-  { FR30_INSN_LDUH, FR30BF_INSN_LDUH, FR30BF_SFMT_LDUH },
-  { FR30_INSN_LDUB, FR30BF_INSN_LDUB, FR30BF_SFMT_LDUB },
-  { FR30_INSN_LDR13, FR30BF_INSN_LDR13, FR30BF_SFMT_LDR13 },
-  { FR30_INSN_LDR13UH, FR30BF_INSN_LDR13UH, FR30BF_SFMT_LDR13UH },
-  { FR30_INSN_LDR13UB, FR30BF_INSN_LDR13UB, FR30BF_SFMT_LDR13UB },
-  { FR30_INSN_LDR14, FR30BF_INSN_LDR14, FR30BF_SFMT_LDR14 },
-  { FR30_INSN_LDR14UH, FR30BF_INSN_LDR14UH, FR30BF_SFMT_LDR14UH },
-  { FR30_INSN_LDR14UB, FR30BF_INSN_LDR14UB, FR30BF_SFMT_LDR14UB },
-  { FR30_INSN_LDR15, FR30BF_INSN_LDR15, FR30BF_SFMT_LDR15 },
-  { FR30_INSN_LDR15GR, FR30BF_INSN_LDR15GR, FR30BF_SFMT_LDR15GR },
-  { FR30_INSN_LDR15DR, FR30BF_INSN_LDR15DR, FR30BF_SFMT_LDR15DR },
-  { FR30_INSN_LDR15PS, FR30BF_INSN_LDR15PS, FR30BF_SFMT_LDR15PS },
-  { FR30_INSN_ST, FR30BF_INSN_ST, FR30BF_SFMT_ST },
-  { FR30_INSN_STH, FR30BF_INSN_STH, FR30BF_SFMT_STH },
-  { FR30_INSN_STB, FR30BF_INSN_STB, FR30BF_SFMT_STB },
-  { FR30_INSN_STR13, FR30BF_INSN_STR13, FR30BF_SFMT_STR13 },
-  { FR30_INSN_STR13H, FR30BF_INSN_STR13H, FR30BF_SFMT_STR13H },
-  { FR30_INSN_STR13B, FR30BF_INSN_STR13B, FR30BF_SFMT_STR13B },
-  { FR30_INSN_STR14, FR30BF_INSN_STR14, FR30BF_SFMT_STR14 },
-  { FR30_INSN_STR14H, FR30BF_INSN_STR14H, FR30BF_SFMT_STR14H },
-  { FR30_INSN_STR14B, FR30BF_INSN_STR14B, FR30BF_SFMT_STR14B },
-  { FR30_INSN_STR15, FR30BF_INSN_STR15, FR30BF_SFMT_STR15 },
-  { FR30_INSN_STR15GR, FR30BF_INSN_STR15GR, FR30BF_SFMT_STR15GR },
-  { FR30_INSN_STR15DR, FR30BF_INSN_STR15DR, FR30BF_SFMT_STR15DR },
-  { FR30_INSN_STR15PS, FR30BF_INSN_STR15PS, FR30BF_SFMT_STR15PS },
-  { FR30_INSN_MOV, FR30BF_INSN_MOV, FR30BF_SFMT_MOV },
-  { FR30_INSN_MOVDR, FR30BF_INSN_MOVDR, FR30BF_SFMT_MOVDR },
-  { FR30_INSN_MOVPS, FR30BF_INSN_MOVPS, FR30BF_SFMT_MOVPS },
-  { FR30_INSN_MOV2DR, FR30BF_INSN_MOV2DR, FR30BF_SFMT_MOV2DR },
-  { FR30_INSN_MOV2PS, FR30BF_INSN_MOV2PS, FR30BF_SFMT_MOV2PS },
-  { FR30_INSN_JMP, FR30BF_INSN_JMP, FR30BF_SFMT_JMP },
-  { FR30_INSN_JMPD, FR30BF_INSN_JMPD, FR30BF_SFMT_JMP },
-  { FR30_INSN_CALLR, FR30BF_INSN_CALLR, FR30BF_SFMT_CALLR },
-  { FR30_INSN_CALLRD, FR30BF_INSN_CALLRD, FR30BF_SFMT_CALLR },
-  { FR30_INSN_CALL, FR30BF_INSN_CALL, FR30BF_SFMT_CALL },
-  { FR30_INSN_CALLD, FR30BF_INSN_CALLD, FR30BF_SFMT_CALL },
-  { FR30_INSN_RET, FR30BF_INSN_RET, FR30BF_SFMT_RET },
-  { FR30_INSN_RET_D, FR30BF_INSN_RET_D, FR30BF_SFMT_RET },
-  { FR30_INSN_INT, FR30BF_INSN_INT, FR30BF_SFMT_INT },
-  { FR30_INSN_INTE, FR30BF_INSN_INTE, FR30BF_SFMT_INTE },
-  { FR30_INSN_RETI, FR30BF_INSN_RETI, FR30BF_SFMT_RETI },
-  { FR30_INSN_BRAD, FR30BF_INSN_BRAD, FR30BF_SFMT_BRAD },
-  { FR30_INSN_BRA, FR30BF_INSN_BRA, FR30BF_SFMT_BRAD },
-  { FR30_INSN_BNOD, FR30BF_INSN_BNOD, FR30BF_SFMT_BNOD },
-  { FR30_INSN_BNO, FR30BF_INSN_BNO, FR30BF_SFMT_BNOD },
-  { FR30_INSN_BEQD, FR30BF_INSN_BEQD, FR30BF_SFMT_BEQD },
-  { FR30_INSN_BEQ, FR30BF_INSN_BEQ, FR30BF_SFMT_BEQD },
-  { FR30_INSN_BNED, FR30BF_INSN_BNED, FR30BF_SFMT_BEQD },
-  { FR30_INSN_BNE, FR30BF_INSN_BNE, FR30BF_SFMT_BEQD },
-  { FR30_INSN_BCD, FR30BF_INSN_BCD, FR30BF_SFMT_BCD },
-  { FR30_INSN_BC, FR30BF_INSN_BC, FR30BF_SFMT_BCD },
-  { FR30_INSN_BNCD, FR30BF_INSN_BNCD, FR30BF_SFMT_BCD },
-  { FR30_INSN_BNC, FR30BF_INSN_BNC, FR30BF_SFMT_BCD },
-  { FR30_INSN_BND, FR30BF_INSN_BND, FR30BF_SFMT_BND },
-  { FR30_INSN_BN, FR30BF_INSN_BN, FR30BF_SFMT_BND },
-  { FR30_INSN_BPD, FR30BF_INSN_BPD, FR30BF_SFMT_BND },
-  { FR30_INSN_BP, FR30BF_INSN_BP, FR30BF_SFMT_BND },
-  { FR30_INSN_BVD, FR30BF_INSN_BVD, FR30BF_SFMT_BVD },
-  { FR30_INSN_BV, FR30BF_INSN_BV, FR30BF_SFMT_BVD },
-  { FR30_INSN_BNVD, FR30BF_INSN_BNVD, FR30BF_SFMT_BVD },
-  { FR30_INSN_BNV, FR30BF_INSN_BNV, FR30BF_SFMT_BVD },
-  { FR30_INSN_BLTD, FR30BF_INSN_BLTD, FR30BF_SFMT_BLTD },
-  { FR30_INSN_BLT, FR30BF_INSN_BLT, FR30BF_SFMT_BLTD },
-  { FR30_INSN_BGED, FR30BF_INSN_BGED, FR30BF_SFMT_BLTD },
-  { FR30_INSN_BGE, FR30BF_INSN_BGE, FR30BF_SFMT_BLTD },
-  { FR30_INSN_BLED, FR30BF_INSN_BLED, FR30BF_SFMT_BLED },
-  { FR30_INSN_BLE, FR30BF_INSN_BLE, FR30BF_SFMT_BLED },
-  { FR30_INSN_BGTD, FR30BF_INSN_BGTD, FR30BF_SFMT_BLED },
-  { FR30_INSN_BGT, FR30BF_INSN_BGT, FR30BF_SFMT_BLED },
-  { FR30_INSN_BLSD, FR30BF_INSN_BLSD, FR30BF_SFMT_BLSD },
-  { FR30_INSN_BLS, FR30BF_INSN_BLS, FR30BF_SFMT_BLSD },
-  { FR30_INSN_BHID, FR30BF_INSN_BHID, FR30BF_SFMT_BLSD },
-  { FR30_INSN_BHI, FR30BF_INSN_BHI, FR30BF_SFMT_BLSD },
-  { FR30_INSN_DMOVR13, FR30BF_INSN_DMOVR13, FR30BF_SFMT_DMOVR13 },
-  { FR30_INSN_DMOVR13H, FR30BF_INSN_DMOVR13H, FR30BF_SFMT_DMOVR13H },
-  { FR30_INSN_DMOVR13B, FR30BF_INSN_DMOVR13B, FR30BF_SFMT_DMOVR13B },
-  { FR30_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PI, FR30BF_SFMT_DMOVR13PI },
-  { FR30_INSN_DMOVR13PIH, FR30BF_INSN_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIH },
-  { FR30_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR13PIB, FR30BF_SFMT_DMOVR13PIB },
-  { FR30_INSN_DMOVR15PI, FR30BF_INSN_DMOVR15PI, FR30BF_SFMT_DMOVR15PI },
-  { FR30_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13, FR30BF_SFMT_DMOV2R13 },
-  { FR30_INSN_DMOV2R13H, FR30BF_INSN_DMOV2R13H, FR30BF_SFMT_DMOV2R13H },
-  { FR30_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13B, FR30BF_SFMT_DMOV2R13B },
-  { FR30_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PI },
-  { FR30_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIH },
-  { FR30_INSN_DMOV2R13PIB, FR30BF_INSN_DMOV2R13PIB, FR30BF_SFMT_DMOV2R13PIB },
-  { FR30_INSN_DMOV2R15PD, FR30BF_INSN_DMOV2R15PD, FR30BF_SFMT_DMOV2R15PD },
-  { FR30_INSN_LDRES, FR30BF_INSN_LDRES, FR30BF_SFMT_LDRES },
-  { FR30_INSN_STRES, FR30BF_INSN_STRES, FR30BF_SFMT_LDRES },
-  { FR30_INSN_COPOP, FR30BF_INSN_COPOP, FR30BF_SFMT_COPOP },
-  { FR30_INSN_COPLD, FR30BF_INSN_COPLD, FR30BF_SFMT_COPOP },
-  { FR30_INSN_COPST, FR30BF_INSN_COPST, FR30BF_SFMT_COPOP },
-  { FR30_INSN_COPSV, FR30BF_INSN_COPSV, FR30BF_SFMT_COPOP },
-  { FR30_INSN_NOP, FR30BF_INSN_NOP, FR30BF_SFMT_BNOD },
-  { FR30_INSN_ANDCCR, FR30BF_INSN_ANDCCR, FR30BF_SFMT_ANDCCR },
-  { FR30_INSN_ORCCR, FR30BF_INSN_ORCCR, FR30BF_SFMT_ANDCCR },
-  { FR30_INSN_STILM, FR30BF_INSN_STILM, FR30BF_SFMT_STILM },
-  { FR30_INSN_ADDSP, FR30BF_INSN_ADDSP, FR30BF_SFMT_ADDSP },
-  { FR30_INSN_EXTSB, FR30BF_INSN_EXTSB, FR30BF_SFMT_EXTSB },
-  { FR30_INSN_EXTUB, FR30BF_INSN_EXTUB, FR30BF_SFMT_EXTUB },
-  { FR30_INSN_EXTSH, FR30BF_INSN_EXTSH, FR30BF_SFMT_EXTSH },
-  { FR30_INSN_EXTUH, FR30BF_INSN_EXTUH, FR30BF_SFMT_EXTUH },
-  { FR30_INSN_LDM0, FR30BF_INSN_LDM0, FR30BF_SFMT_LDM0 },
-  { FR30_INSN_LDM1, FR30BF_INSN_LDM1, FR30BF_SFMT_LDM1 },
-  { FR30_INSN_STM0, FR30BF_INSN_STM0, FR30BF_SFMT_STM0 },
-  { FR30_INSN_STM1, FR30BF_INSN_STM1, FR30BF_SFMT_STM1 },
-  { FR30_INSN_ENTER, FR30BF_INSN_ENTER, FR30BF_SFMT_ENTER },
-  { FR30_INSN_LEAVE, FR30BF_INSN_LEAVE, FR30BF_SFMT_LEAVE },
-  { FR30_INSN_XCHB, FR30BF_INSN_XCHB, FR30BF_SFMT_XCHB },
-};
-
-static const struct insn_sem fr30bf_insn_sem_invalid = {
-  VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY
-};
-
-/* Initialize an IDESC from the compile-time computable parts.  */
-
-static INLINE void
-init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
-{
-  const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
-
-  id->num = t->index;
-  id->sfmt = t->sfmt;
-  if ((int) t->type <= 0)
-    id->idata = & cgen_virtual_insn_table[- (int) t->type];
-  else
-    id->idata = & insn_table[t->type];
-  id->attrs = CGEN_INSN_ATTRS (id->idata);
-  /* Oh my god, a magic number.  */
-  id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
-
-#if WITH_PROFILE_MODEL_P
-  id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
-  {
-    SIM_DESC sd = CPU_STATE (cpu);
-    SIM_ASSERT (t->index == id->timing->num);
-  }
-#endif
-
-  /* Semantic pointers are initialized elsewhere.  */
-}
-
-/* Initialize the instruction descriptor table.  */
-
-void
-fr30bf_init_idesc_table (SIM_CPU *cpu)
-{
-  IDESC *id,*tabend;
-  const struct insn_sem *t,*tend;
-  int tabsize = sizeof (fr30bf_insn_data) / sizeof (IDESC);
-  IDESC *table = fr30bf_insn_data;
-
-  memset (table, 0, tabsize * sizeof (IDESC));
-
-  /* First set all entries to the `invalid insn'.  */
-  t = & fr30bf_insn_sem_invalid;
-  for (id = table, tabend = table + tabsize; id < tabend; ++id)
-    init_idesc (cpu, id, t);
-
-  /* Now fill in the values for the chosen cpu.  */
-  for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t);
-       t != tend; ++t)
-    {
-      init_idesc (cpu, & table[t->index], t);
-    }
-
-  /* Link the IDESC table into the cpu.  */
-  CPU_IDESC (cpu) = table;
-}
-
-/* Given an instruction, return a pointer to its IDESC entry.  */
-
-const IDESC *
-fr30bf_decode (SIM_CPU *current_cpu, IADDR pc,
-              CGEN_INSN_INT base_insn,
-              ARGBUF *abuf)
-{
-  /* Result of decoder.  */
-  FR30BF_INSN_TYPE itype;
-
-  {
-    CGEN_INSN_INT insn = base_insn;
-
-    {
-      unsigned int val = (((insn >> 8) & (255 << 0)));
-      switch (val)
-      {
-      case 0 : itype = FR30BF_INSN_LDR13;goto extract_sfmt_ldr13;
-      case 1 : itype = FR30BF_INSN_LDR13UH;goto extract_sfmt_ldr13uh;
-      case 2 : itype = FR30BF_INSN_LDR13UB;goto extract_sfmt_ldr13ub;
-      case 3 : itype = FR30BF_INSN_LDR15;goto extract_sfmt_ldr15;
-      case 4 : itype = FR30BF_INSN_LD;goto extract_sfmt_ld;
-      case 5 : itype = FR30BF_INSN_LDUH;goto extract_sfmt_lduh;
-      case 6 : itype = FR30BF_INSN_LDUB;goto extract_sfmt_ldub;
-      case 7 :
-        {
-          unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = FR30BF_INSN_LDR15GR;goto extract_sfmt_ldr15gr;
-          case 1 : itype = FR30BF_INSN_MOV2PS;goto extract_sfmt_mov2ps;
-          case 2 : itype = FR30BF_INSN_LDR15DR;goto extract_sfmt_ldr15dr;
-          case 3 : itype = FR30BF_INSN_LDR15PS;goto extract_sfmt_ldr15ps;
-          default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 8 : itype = FR30BF_INSN_DMOV2R13;goto extract_sfmt_dmov2r13;
-      case 9 : itype = FR30BF_INSN_DMOV2R13H;goto extract_sfmt_dmov2r13h;
-      case 10 : itype = FR30BF_INSN_DMOV2R13B;goto extract_sfmt_dmov2r13b;
-      case 11 : itype = FR30BF_INSN_DMOV2R15PD;goto extract_sfmt_dmov2r15pd;
-      case 12 : itype = FR30BF_INSN_DMOV2R13PI;goto extract_sfmt_dmov2r13pi;
-      case 13 : itype = FR30BF_INSN_DMOV2R13PIH;goto extract_sfmt_dmov2r13pih;
-      case 14 : itype = FR30BF_INSN_DMOV2R13PIB;goto extract_sfmt_dmov2r13pib;
-      case 15 : itype = FR30BF_INSN_ENTER;goto extract_sfmt_enter;
-      case 16 : itype = FR30BF_INSN_STR13;goto extract_sfmt_str13;
-      case 17 : itype = FR30BF_INSN_STR13H;goto extract_sfmt_str13h;
-      case 18 : itype = FR30BF_INSN_STR13B;goto extract_sfmt_str13b;
-      case 19 : itype = FR30BF_INSN_STR15;goto extract_sfmt_str15;
-      case 20 : itype = FR30BF_INSN_ST;goto extract_sfmt_st;
-      case 21 : itype = FR30BF_INSN_STH;goto extract_sfmt_sth;
-      case 22 : itype = FR30BF_INSN_STB;goto extract_sfmt_stb;
-      case 23 :
-        {
-          unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = FR30BF_INSN_STR15GR;goto extract_sfmt_str15gr;
-          case 1 : itype = FR30BF_INSN_MOVPS;goto extract_sfmt_movps;
-          case 2 : itype = FR30BF_INSN_STR15DR;goto extract_sfmt_str15dr;
-          case 3 : itype = FR30BF_INSN_STR15PS;goto extract_sfmt_str15ps;
-          default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 24 : itype = FR30BF_INSN_DMOVR13;goto extract_sfmt_dmovr13;
-      case 25 : itype = FR30BF_INSN_DMOVR13H;goto extract_sfmt_dmovr13h;
-      case 26 : itype = FR30BF_INSN_DMOVR13B;goto extract_sfmt_dmovr13b;
-      case 27 : itype = FR30BF_INSN_DMOVR15PI;goto extract_sfmt_dmovr15pi;
-      case 28 : itype = FR30BF_INSN_DMOVR13PI;goto extract_sfmt_dmovr13pi;
-      case 29 : itype = FR30BF_INSN_DMOVR13PIH;goto extract_sfmt_dmovr13pih;
-      case 30 : itype = FR30BF_INSN_DMOVR13PIB;goto extract_sfmt_dmovr13pib;
-      case 31 : itype = FR30BF_INSN_INT;goto extract_sfmt_int;
-      case 32 : /* fall through */
-      case 33 : /* fall through */
-      case 34 : /* fall through */
-      case 35 : /* fall through */
-      case 36 : /* fall through */
-      case 37 : /* fall through */
-      case 38 : /* fall through */
-      case 39 : /* fall through */
-      case 40 : /* fall through */
-      case 41 : /* fall through */
-      case 42 : /* fall through */
-      case 43 : /* fall through */
-      case 44 : /* fall through */
-      case 45 : /* fall through */
-      case 46 : /* fall through */
-      case 47 : itype = FR30BF_INSN_LDR14;goto extract_sfmt_ldr14;
-      case 48 : /* fall through */
-      case 49 : /* fall through */
-      case 50 : /* fall through */
-      case 51 : /* fall through */
-      case 52 : /* fall through */
-      case 53 : /* fall through */
-      case 54 : /* fall through */
-      case 55 : /* fall through */
-      case 56 : /* fall through */
-      case 57 : /* fall through */
-      case 58 : /* fall through */
-      case 59 : /* fall through */
-      case 60 : /* fall through */
-      case 61 : /* fall through */
-      case 62 : /* fall through */
-      case 63 : itype = FR30BF_INSN_STR14;goto extract_sfmt_str14;
-      case 64 : /* fall through */
-      case 65 : /* fall through */
-      case 66 : /* fall through */
-      case 67 : /* fall through */
-      case 68 : /* fall through */
-      case 69 : /* fall through */
-      case 70 : /* fall through */
-      case 71 : /* fall through */
-      case 72 : /* fall through */
-      case 73 : /* fall through */
-      case 74 : /* fall through */
-      case 75 : /* fall through */
-      case 76 : /* fall through */
-      case 77 : /* fall through */
-      case 78 : /* fall through */
-      case 79 : itype = FR30BF_INSN_LDR14UH;goto extract_sfmt_ldr14uh;
-      case 80 : /* fall through */
-      case 81 : /* fall through */
-      case 82 : /* fall through */
-      case 83 : /* fall through */
-      case 84 : /* fall through */
-      case 85 : /* fall through */
-      case 86 : /* fall through */
-      case 87 : /* fall through */
-      case 88 : /* fall through */
-      case 89 : /* fall through */
-      case 90 : /* fall through */
-      case 91 : /* fall through */
-      case 92 : /* fall through */
-      case 93 : /* fall through */
-      case 94 : /* fall through */
-      case 95 : itype = FR30BF_INSN_STR14H;goto extract_sfmt_str14h;
-      case 96 : /* fall through */
-      case 97 : /* fall through */
-      case 98 : /* fall through */
-      case 99 : /* fall through */
-      case 100 : /* fall through */
-      case 101 : /* fall through */
-      case 102 : /* fall through */
-      case 103 : /* fall through */
-      case 104 : /* fall through */
-      case 105 : /* fall through */
-      case 106 : /* fall through */
-      case 107 : /* fall through */
-      case 108 : /* fall through */
-      case 109 : /* fall through */
-      case 110 : /* fall through */
-      case 111 : itype = FR30BF_INSN_LDR14UB;goto extract_sfmt_ldr14ub;
-      case 112 : /* fall through */
-      case 113 : /* fall through */
-      case 114 : /* fall through */
-      case 115 : /* fall through */
-      case 116 : /* fall through */
-      case 117 : /* fall through */
-      case 118 : /* fall through */
-      case 119 : /* fall through */
-      case 120 : /* fall through */
-      case 121 : /* fall through */
-      case 122 : /* fall through */
-      case 123 : /* fall through */
-      case 124 : /* fall through */
-      case 125 : /* fall through */
-      case 126 : /* fall through */
-      case 127 : itype = FR30BF_INSN_STR14B;goto extract_sfmt_str14b;
-      case 128 : itype = FR30BF_INSN_BANDL;goto extract_sfmt_bandl;
-      case 129 : itype = FR30BF_INSN_BANDH;goto extract_sfmt_bandl;
-      case 130 : itype = FR30BF_INSN_AND;goto extract_sfmt_and;
-      case 131 : itype = FR30BF_INSN_ANDCCR;goto extract_sfmt_andccr;
-      case 132 : itype = FR30BF_INSN_ANDM;goto extract_sfmt_andm;
-      case 133 : itype = FR30BF_INSN_ANDH;goto extract_sfmt_andh;
-      case 134 : itype = FR30BF_INSN_ANDB;goto extract_sfmt_andb;
-      case 135 : itype = FR30BF_INSN_STILM;goto extract_sfmt_stilm;
-      case 136 : itype = FR30BF_INSN_BTSTL;goto extract_sfmt_btstl;
-      case 137 : itype = FR30BF_INSN_BTSTH;goto extract_sfmt_btstl;
-      case 138 : itype = FR30BF_INSN_XCHB;goto extract_sfmt_xchb;
-      case 139 : itype = FR30BF_INSN_MOV;goto extract_sfmt_mov;
-      case 140 : itype = FR30BF_INSN_LDM0;goto extract_sfmt_ldm0;
-      case 141 : itype = FR30BF_INSN_LDM1;goto extract_sfmt_ldm1;
-      case 142 : itype = FR30BF_INSN_STM0;goto extract_sfmt_stm0;
-      case 143 : itype = FR30BF_INSN_STM1;goto extract_sfmt_stm1;
-      case 144 : itype = FR30BF_INSN_BORL;goto extract_sfmt_bandl;
-      case 145 : itype = FR30BF_INSN_BORH;goto extract_sfmt_bandl;
-      case 146 : itype = FR30BF_INSN_OR;goto extract_sfmt_and;
-      case 147 : itype = FR30BF_INSN_ORCCR;goto extract_sfmt_andccr;
-      case 148 : itype = FR30BF_INSN_ORM;goto extract_sfmt_andm;
-      case 149 : itype = FR30BF_INSN_ORH;goto extract_sfmt_andh;
-      case 150 : itype = FR30BF_INSN_ORB;goto extract_sfmt_andb;
-      case 151 :
-        {
-          unsigned int val = (((insn >> 4) & (15 << 0)));
-          switch (val)
-          {
-          case 0 : itype = FR30BF_INSN_JMP;goto extract_sfmt_jmp;
-          case 1 : itype = FR30BF_INSN_CALLR;goto extract_sfmt_callr;
-          case 2 : itype = FR30BF_INSN_RET;goto extract_sfmt_ret;
-          case 3 : itype = FR30BF_INSN_RETI;goto extract_sfmt_reti;
-          case 4 : itype = FR30BF_INSN_DIV0S;goto extract_sfmt_div0s;
-          case 5 : itype = FR30BF_INSN_DIV0U;goto extract_sfmt_div0u;
-          case 6 : itype = FR30BF_INSN_DIV1;goto extract_sfmt_div1;
-          case 7 : itype = FR30BF_INSN_DIV2;goto extract_sfmt_div2;
-          case 8 : itype = FR30BF_INSN_EXTSB;goto extract_sfmt_extsb;
-          case 9 : itype = FR30BF_INSN_EXTUB;goto extract_sfmt_extub;
-          case 10 : itype = FR30BF_INSN_EXTSH;goto extract_sfmt_extsh;
-          case 11 : itype = FR30BF_INSN_EXTUH;goto extract_sfmt_extuh;
-          default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 152 : itype = FR30BF_INSN_BEORL;goto extract_sfmt_bandl;
-      case 153 : itype = FR30BF_INSN_BEORH;goto extract_sfmt_bandl;
-      case 154 : itype = FR30BF_INSN_EOR;goto extract_sfmt_and;
-      case 155 : itype = FR30BF_INSN_LDI20;goto extract_sfmt_ldi20;
-      case 156 : itype = FR30BF_INSN_EORM;goto extract_sfmt_andm;
-      case 157 : itype = FR30BF_INSN_EORH;goto extract_sfmt_andh;
-      case 158 : itype = FR30BF_INSN_EORB;goto extract_sfmt_andb;
-      case 159 :
-        {
-          unsigned int val = (((insn >> 4) & (15 << 0)));
-          switch (val)
-          {
-          case 0 : itype = FR30BF_INSN_JMPD;goto extract_sfmt_jmp;
-          case 1 : itype = FR30BF_INSN_CALLRD;goto extract_sfmt_callr;
-          case 2 : itype = FR30BF_INSN_RET_D;goto extract_sfmt_ret;
-          case 3 : itype = FR30BF_INSN_INTE;goto extract_sfmt_inte;
-          case 6 : itype = FR30BF_INSN_DIV3;goto extract_sfmt_div3;
-          case 7 : itype = FR30BF_INSN_DIV4S;goto extract_sfmt_div4s;
-          case 8 : itype = FR30BF_INSN_LDI32;goto extract_sfmt_ldi32;
-          case 9 : itype = FR30BF_INSN_LEAVE;goto extract_sfmt_leave;
-          case 10 : itype = FR30BF_INSN_NOP;goto extract_sfmt_bnod;
-          case 12 : itype = FR30BF_INSN_COPOP;goto extract_sfmt_copop;
-          case 13 : itype = FR30BF_INSN_COPLD;goto extract_sfmt_copop;
-          case 14 : itype = FR30BF_INSN_COPST;goto extract_sfmt_copop;
-          case 15 : itype = FR30BF_INSN_COPSV;goto extract_sfmt_copop;
-          default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 160 : itype = FR30BF_INSN_ADDNI;goto extract_sfmt_addni;
-      case 161 : itype = FR30BF_INSN_ADDN2;goto extract_sfmt_addn2;
-      case 162 : itype = FR30BF_INSN_ADDN;goto extract_sfmt_addn;
-      case 163 : itype = FR30BF_INSN_ADDSP;goto extract_sfmt_addsp;
-      case 164 : itype = FR30BF_INSN_ADDI;goto extract_sfmt_addi;
-      case 165 : itype = FR30BF_INSN_ADD2;goto extract_sfmt_add2;
-      case 166 : itype = FR30BF_INSN_ADD;goto extract_sfmt_add;
-      case 167 : itype = FR30BF_INSN_ADDC;goto extract_sfmt_addc;
-      case 168 : itype = FR30BF_INSN_CMPI;goto extract_sfmt_cmpi;
-      case 169 : itype = FR30BF_INSN_CMP2;goto extract_sfmt_cmp2;
-      case 170 : itype = FR30BF_INSN_CMP;goto extract_sfmt_cmp;
-      case 171 : itype = FR30BF_INSN_MULU;goto extract_sfmt_mulu;
-      case 172 : itype = FR30BF_INSN_SUB;goto extract_sfmt_add;
-      case 173 : itype = FR30BF_INSN_SUBC;goto extract_sfmt_addc;
-      case 174 : itype = FR30BF_INSN_SUBN;goto extract_sfmt_addn;
-      case 175 : itype = FR30BF_INSN_MUL;goto extract_sfmt_mul;
-      case 176 : itype = FR30BF_INSN_LSRI;goto extract_sfmt_lsli;
-      case 177 : itype = FR30BF_INSN_LSR2;goto extract_sfmt_lsli;
-      case 178 : itype = FR30BF_INSN_LSR;goto extract_sfmt_lsl;
-      case 179 : itype = FR30BF_INSN_MOV2DR;goto extract_sfmt_mov2dr;
-      case 180 : itype = FR30BF_INSN_LSLI;goto extract_sfmt_lsli;
-      case 181 : itype = FR30BF_INSN_LSL2;goto extract_sfmt_lsli;
-      case 182 : itype = FR30BF_INSN_LSL;goto extract_sfmt_lsl;
-      case 183 : itype = FR30BF_INSN_MOVDR;goto extract_sfmt_movdr;
-      case 184 : itype = FR30BF_INSN_ASRI;goto extract_sfmt_lsli;
-      case 185 : itype = FR30BF_INSN_ASR2;goto extract_sfmt_lsli;
-      case 186 : itype = FR30BF_INSN_ASR;goto extract_sfmt_lsl;
-      case 187 : itype = FR30BF_INSN_MULUH;goto extract_sfmt_mulh;
-      case 188 : itype = FR30BF_INSN_LDRES;goto extract_sfmt_ldres;
-      case 189 : itype = FR30BF_INSN_STRES;goto extract_sfmt_ldres;
-      case 191 : itype = FR30BF_INSN_MULH;goto extract_sfmt_mulh;
-      case 192 : /* fall through */
-      case 193 : /* fall through */
-      case 194 : /* fall through */
-      case 195 : /* fall through */
-      case 196 : /* fall through */
-      case 197 : /* fall through */
-      case 198 : /* fall through */
-      case 199 : /* fall through */
-      case 200 : /* fall through */
-      case 201 : /* fall through */
-      case 202 : /* fall through */
-      case 203 : /* fall through */
-      case 204 : /* fall through */
-      case 205 : /* fall through */
-      case 206 : /* fall through */
-      case 207 : itype = FR30BF_INSN_LDI8;goto extract_sfmt_ldi8;
-      case 208 : /* fall through */
-      case 209 : /* fall through */
-      case 210 : /* fall through */
-      case 211 : /* fall through */
-      case 212 : /* fall through */
-      case 213 : /* fall through */
-      case 214 : /* fall through */
-      case 215 : itype = FR30BF_INSN_CALL;goto extract_sfmt_call;
-      case 216 : /* fall through */
-      case 217 : /* fall through */
-      case 218 : /* fall through */
-      case 219 : /* fall through */
-      case 220 : /* fall through */
-      case 221 : /* fall through */
-      case 222 : /* fall through */
-      case 223 : itype = FR30BF_INSN_CALLD;goto extract_sfmt_call;
-      case 224 : itype = FR30BF_INSN_BRA;goto extract_sfmt_brad;
-      case 225 : itype = FR30BF_INSN_BNO;goto extract_sfmt_bnod;
-      case 226 : itype = FR30BF_INSN_BEQ;goto extract_sfmt_beqd;
-      case 227 : itype = FR30BF_INSN_BNE;goto extract_sfmt_beqd;
-      case 228 : itype = FR30BF_INSN_BC;goto extract_sfmt_bcd;
-      case 229 : itype = FR30BF_INSN_BNC;goto extract_sfmt_bcd;
-      case 230 : itype = FR30BF_INSN_BN;goto extract_sfmt_bnd;
-      case 231 : itype = FR30BF_INSN_BP;goto extract_sfmt_bnd;
-      case 232 : itype = FR30BF_INSN_BV;goto extract_sfmt_bvd;
-      case 233 : itype = FR30BF_INSN_BNV;goto extract_sfmt_bvd;
-      case 234 : itype = FR30BF_INSN_BLT;goto extract_sfmt_bltd;
-      case 235 : itype = FR30BF_INSN_BGE;goto extract_sfmt_bltd;
-      case 236 : itype = FR30BF_INSN_BLE;goto extract_sfmt_bled;
-      case 237 : itype = FR30BF_INSN_BGT;goto extract_sfmt_bled;
-      case 238 : itype = FR30BF_INSN_BLS;goto extract_sfmt_blsd;
-      case 239 : itype = FR30BF_INSN_BHI;goto extract_sfmt_blsd;
-      case 240 : itype = FR30BF_INSN_BRAD;goto extract_sfmt_brad;
-      case 241 : itype = FR30BF_INSN_BNOD;goto extract_sfmt_bnod;
-      case 242 : itype = FR30BF_INSN_BEQD;goto extract_sfmt_beqd;
-      case 243 : itype = FR30BF_INSN_BNED;goto extract_sfmt_beqd;
-      case 244 : itype = FR30BF_INSN_BCD;goto extract_sfmt_bcd;
-      case 245 : itype = FR30BF_INSN_BNCD;goto extract_sfmt_bcd;
-      case 246 : itype = FR30BF_INSN_BND;goto extract_sfmt_bnd;
-      case 247 : itype = FR30BF_INSN_BPD;goto extract_sfmt_bnd;
-      case 248 : itype = FR30BF_INSN_BVD;goto extract_sfmt_bvd;
-      case 249 : itype = FR30BF_INSN_BNVD;goto extract_sfmt_bvd;
-      case 250 : itype = FR30BF_INSN_BLTD;goto extract_sfmt_bltd;
-      case 251 : itype = FR30BF_INSN_BGED;goto extract_sfmt_bltd;
-      case 252 : itype = FR30BF_INSN_BLED;goto extract_sfmt_bled;
-      case 253 : itype = FR30BF_INSN_BGTD;goto extract_sfmt_bled;
-      case 254 : itype = FR30BF_INSN_BLSD;goto extract_sfmt_blsd;
-      case 255 : itype = FR30BF_INSN_BHID;goto extract_sfmt_blsd;
-      default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
-      }
-    }
-  }
-
-  /* The instruction has been decoded, now extract the fields.  */
-
- extract_sfmt_empty:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_add:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addi:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_u4;
-    UINT f_Ri;
-
-    f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_u4) = f_u4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_add2:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    SI f_m4;
-    UINT f_Ri;
-
-    f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_m4) = f_m4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addc:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addn:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addni:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_u4;
-    UINT f_Ri;
-
-    f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_u4) = f_u4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addn2:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    SI f_m4;
-    UINT f_Ri;
-
-    f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_m4) = f_m4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmp:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmpi:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_u4;
-    UINT f_Ri;
-
-    f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_u4) = f_u4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmp2:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    SI f_m4;
-    UINT f_Ri;
-
-    f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_m4) = f_m4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_and:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_andm:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_andh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_andb:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bandl:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_u4;
-    UINT f_Ri;
-
-    f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_u4) = f_u4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_btstl:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_u4;
-    UINT f_Ri;
-
-    f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_u4) = f_u4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mul:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mulu:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mulh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div0s:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div0u:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div1:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div2:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div3:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div4s:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lsl:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lsli:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_u4;
-    UINT f_Ri;
-
-    f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_u4) = f_u4;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldi8:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldi8.f
-    UINT f_i8;
-    UINT f_Ri;
-
-    f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_i8) = f_i8;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldi20:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldi20.f
-    UINT f_i20_16;
-    UINT f_i20_4;
-    UINT f_Ri;
-    UINT f_i20;
-    /* Contents of trailing part of insn.  */
-    UINT word_1;
-
-  word_1 = GETIMEMUHI (current_cpu, pc + 2);
-    f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0));
-    f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-{
-  f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));
-}
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_i20) = f_i20;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldi32:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldi32.f
-    UINT f_i32;
-    UINT f_Ri;
-    /* Contents of trailing part of insn.  */
-    UINT word_1;
-    UINT word_2;
-
-  word_1 = GETIMEMUHI (current_cpu, pc + 2);
-  word_2 = GETIMEMUHI (current_cpu, pc + 4);
-    f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_i32) = f_i32;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ld:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lduh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldub:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr13:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr13uh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13uh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr13ub:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13ub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr14:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr14.f
-    SI f_disp10;
-    UINT f_Ri;
-
-    f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10) = f_disp10;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_14) = 14;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr14uh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr14uh.f
-    SI f_disp9;
-    UINT f_Ri;
-
-    f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp9) = f_disp9;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_14) = 14;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr14ub:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr14ub.f
-    INT f_disp8;
-    UINT f_Ri;
-
-    f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp8) = f_disp8;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_14) = 14;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr15:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr15.f
-    USI f_udisp6;
-    UINT f_Ri;
-
-    f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_udisp6) = f_udisp6;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr15gr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr15gr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_Ri) = f_Ri;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr15dr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-    UINT f_Rs2;
-
-    f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rs2) = f_Rs2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldr15ps:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_addsp.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15ps", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_st:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sth:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stb:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str13:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (in_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str13h:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13h", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (in_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str13b:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13b", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (in_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str14:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str14.f
-    SI f_disp10;
-    UINT f_Ri;
-
-    f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_disp10) = f_disp10;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri, "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_h_gr_SI_14) = 14;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str14h:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str14h.f
-    SI f_disp9;
-    UINT f_Ri;
-
-    f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_disp9) = f_disp9;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri, "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_h_gr_SI_14) = 14;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str14b:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str14b.f
-    INT f_disp8;
-    UINT f_Ri;
-
-    f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_disp8) = f_disp8;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri, "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_h_gr_SI_14) = 14;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str15:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str15.f
-    USI f_udisp6;
-    UINT f_Ri;
-
-    f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2));
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_udisp6) = f_udisp6;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri, "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str15gr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_str15gr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str15dr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-    UINT f_Rs2;
-
-    f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rs2) = f_Rs2;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_str15ps:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_addsp.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15ps", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mov:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rj) = f_Rj;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movdr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_movdr.f
-    UINT f_Rs1;
-    UINT f_Ri;
-
-    f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Rs1) = f_Rs1;
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movps:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_movdr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mov2dr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Rs1;
-    UINT f_Ri;
-
-    f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rs1) = f_Rs1;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri, "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mov2ps:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_jmp:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_callr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_call:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_call.f
-    SI f_rel12;
-
-    f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label12) = f_rel12;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label12 0x%x", 'x', f_rel12, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ret:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_int:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_int.f
-    UINT f_u8;
-
-    f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_u8) = f_u8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_int", "f_u8 0x%x", 'x', f_u8, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_inte:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_inte", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_reti:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_reti", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_brad:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brad", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bnod:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnod", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_beqd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqd", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bcd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcd", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bnd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnd", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bvd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bvd", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bltd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bltd", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bled:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bled", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_blsd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_brad.f
-    SI f_rel9;
-
-    f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_label9) = f_rel9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blsd", "label9 0x%x", 'x', f_rel9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr13:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-    USI f_dir10;
-
-    f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir10) = f_dir10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr13h:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-    USI f_dir9;
-
-    f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir9) = f_dir9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr13b:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-    UINT f_dir8;
-
-    f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir8) = f_dir8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr13pi:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-    USI f_dir10;
-
-    f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir10) = f_dir10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr13pih:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-    USI f_dir9;
-
-    f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir9) = f_dir9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr13pib:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-    UINT f_dir8;
-
-    f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir8) = f_dir8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmovr15pi:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-    USI f_dir10;
-
-    f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir10) = f_dir10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r13:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-    USI f_dir10;
-
-    f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir10) = f_dir10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r13h:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-    USI f_dir9;
-
-    f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir9) = f_dir9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r13b:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-    UINT f_dir8;
-
-    f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir8) = f_dir8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r13pi:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-    USI f_dir10;
-
-    f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir10) = f_dir10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r13pih:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-    USI f_dir9;
-
-    f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir9) = f_dir9;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r13pib:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-    UINT f_dir8;
-
-    f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir8) = f_dir8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_13) = 13;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmov2r15pd:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-    USI f_dir10;
-
-    f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dir10) = f_dir10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldres:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_copop:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-    /* Contents of trailing part of insn.  */
-    UINT word_1;
-
-  word_1 = GETIMEMUHI (current_cpu, pc + 2);
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_copop", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_andccr:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_int.f
-    UINT f_u8;
-
-    f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_u8) = f_u8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stilm:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_int.f
-    UINT f_u8;
-
-    f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_u8) = f_u8;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addsp:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_addsp.f
-    SI f_s10;
-
-    f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_s10) = f_s10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_extsb:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_extub:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_extsh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_extuh:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add2.f
-    UINT f_Ri;
-
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldm0:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldm0.f
-    UINT f_reglist_low_ld;
-
-    f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_reglist_low_ld) = f_reglist_low_ld;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_0) = 0;
-      FLD (out_h_gr_SI_1) = 1;
-      FLD (out_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_2) = 2;
-      FLD (out_h_gr_SI_3) = 3;
-      FLD (out_h_gr_SI_4) = 4;
-      FLD (out_h_gr_SI_5) = 5;
-      FLD (out_h_gr_SI_6) = 6;
-      FLD (out_h_gr_SI_7) = 7;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldm1:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_ldm1.f
-    UINT f_reglist_hi_ld;
-
-    f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_reglist_hi_ld) = f_reglist_hi_ld;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_10) = 10;
-      FLD (out_h_gr_SI_11) = 11;
-      FLD (out_h_gr_SI_12) = 12;
-      FLD (out_h_gr_SI_13) = 13;
-      FLD (out_h_gr_SI_14) = 14;
-      FLD (out_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_8) = 8;
-      FLD (out_h_gr_SI_9) = 9;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stm0:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_stm0.f
-    UINT f_reglist_low_st;
-
-    f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_reglist_low_st) = f_reglist_low_st;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_0) = 0;
-      FLD (in_h_gr_SI_1) = 1;
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (in_h_gr_SI_2) = 2;
-      FLD (in_h_gr_SI_3) = 3;
-      FLD (in_h_gr_SI_4) = 4;
-      FLD (in_h_gr_SI_5) = 5;
-      FLD (in_h_gr_SI_6) = 6;
-      FLD (in_h_gr_SI_7) = 7;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stm1:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_stm1.f
-    UINT f_reglist_hi_st;
-
-    f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_reglist_hi_st) = f_reglist_hi_st;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_10) = 10;
-      FLD (in_h_gr_SI_11) = 11;
-      FLD (in_h_gr_SI_12) = 12;
-      FLD (in_h_gr_SI_13) = 13;
-      FLD (in_h_gr_SI_14) = 14;
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (in_h_gr_SI_8) = 8;
-      FLD (in_h_gr_SI_9) = 9;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_enter:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_enter.f
-    USI f_u10;
-
-    f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_u10) = f_u10;
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_enter", "f_u10 0x%x", 'x', f_u10, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_14) = 14;
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_14) = 14;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_leave:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_enter.f
-
-
-  /* Record the fields for the semantic handler.  */
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_leave", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_h_gr_SI_14) = 14;
-      FLD (in_h_gr_SI_15) = 15;
-      FLD (out_h_gr_SI_14) = 14;
-      FLD (out_h_gr_SI_15) = 15;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_xchb:
-  {
-    const IDESC *idesc = &fr30bf_insn_data[itype];
-    CGEN_INSN_INT insn = base_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_Rj;
-    UINT f_Ri;
-
-    f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_Ri) = f_Ri;
-  FLD (f_Rj) = f_Rj;
-  FLD (i_Ri) = & CPU (h_gr)[f_Ri];
-  FLD (i_Rj) = & CPU (h_gr)[f_Rj];
-  TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_Ri) = f_Ri;
-      FLD (in_Rj) = f_Rj;
-      FLD (out_Ri) = f_Ri;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
-}
+// OBSOLETE /* Simulator instruction decoder for fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #define WANT_CPU fr30bf
+// OBSOLETE #define WANT_CPU_FR30BF
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #include "sim-assert.h"
+// OBSOLETE 
+// OBSOLETE /* The instruction descriptor array.
+// OBSOLETE    This is computed at runtime.  Space for it is not malloc'd to save a
+// OBSOLETE    teensy bit of cpu in the decoder.  Moving it to malloc space is trivial
+// OBSOLETE    but won't be done until necessary (we don't currently support the runtime
+// OBSOLETE    addition of instructions nor an SMP machine with different cpus).  */
+// OBSOLETE static IDESC fr30bf_insn_data[FR30BF_INSN_XCHB + 1];
+// OBSOLETE 
+// OBSOLETE /* Commas between elements are contained in the macros.
+// OBSOLETE    Some of these are conditionally compiled out.  */
+// OBSOLETE 
+// OBSOLETE static const struct insn_sem fr30bf_insn_sem[] =
+// OBSOLETE {
+// OBSOLETE   { VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY },
+// OBSOLETE   { VIRTUAL_INSN_X_AFTER, FR30BF_INSN_X_AFTER, FR30BF_SFMT_EMPTY },
+// OBSOLETE   { VIRTUAL_INSN_X_BEFORE, FR30BF_INSN_X_BEFORE, FR30BF_SFMT_EMPTY },
+// OBSOLETE   { VIRTUAL_INSN_X_CTI_CHAIN, FR30BF_INSN_X_CTI_CHAIN, FR30BF_SFMT_EMPTY },
+// OBSOLETE   { VIRTUAL_INSN_X_CHAIN, FR30BF_INSN_X_CHAIN, FR30BF_SFMT_EMPTY },
+// OBSOLETE   { VIRTUAL_INSN_X_BEGIN, FR30BF_INSN_X_BEGIN, FR30BF_SFMT_EMPTY },
+// OBSOLETE   { FR30_INSN_ADD, FR30BF_INSN_ADD, FR30BF_SFMT_ADD },
+// OBSOLETE   { FR30_INSN_ADDI, FR30BF_INSN_ADDI, FR30BF_SFMT_ADDI },
+// OBSOLETE   { FR30_INSN_ADD2, FR30BF_INSN_ADD2, FR30BF_SFMT_ADD2 },
+// OBSOLETE   { FR30_INSN_ADDC, FR30BF_INSN_ADDC, FR30BF_SFMT_ADDC },
+// OBSOLETE   { FR30_INSN_ADDN, FR30BF_INSN_ADDN, FR30BF_SFMT_ADDN },
+// OBSOLETE   { FR30_INSN_ADDNI, FR30BF_INSN_ADDNI, FR30BF_SFMT_ADDNI },
+// OBSOLETE   { FR30_INSN_ADDN2, FR30BF_INSN_ADDN2, FR30BF_SFMT_ADDN2 },
+// OBSOLETE   { FR30_INSN_SUB, FR30BF_INSN_SUB, FR30BF_SFMT_ADD },
+// OBSOLETE   { FR30_INSN_SUBC, FR30BF_INSN_SUBC, FR30BF_SFMT_ADDC },
+// OBSOLETE   { FR30_INSN_SUBN, FR30BF_INSN_SUBN, FR30BF_SFMT_ADDN },
+// OBSOLETE   { FR30_INSN_CMP, FR30BF_INSN_CMP, FR30BF_SFMT_CMP },
+// OBSOLETE   { FR30_INSN_CMPI, FR30BF_INSN_CMPI, FR30BF_SFMT_CMPI },
+// OBSOLETE   { FR30_INSN_CMP2, FR30BF_INSN_CMP2, FR30BF_SFMT_CMP2 },
+// OBSOLETE   { FR30_INSN_AND, FR30BF_INSN_AND, FR30BF_SFMT_AND },
+// OBSOLETE   { FR30_INSN_OR, FR30BF_INSN_OR, FR30BF_SFMT_AND },
+// OBSOLETE   { FR30_INSN_EOR, FR30BF_INSN_EOR, FR30BF_SFMT_AND },
+// OBSOLETE   { FR30_INSN_ANDM, FR30BF_INSN_ANDM, FR30BF_SFMT_ANDM },
+// OBSOLETE   { FR30_INSN_ANDH, FR30BF_INSN_ANDH, FR30BF_SFMT_ANDH },
+// OBSOLETE   { FR30_INSN_ANDB, FR30BF_INSN_ANDB, FR30BF_SFMT_ANDB },
+// OBSOLETE   { FR30_INSN_ORM, FR30BF_INSN_ORM, FR30BF_SFMT_ANDM },
+// OBSOLETE   { FR30_INSN_ORH, FR30BF_INSN_ORH, FR30BF_SFMT_ANDH },
+// OBSOLETE   { FR30_INSN_ORB, FR30BF_INSN_ORB, FR30BF_SFMT_ANDB },
+// OBSOLETE   { FR30_INSN_EORM, FR30BF_INSN_EORM, FR30BF_SFMT_ANDM },
+// OBSOLETE   { FR30_INSN_EORH, FR30BF_INSN_EORH, FR30BF_SFMT_ANDH },
+// OBSOLETE   { FR30_INSN_EORB, FR30BF_INSN_EORB, FR30BF_SFMT_ANDB },
+// OBSOLETE   { FR30_INSN_BANDL, FR30BF_INSN_BANDL, FR30BF_SFMT_BANDL },
+// OBSOLETE   { FR30_INSN_BORL, FR30BF_INSN_BORL, FR30BF_SFMT_BANDL },
+// OBSOLETE   { FR30_INSN_BEORL, FR30BF_INSN_BEORL, FR30BF_SFMT_BANDL },
+// OBSOLETE   { FR30_INSN_BANDH, FR30BF_INSN_BANDH, FR30BF_SFMT_BANDL },
+// OBSOLETE   { FR30_INSN_BORH, FR30BF_INSN_BORH, FR30BF_SFMT_BANDL },
+// OBSOLETE   { FR30_INSN_BEORH, FR30BF_INSN_BEORH, FR30BF_SFMT_BANDL },
+// OBSOLETE   { FR30_INSN_BTSTL, FR30BF_INSN_BTSTL, FR30BF_SFMT_BTSTL },
+// OBSOLETE   { FR30_INSN_BTSTH, FR30BF_INSN_BTSTH, FR30BF_SFMT_BTSTL },
+// OBSOLETE   { FR30_INSN_MUL, FR30BF_INSN_MUL, FR30BF_SFMT_MUL },
+// OBSOLETE   { FR30_INSN_MULU, FR30BF_INSN_MULU, FR30BF_SFMT_MULU },
+// OBSOLETE   { FR30_INSN_MULH, FR30BF_INSN_MULH, FR30BF_SFMT_MULH },
+// OBSOLETE   { FR30_INSN_MULUH, FR30BF_INSN_MULUH, FR30BF_SFMT_MULH },
+// OBSOLETE   { FR30_INSN_DIV0S, FR30BF_INSN_DIV0S, FR30BF_SFMT_DIV0S },
+// OBSOLETE   { FR30_INSN_DIV0U, FR30BF_INSN_DIV0U, FR30BF_SFMT_DIV0U },
+// OBSOLETE   { FR30_INSN_DIV1, FR30BF_INSN_DIV1, FR30BF_SFMT_DIV1 },
+// OBSOLETE   { FR30_INSN_DIV2, FR30BF_INSN_DIV2, FR30BF_SFMT_DIV2 },
+// OBSOLETE   { FR30_INSN_DIV3, FR30BF_INSN_DIV3, FR30BF_SFMT_DIV3 },
+// OBSOLETE   { FR30_INSN_DIV4S, FR30BF_INSN_DIV4S, FR30BF_SFMT_DIV4S },
+// OBSOLETE   { FR30_INSN_LSL, FR30BF_INSN_LSL, FR30BF_SFMT_LSL },
+// OBSOLETE   { FR30_INSN_LSLI, FR30BF_INSN_LSLI, FR30BF_SFMT_LSLI },
+// OBSOLETE   { FR30_INSN_LSL2, FR30BF_INSN_LSL2, FR30BF_SFMT_LSLI },
+// OBSOLETE   { FR30_INSN_LSR, FR30BF_INSN_LSR, FR30BF_SFMT_LSL },
+// OBSOLETE   { FR30_INSN_LSRI, FR30BF_INSN_LSRI, FR30BF_SFMT_LSLI },
+// OBSOLETE   { FR30_INSN_LSR2, FR30BF_INSN_LSR2, FR30BF_SFMT_LSLI },
+// OBSOLETE   { FR30_INSN_ASR, FR30BF_INSN_ASR, FR30BF_SFMT_LSL },
+// OBSOLETE   { FR30_INSN_ASRI, FR30BF_INSN_ASRI, FR30BF_SFMT_LSLI },
+// OBSOLETE   { FR30_INSN_ASR2, FR30BF_INSN_ASR2, FR30BF_SFMT_LSLI },
+// OBSOLETE   { FR30_INSN_LDI8, FR30BF_INSN_LDI8, FR30BF_SFMT_LDI8 },
+// OBSOLETE   { FR30_INSN_LDI20, FR30BF_INSN_LDI20, FR30BF_SFMT_LDI20 },
+// OBSOLETE   { FR30_INSN_LDI32, FR30BF_INSN_LDI32, FR30BF_SFMT_LDI32 },
+// OBSOLETE   { FR30_INSN_LD, FR30BF_INSN_LD, FR30BF_SFMT_LD },
+// OBSOLETE   { FR30_INSN_LDUH, FR30BF_INSN_LDUH, FR30BF_SFMT_LDUH },
+// OBSOLETE   { FR30_INSN_LDUB, FR30BF_INSN_LDUB, FR30BF_SFMT_LDUB },
+// OBSOLETE   { FR30_INSN_LDR13, FR30BF_INSN_LDR13, FR30BF_SFMT_LDR13 },
+// OBSOLETE   { FR30_INSN_LDR13UH, FR30BF_INSN_LDR13UH, FR30BF_SFMT_LDR13UH },
+// OBSOLETE   { FR30_INSN_LDR13UB, FR30BF_INSN_LDR13UB, FR30BF_SFMT_LDR13UB },
+// OBSOLETE   { FR30_INSN_LDR14, FR30BF_INSN_LDR14, FR30BF_SFMT_LDR14 },
+// OBSOLETE   { FR30_INSN_LDR14UH, FR30BF_INSN_LDR14UH, FR30BF_SFMT_LDR14UH },
+// OBSOLETE   { FR30_INSN_LDR14UB, FR30BF_INSN_LDR14UB, FR30BF_SFMT_LDR14UB },
+// OBSOLETE   { FR30_INSN_LDR15, FR30BF_INSN_LDR15, FR30BF_SFMT_LDR15 },
+// OBSOLETE   { FR30_INSN_LDR15GR, FR30BF_INSN_LDR15GR, FR30BF_SFMT_LDR15GR },
+// OBSOLETE   { FR30_INSN_LDR15DR, FR30BF_INSN_LDR15DR, FR30BF_SFMT_LDR15DR },
+// OBSOLETE   { FR30_INSN_LDR15PS, FR30BF_INSN_LDR15PS, FR30BF_SFMT_LDR15PS },
+// OBSOLETE   { FR30_INSN_ST, FR30BF_INSN_ST, FR30BF_SFMT_ST },
+// OBSOLETE   { FR30_INSN_STH, FR30BF_INSN_STH, FR30BF_SFMT_STH },
+// OBSOLETE   { FR30_INSN_STB, FR30BF_INSN_STB, FR30BF_SFMT_STB },
+// OBSOLETE   { FR30_INSN_STR13, FR30BF_INSN_STR13, FR30BF_SFMT_STR13 },
+// OBSOLETE   { FR30_INSN_STR13H, FR30BF_INSN_STR13H, FR30BF_SFMT_STR13H },
+// OBSOLETE   { FR30_INSN_STR13B, FR30BF_INSN_STR13B, FR30BF_SFMT_STR13B },
+// OBSOLETE   { FR30_INSN_STR14, FR30BF_INSN_STR14, FR30BF_SFMT_STR14 },
+// OBSOLETE   { FR30_INSN_STR14H, FR30BF_INSN_STR14H, FR30BF_SFMT_STR14H },
+// OBSOLETE   { FR30_INSN_STR14B, FR30BF_INSN_STR14B, FR30BF_SFMT_STR14B },
+// OBSOLETE   { FR30_INSN_STR15, FR30BF_INSN_STR15, FR30BF_SFMT_STR15 },
+// OBSOLETE   { FR30_INSN_STR15GR, FR30BF_INSN_STR15GR, FR30BF_SFMT_STR15GR },
+// OBSOLETE   { FR30_INSN_STR15DR, FR30BF_INSN_STR15DR, FR30BF_SFMT_STR15DR },
+// OBSOLETE   { FR30_INSN_STR15PS, FR30BF_INSN_STR15PS, FR30BF_SFMT_STR15PS },
+// OBSOLETE   { FR30_INSN_MOV, FR30BF_INSN_MOV, FR30BF_SFMT_MOV },
+// OBSOLETE   { FR30_INSN_MOVDR, FR30BF_INSN_MOVDR, FR30BF_SFMT_MOVDR },
+// OBSOLETE   { FR30_INSN_MOVPS, FR30BF_INSN_MOVPS, FR30BF_SFMT_MOVPS },
+// OBSOLETE   { FR30_INSN_MOV2DR, FR30BF_INSN_MOV2DR, FR30BF_SFMT_MOV2DR },
+// OBSOLETE   { FR30_INSN_MOV2PS, FR30BF_INSN_MOV2PS, FR30BF_SFMT_MOV2PS },
+// OBSOLETE   { FR30_INSN_JMP, FR30BF_INSN_JMP, FR30BF_SFMT_JMP },
+// OBSOLETE   { FR30_INSN_JMPD, FR30BF_INSN_JMPD, FR30BF_SFMT_JMP },
+// OBSOLETE   { FR30_INSN_CALLR, FR30BF_INSN_CALLR, FR30BF_SFMT_CALLR },
+// OBSOLETE   { FR30_INSN_CALLRD, FR30BF_INSN_CALLRD, FR30BF_SFMT_CALLR },
+// OBSOLETE   { FR30_INSN_CALL, FR30BF_INSN_CALL, FR30BF_SFMT_CALL },
+// OBSOLETE   { FR30_INSN_CALLD, FR30BF_INSN_CALLD, FR30BF_SFMT_CALL },
+// OBSOLETE   { FR30_INSN_RET, FR30BF_INSN_RET, FR30BF_SFMT_RET },
+// OBSOLETE   { FR30_INSN_RET_D, FR30BF_INSN_RET_D, FR30BF_SFMT_RET },
+// OBSOLETE   { FR30_INSN_INT, FR30BF_INSN_INT, FR30BF_SFMT_INT },
+// OBSOLETE   { FR30_INSN_INTE, FR30BF_INSN_INTE, FR30BF_SFMT_INTE },
+// OBSOLETE   { FR30_INSN_RETI, FR30BF_INSN_RETI, FR30BF_SFMT_RETI },
+// OBSOLETE   { FR30_INSN_BRAD, FR30BF_INSN_BRAD, FR30BF_SFMT_BRAD },
+// OBSOLETE   { FR30_INSN_BRA, FR30BF_INSN_BRA, FR30BF_SFMT_BRAD },
+// OBSOLETE   { FR30_INSN_BNOD, FR30BF_INSN_BNOD, FR30BF_SFMT_BNOD },
+// OBSOLETE   { FR30_INSN_BNO, FR30BF_INSN_BNO, FR30BF_SFMT_BNOD },
+// OBSOLETE   { FR30_INSN_BEQD, FR30BF_INSN_BEQD, FR30BF_SFMT_BEQD },
+// OBSOLETE   { FR30_INSN_BEQ, FR30BF_INSN_BEQ, FR30BF_SFMT_BEQD },
+// OBSOLETE   { FR30_INSN_BNED, FR30BF_INSN_BNED, FR30BF_SFMT_BEQD },
+// OBSOLETE   { FR30_INSN_BNE, FR30BF_INSN_BNE, FR30BF_SFMT_BEQD },
+// OBSOLETE   { FR30_INSN_BCD, FR30BF_INSN_BCD, FR30BF_SFMT_BCD },
+// OBSOLETE   { FR30_INSN_BC, FR30BF_INSN_BC, FR30BF_SFMT_BCD },
+// OBSOLETE   { FR30_INSN_BNCD, FR30BF_INSN_BNCD, FR30BF_SFMT_BCD },
+// OBSOLETE   { FR30_INSN_BNC, FR30BF_INSN_BNC, FR30BF_SFMT_BCD },
+// OBSOLETE   { FR30_INSN_BND, FR30BF_INSN_BND, FR30BF_SFMT_BND },
+// OBSOLETE   { FR30_INSN_BN, FR30BF_INSN_BN, FR30BF_SFMT_BND },
+// OBSOLETE   { FR30_INSN_BPD, FR30BF_INSN_BPD, FR30BF_SFMT_BND },
+// OBSOLETE   { FR30_INSN_BP, FR30BF_INSN_BP, FR30BF_SFMT_BND },
+// OBSOLETE   { FR30_INSN_BVD, FR30BF_INSN_BVD, FR30BF_SFMT_BVD },
+// OBSOLETE   { FR30_INSN_BV, FR30BF_INSN_BV, FR30BF_SFMT_BVD },
+// OBSOLETE   { FR30_INSN_BNVD, FR30BF_INSN_BNVD, FR30BF_SFMT_BVD },
+// OBSOLETE   { FR30_INSN_BNV, FR30BF_INSN_BNV, FR30BF_SFMT_BVD },
+// OBSOLETE   { FR30_INSN_BLTD, FR30BF_INSN_BLTD, FR30BF_SFMT_BLTD },
+// OBSOLETE   { FR30_INSN_BLT, FR30BF_INSN_BLT, FR30BF_SFMT_BLTD },
+// OBSOLETE   { FR30_INSN_BGED, FR30BF_INSN_BGED, FR30BF_SFMT_BLTD },
+// OBSOLETE   { FR30_INSN_BGE, FR30BF_INSN_BGE, FR30BF_SFMT_BLTD },
+// OBSOLETE   { FR30_INSN_BLED, FR30BF_INSN_BLED, FR30BF_SFMT_BLED },
+// OBSOLETE   { FR30_INSN_BLE, FR30BF_INSN_BLE, FR30BF_SFMT_BLED },
+// OBSOLETE   { FR30_INSN_BGTD, FR30BF_INSN_BGTD, FR30BF_SFMT_BLED },
+// OBSOLETE   { FR30_INSN_BGT, FR30BF_INSN_BGT, FR30BF_SFMT_BLED },
+// OBSOLETE   { FR30_INSN_BLSD, FR30BF_INSN_BLSD, FR30BF_SFMT_BLSD },
+// OBSOLETE   { FR30_INSN_BLS, FR30BF_INSN_BLS, FR30BF_SFMT_BLSD },
+// OBSOLETE   { FR30_INSN_BHID, FR30BF_INSN_BHID, FR30BF_SFMT_BLSD },
+// OBSOLETE   { FR30_INSN_BHI, FR30BF_INSN_BHI, FR30BF_SFMT_BLSD },
+// OBSOLETE   { FR30_INSN_DMOVR13, FR30BF_INSN_DMOVR13, FR30BF_SFMT_DMOVR13 },
+// OBSOLETE   { FR30_INSN_DMOVR13H, FR30BF_INSN_DMOVR13H, FR30BF_SFMT_DMOVR13H },
+// OBSOLETE   { FR30_INSN_DMOVR13B, FR30BF_INSN_DMOVR13B, FR30BF_SFMT_DMOVR13B },
+// OBSOLETE   { FR30_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PI, FR30BF_SFMT_DMOVR13PI },
+// OBSOLETE   { FR30_INSN_DMOVR13PIH, FR30BF_INSN_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIH },
+// OBSOLETE   { FR30_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR13PIB, FR30BF_SFMT_DMOVR13PIB },
+// OBSOLETE   { FR30_INSN_DMOVR15PI, FR30BF_INSN_DMOVR15PI, FR30BF_SFMT_DMOVR15PI },
+// OBSOLETE   { FR30_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13, FR30BF_SFMT_DMOV2R13 },
+// OBSOLETE   { FR30_INSN_DMOV2R13H, FR30BF_INSN_DMOV2R13H, FR30BF_SFMT_DMOV2R13H },
+// OBSOLETE   { FR30_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13B, FR30BF_SFMT_DMOV2R13B },
+// OBSOLETE   { FR30_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PI },
+// OBSOLETE   { FR30_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIH },
+// OBSOLETE   { FR30_INSN_DMOV2R13PIB, FR30BF_INSN_DMOV2R13PIB, FR30BF_SFMT_DMOV2R13PIB },
+// OBSOLETE   { FR30_INSN_DMOV2R15PD, FR30BF_INSN_DMOV2R15PD, FR30BF_SFMT_DMOV2R15PD },
+// OBSOLETE   { FR30_INSN_LDRES, FR30BF_INSN_LDRES, FR30BF_SFMT_LDRES },
+// OBSOLETE   { FR30_INSN_STRES, FR30BF_INSN_STRES, FR30BF_SFMT_LDRES },
+// OBSOLETE   { FR30_INSN_COPOP, FR30BF_INSN_COPOP, FR30BF_SFMT_COPOP },
+// OBSOLETE   { FR30_INSN_COPLD, FR30BF_INSN_COPLD, FR30BF_SFMT_COPOP },
+// OBSOLETE   { FR30_INSN_COPST, FR30BF_INSN_COPST, FR30BF_SFMT_COPOP },
+// OBSOLETE   { FR30_INSN_COPSV, FR30BF_INSN_COPSV, FR30BF_SFMT_COPOP },
+// OBSOLETE   { FR30_INSN_NOP, FR30BF_INSN_NOP, FR30BF_SFMT_BNOD },
+// OBSOLETE   { FR30_INSN_ANDCCR, FR30BF_INSN_ANDCCR, FR30BF_SFMT_ANDCCR },
+// OBSOLETE   { FR30_INSN_ORCCR, FR30BF_INSN_ORCCR, FR30BF_SFMT_ANDCCR },
+// OBSOLETE   { FR30_INSN_STILM, FR30BF_INSN_STILM, FR30BF_SFMT_STILM },
+// OBSOLETE   { FR30_INSN_ADDSP, FR30BF_INSN_ADDSP, FR30BF_SFMT_ADDSP },
+// OBSOLETE   { FR30_INSN_EXTSB, FR30BF_INSN_EXTSB, FR30BF_SFMT_EXTSB },
+// OBSOLETE   { FR30_INSN_EXTUB, FR30BF_INSN_EXTUB, FR30BF_SFMT_EXTUB },
+// OBSOLETE   { FR30_INSN_EXTSH, FR30BF_INSN_EXTSH, FR30BF_SFMT_EXTSH },
+// OBSOLETE   { FR30_INSN_EXTUH, FR30BF_INSN_EXTUH, FR30BF_SFMT_EXTUH },
+// OBSOLETE   { FR30_INSN_LDM0, FR30BF_INSN_LDM0, FR30BF_SFMT_LDM0 },
+// OBSOLETE   { FR30_INSN_LDM1, FR30BF_INSN_LDM1, FR30BF_SFMT_LDM1 },
+// OBSOLETE   { FR30_INSN_STM0, FR30BF_INSN_STM0, FR30BF_SFMT_STM0 },
+// OBSOLETE   { FR30_INSN_STM1, FR30BF_INSN_STM1, FR30BF_SFMT_STM1 },
+// OBSOLETE   { FR30_INSN_ENTER, FR30BF_INSN_ENTER, FR30BF_SFMT_ENTER },
+// OBSOLETE   { FR30_INSN_LEAVE, FR30BF_INSN_LEAVE, FR30BF_SFMT_LEAVE },
+// OBSOLETE   { FR30_INSN_XCHB, FR30BF_INSN_XCHB, FR30BF_SFMT_XCHB },
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE static const struct insn_sem fr30bf_insn_sem_invalid = {
+// OBSOLETE   VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE /* Initialize an IDESC from the compile-time computable parts.  */
+// OBSOLETE 
+// OBSOLETE static INLINE void
+// OBSOLETE init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
+// OBSOLETE {
+// OBSOLETE   const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
+// OBSOLETE 
+// OBSOLETE   id->num = t->index;
+// OBSOLETE   id->sfmt = t->sfmt;
+// OBSOLETE   if ((int) t->type <= 0)
+// OBSOLETE     id->idata = & cgen_virtual_insn_table[- (int) t->type];
+// OBSOLETE   else
+// OBSOLETE     id->idata = & insn_table[t->type];
+// OBSOLETE   id->attrs = CGEN_INSN_ATTRS (id->idata);
+// OBSOLETE   /* Oh my god, a magic number.  */
+// OBSOLETE   id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
+// OBSOLETE   {
+// OBSOLETE     SIM_DESC sd = CPU_STATE (cpu);
+// OBSOLETE     SIM_ASSERT (t->index == id->timing->num);
+// OBSOLETE   }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   /* Semantic pointers are initialized elsewhere.  */
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Initialize the instruction descriptor table.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_init_idesc_table (SIM_CPU *cpu)
+// OBSOLETE {
+// OBSOLETE   IDESC *id,*tabend;
+// OBSOLETE   const struct insn_sem *t,*tend;
+// OBSOLETE   int tabsize = sizeof (fr30bf_insn_data) / sizeof (IDESC);
+// OBSOLETE   IDESC *table = fr30bf_insn_data;
+// OBSOLETE 
+// OBSOLETE   memset (table, 0, tabsize * sizeof (IDESC));
+// OBSOLETE 
+// OBSOLETE   /* First set all entries to the `invalid insn'.  */
+// OBSOLETE   t = & fr30bf_insn_sem_invalid;
+// OBSOLETE   for (id = table, tabend = table + tabsize; id < tabend; ++id)
+// OBSOLETE     init_idesc (cpu, id, t);
+// OBSOLETE 
+// OBSOLETE   /* Now fill in the values for the chosen cpu.  */
+// OBSOLETE   for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t);
+// OBSOLETE        t != tend; ++t)
+// OBSOLETE     {
+// OBSOLETE       init_idesc (cpu, & table[t->index], t);
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* Link the IDESC table into the cpu.  */
+// OBSOLETE   CPU_IDESC (cpu) = table;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Given an instruction, return a pointer to its IDESC entry.  */
+// OBSOLETE 
+// OBSOLETE const IDESC *
+// OBSOLETE fr30bf_decode (SIM_CPU *current_cpu, IADDR pc,
+// OBSOLETE               CGEN_INSN_INT base_insn,
+// OBSOLETE               ARGBUF *abuf)
+// OBSOLETE {
+// OBSOLETE   /* Result of decoder.  */
+// OBSOLETE   FR30BF_INSN_TYPE itype;
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE 
+// OBSOLETE     {
+// OBSOLETE       unsigned int val = (((insn >> 8) & (255 << 0)));
+// OBSOLETE       switch (val)
+// OBSOLETE       {
+// OBSOLETE       case 0 : itype = FR30BF_INSN_LDR13;goto extract_sfmt_ldr13;
+// OBSOLETE       case 1 : itype = FR30BF_INSN_LDR13UH;goto extract_sfmt_ldr13uh;
+// OBSOLETE       case 2 : itype = FR30BF_INSN_LDR13UB;goto extract_sfmt_ldr13ub;
+// OBSOLETE       case 3 : itype = FR30BF_INSN_LDR15;goto extract_sfmt_ldr15;
+// OBSOLETE       case 4 : itype = FR30BF_INSN_LD;goto extract_sfmt_ld;
+// OBSOLETE       case 5 : itype = FR30BF_INSN_LDUH;goto extract_sfmt_lduh;
+// OBSOLETE       case 6 : itype = FR30BF_INSN_LDUB;goto extract_sfmt_ldub;
+// OBSOLETE       case 7 :
+// OBSOLETE         {
+// OBSOLETE           unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0)));
+// OBSOLETE           switch (val)
+// OBSOLETE           {
+// OBSOLETE           case 0 : itype = FR30BF_INSN_LDR15GR;goto extract_sfmt_ldr15gr;
+// OBSOLETE           case 1 : itype = FR30BF_INSN_MOV2PS;goto extract_sfmt_mov2ps;
+// OBSOLETE           case 2 : itype = FR30BF_INSN_LDR15DR;goto extract_sfmt_ldr15dr;
+// OBSOLETE           case 3 : itype = FR30BF_INSN_LDR15PS;goto extract_sfmt_ldr15ps;
+// OBSOLETE           default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
+// OBSOLETE           }
+// OBSOLETE         }
+// OBSOLETE       case 8 : itype = FR30BF_INSN_DMOV2R13;goto extract_sfmt_dmov2r13;
+// OBSOLETE       case 9 : itype = FR30BF_INSN_DMOV2R13H;goto extract_sfmt_dmov2r13h;
+// OBSOLETE       case 10 : itype = FR30BF_INSN_DMOV2R13B;goto extract_sfmt_dmov2r13b;
+// OBSOLETE       case 11 : itype = FR30BF_INSN_DMOV2R15PD;goto extract_sfmt_dmov2r15pd;
+// OBSOLETE       case 12 : itype = FR30BF_INSN_DMOV2R13PI;goto extract_sfmt_dmov2r13pi;
+// OBSOLETE       case 13 : itype = FR30BF_INSN_DMOV2R13PIH;goto extract_sfmt_dmov2r13pih;
+// OBSOLETE       case 14 : itype = FR30BF_INSN_DMOV2R13PIB;goto extract_sfmt_dmov2r13pib;
+// OBSOLETE       case 15 : itype = FR30BF_INSN_ENTER;goto extract_sfmt_enter;
+// OBSOLETE       case 16 : itype = FR30BF_INSN_STR13;goto extract_sfmt_str13;
+// OBSOLETE       case 17 : itype = FR30BF_INSN_STR13H;goto extract_sfmt_str13h;
+// OBSOLETE       case 18 : itype = FR30BF_INSN_STR13B;goto extract_sfmt_str13b;
+// OBSOLETE       case 19 : itype = FR30BF_INSN_STR15;goto extract_sfmt_str15;
+// OBSOLETE       case 20 : itype = FR30BF_INSN_ST;goto extract_sfmt_st;
+// OBSOLETE       case 21 : itype = FR30BF_INSN_STH;goto extract_sfmt_sth;
+// OBSOLETE       case 22 : itype = FR30BF_INSN_STB;goto extract_sfmt_stb;
+// OBSOLETE       case 23 :
+// OBSOLETE         {
+// OBSOLETE           unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0)));
+// OBSOLETE           switch (val)
+// OBSOLETE           {
+// OBSOLETE           case 0 : itype = FR30BF_INSN_STR15GR;goto extract_sfmt_str15gr;
+// OBSOLETE           case 1 : itype = FR30BF_INSN_MOVPS;goto extract_sfmt_movps;
+// OBSOLETE           case 2 : itype = FR30BF_INSN_STR15DR;goto extract_sfmt_str15dr;
+// OBSOLETE           case 3 : itype = FR30BF_INSN_STR15PS;goto extract_sfmt_str15ps;
+// OBSOLETE           default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
+// OBSOLETE           }
+// OBSOLETE         }
+// OBSOLETE       case 24 : itype = FR30BF_INSN_DMOVR13;goto extract_sfmt_dmovr13;
+// OBSOLETE       case 25 : itype = FR30BF_INSN_DMOVR13H;goto extract_sfmt_dmovr13h;
+// OBSOLETE       case 26 : itype = FR30BF_INSN_DMOVR13B;goto extract_sfmt_dmovr13b;
+// OBSOLETE       case 27 : itype = FR30BF_INSN_DMOVR15PI;goto extract_sfmt_dmovr15pi;
+// OBSOLETE       case 28 : itype = FR30BF_INSN_DMOVR13PI;goto extract_sfmt_dmovr13pi;
+// OBSOLETE       case 29 : itype = FR30BF_INSN_DMOVR13PIH;goto extract_sfmt_dmovr13pih;
+// OBSOLETE       case 30 : itype = FR30BF_INSN_DMOVR13PIB;goto extract_sfmt_dmovr13pib;
+// OBSOLETE       case 31 : itype = FR30BF_INSN_INT;goto extract_sfmt_int;
+// OBSOLETE       case 32 : /* fall through */
+// OBSOLETE       case 33 : /* fall through */
+// OBSOLETE       case 34 : /* fall through */
+// OBSOLETE       case 35 : /* fall through */
+// OBSOLETE       case 36 : /* fall through */
+// OBSOLETE       case 37 : /* fall through */
+// OBSOLETE       case 38 : /* fall through */
+// OBSOLETE       case 39 : /* fall through */
+// OBSOLETE       case 40 : /* fall through */
+// OBSOLETE       case 41 : /* fall through */
+// OBSOLETE       case 42 : /* fall through */
+// OBSOLETE       case 43 : /* fall through */
+// OBSOLETE       case 44 : /* fall through */
+// OBSOLETE       case 45 : /* fall through */
+// OBSOLETE       case 46 : /* fall through */
+// OBSOLETE       case 47 : itype = FR30BF_INSN_LDR14;goto extract_sfmt_ldr14;
+// OBSOLETE       case 48 : /* fall through */
+// OBSOLETE       case 49 : /* fall through */
+// OBSOLETE       case 50 : /* fall through */
+// OBSOLETE       case 51 : /* fall through */
+// OBSOLETE       case 52 : /* fall through */
+// OBSOLETE       case 53 : /* fall through */
+// OBSOLETE       case 54 : /* fall through */
+// OBSOLETE       case 55 : /* fall through */
+// OBSOLETE       case 56 : /* fall through */
+// OBSOLETE       case 57 : /* fall through */
+// OBSOLETE       case 58 : /* fall through */
+// OBSOLETE       case 59 : /* fall through */
+// OBSOLETE       case 60 : /* fall through */
+// OBSOLETE       case 61 : /* fall through */
+// OBSOLETE       case 62 : /* fall through */
+// OBSOLETE       case 63 : itype = FR30BF_INSN_STR14;goto extract_sfmt_str14;
+// OBSOLETE       case 64 : /* fall through */
+// OBSOLETE       case 65 : /* fall through */
+// OBSOLETE       case 66 : /* fall through */
+// OBSOLETE       case 67 : /* fall through */
+// OBSOLETE       case 68 : /* fall through */
+// OBSOLETE       case 69 : /* fall through */
+// OBSOLETE       case 70 : /* fall through */
+// OBSOLETE       case 71 : /* fall through */
+// OBSOLETE       case 72 : /* fall through */
+// OBSOLETE       case 73 : /* fall through */
+// OBSOLETE       case 74 : /* fall through */
+// OBSOLETE       case 75 : /* fall through */
+// OBSOLETE       case 76 : /* fall through */
+// OBSOLETE       case 77 : /* fall through */
+// OBSOLETE       case 78 : /* fall through */
+// OBSOLETE       case 79 : itype = FR30BF_INSN_LDR14UH;goto extract_sfmt_ldr14uh;
+// OBSOLETE       case 80 : /* fall through */
+// OBSOLETE       case 81 : /* fall through */
+// OBSOLETE       case 82 : /* fall through */
+// OBSOLETE       case 83 : /* fall through */
+// OBSOLETE       case 84 : /* fall through */
+// OBSOLETE       case 85 : /* fall through */
+// OBSOLETE       case 86 : /* fall through */
+// OBSOLETE       case 87 : /* fall through */
+// OBSOLETE       case 88 : /* fall through */
+// OBSOLETE       case 89 : /* fall through */
+// OBSOLETE       case 90 : /* fall through */
+// OBSOLETE       case 91 : /* fall through */
+// OBSOLETE       case 92 : /* fall through */
+// OBSOLETE       case 93 : /* fall through */
+// OBSOLETE       case 94 : /* fall through */
+// OBSOLETE       case 95 : itype = FR30BF_INSN_STR14H;goto extract_sfmt_str14h;
+// OBSOLETE       case 96 : /* fall through */
+// OBSOLETE       case 97 : /* fall through */
+// OBSOLETE       case 98 : /* fall through */
+// OBSOLETE       case 99 : /* fall through */
+// OBSOLETE       case 100 : /* fall through */
+// OBSOLETE       case 101 : /* fall through */
+// OBSOLETE       case 102 : /* fall through */
+// OBSOLETE       case 103 : /* fall through */
+// OBSOLETE       case 104 : /* fall through */
+// OBSOLETE       case 105 : /* fall through */
+// OBSOLETE       case 106 : /* fall through */
+// OBSOLETE       case 107 : /* fall through */
+// OBSOLETE       case 108 : /* fall through */
+// OBSOLETE       case 109 : /* fall through */
+// OBSOLETE       case 110 : /* fall through */
+// OBSOLETE       case 111 : itype = FR30BF_INSN_LDR14UB;goto extract_sfmt_ldr14ub;
+// OBSOLETE       case 112 : /* fall through */
+// OBSOLETE       case 113 : /* fall through */
+// OBSOLETE       case 114 : /* fall through */
+// OBSOLETE       case 115 : /* fall through */
+// OBSOLETE       case 116 : /* fall through */
+// OBSOLETE       case 117 : /* fall through */
+// OBSOLETE       case 118 : /* fall through */
+// OBSOLETE       case 119 : /* fall through */
+// OBSOLETE       case 120 : /* fall through */
+// OBSOLETE       case 121 : /* fall through */
+// OBSOLETE       case 122 : /* fall through */
+// OBSOLETE       case 123 : /* fall through */
+// OBSOLETE       case 124 : /* fall through */
+// OBSOLETE       case 125 : /* fall through */
+// OBSOLETE       case 126 : /* fall through */
+// OBSOLETE       case 127 : itype = FR30BF_INSN_STR14B;goto extract_sfmt_str14b;
+// OBSOLETE       case 128 : itype = FR30BF_INSN_BANDL;goto extract_sfmt_bandl;
+// OBSOLETE       case 129 : itype = FR30BF_INSN_BANDH;goto extract_sfmt_bandl;
+// OBSOLETE       case 130 : itype = FR30BF_INSN_AND;goto extract_sfmt_and;
+// OBSOLETE       case 131 : itype = FR30BF_INSN_ANDCCR;goto extract_sfmt_andccr;
+// OBSOLETE       case 132 : itype = FR30BF_INSN_ANDM;goto extract_sfmt_andm;
+// OBSOLETE       case 133 : itype = FR30BF_INSN_ANDH;goto extract_sfmt_andh;
+// OBSOLETE       case 134 : itype = FR30BF_INSN_ANDB;goto extract_sfmt_andb;
+// OBSOLETE       case 135 : itype = FR30BF_INSN_STILM;goto extract_sfmt_stilm;
+// OBSOLETE       case 136 : itype = FR30BF_INSN_BTSTL;goto extract_sfmt_btstl;
+// OBSOLETE       case 137 : itype = FR30BF_INSN_BTSTH;goto extract_sfmt_btstl;
+// OBSOLETE       case 138 : itype = FR30BF_INSN_XCHB;goto extract_sfmt_xchb;
+// OBSOLETE       case 139 : itype = FR30BF_INSN_MOV;goto extract_sfmt_mov;
+// OBSOLETE       case 140 : itype = FR30BF_INSN_LDM0;goto extract_sfmt_ldm0;
+// OBSOLETE       case 141 : itype = FR30BF_INSN_LDM1;goto extract_sfmt_ldm1;
+// OBSOLETE       case 142 : itype = FR30BF_INSN_STM0;goto extract_sfmt_stm0;
+// OBSOLETE       case 143 : itype = FR30BF_INSN_STM1;goto extract_sfmt_stm1;
+// OBSOLETE       case 144 : itype = FR30BF_INSN_BORL;goto extract_sfmt_bandl;
+// OBSOLETE       case 145 : itype = FR30BF_INSN_BORH;goto extract_sfmt_bandl;
+// OBSOLETE       case 146 : itype = FR30BF_INSN_OR;goto extract_sfmt_and;
+// OBSOLETE       case 147 : itype = FR30BF_INSN_ORCCR;goto extract_sfmt_andccr;
+// OBSOLETE       case 148 : itype = FR30BF_INSN_ORM;goto extract_sfmt_andm;
+// OBSOLETE       case 149 : itype = FR30BF_INSN_ORH;goto extract_sfmt_andh;
+// OBSOLETE       case 150 : itype = FR30BF_INSN_ORB;goto extract_sfmt_andb;
+// OBSOLETE       case 151 :
+// OBSOLETE         {
+// OBSOLETE           unsigned int val = (((insn >> 4) & (15 << 0)));
+// OBSOLETE           switch (val)
+// OBSOLETE           {
+// OBSOLETE           case 0 : itype = FR30BF_INSN_JMP;goto extract_sfmt_jmp;
+// OBSOLETE           case 1 : itype = FR30BF_INSN_CALLR;goto extract_sfmt_callr;
+// OBSOLETE           case 2 : itype = FR30BF_INSN_RET;goto extract_sfmt_ret;
+// OBSOLETE           case 3 : itype = FR30BF_INSN_RETI;goto extract_sfmt_reti;
+// OBSOLETE           case 4 : itype = FR30BF_INSN_DIV0S;goto extract_sfmt_div0s;
+// OBSOLETE           case 5 : itype = FR30BF_INSN_DIV0U;goto extract_sfmt_div0u;
+// OBSOLETE           case 6 : itype = FR30BF_INSN_DIV1;goto extract_sfmt_div1;
+// OBSOLETE           case 7 : itype = FR30BF_INSN_DIV2;goto extract_sfmt_div2;
+// OBSOLETE           case 8 : itype = FR30BF_INSN_EXTSB;goto extract_sfmt_extsb;
+// OBSOLETE           case 9 : itype = FR30BF_INSN_EXTUB;goto extract_sfmt_extub;
+// OBSOLETE           case 10 : itype = FR30BF_INSN_EXTSH;goto extract_sfmt_extsh;
+// OBSOLETE           case 11 : itype = FR30BF_INSN_EXTUH;goto extract_sfmt_extuh;
+// OBSOLETE           default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
+// OBSOLETE           }
+// OBSOLETE         }
+// OBSOLETE       case 152 : itype = FR30BF_INSN_BEORL;goto extract_sfmt_bandl;
+// OBSOLETE       case 153 : itype = FR30BF_INSN_BEORH;goto extract_sfmt_bandl;
+// OBSOLETE       case 154 : itype = FR30BF_INSN_EOR;goto extract_sfmt_and;
+// OBSOLETE       case 155 : itype = FR30BF_INSN_LDI20;goto extract_sfmt_ldi20;
+// OBSOLETE       case 156 : itype = FR30BF_INSN_EORM;goto extract_sfmt_andm;
+// OBSOLETE       case 157 : itype = FR30BF_INSN_EORH;goto extract_sfmt_andh;
+// OBSOLETE       case 158 : itype = FR30BF_INSN_EORB;goto extract_sfmt_andb;
+// OBSOLETE       case 159 :
+// OBSOLETE         {
+// OBSOLETE           unsigned int val = (((insn >> 4) & (15 << 0)));
+// OBSOLETE           switch (val)
+// OBSOLETE           {
+// OBSOLETE           case 0 : itype = FR30BF_INSN_JMPD;goto extract_sfmt_jmp;
+// OBSOLETE           case 1 : itype = FR30BF_INSN_CALLRD;goto extract_sfmt_callr;
+// OBSOLETE           case 2 : itype = FR30BF_INSN_RET_D;goto extract_sfmt_ret;
+// OBSOLETE           case 3 : itype = FR30BF_INSN_INTE;goto extract_sfmt_inte;
+// OBSOLETE           case 6 : itype = FR30BF_INSN_DIV3;goto extract_sfmt_div3;
+// OBSOLETE           case 7 : itype = FR30BF_INSN_DIV4S;goto extract_sfmt_div4s;
+// OBSOLETE           case 8 : itype = FR30BF_INSN_LDI32;goto extract_sfmt_ldi32;
+// OBSOLETE           case 9 : itype = FR30BF_INSN_LEAVE;goto extract_sfmt_leave;
+// OBSOLETE           case 10 : itype = FR30BF_INSN_NOP;goto extract_sfmt_bnod;
+// OBSOLETE           case 12 : itype = FR30BF_INSN_COPOP;goto extract_sfmt_copop;
+// OBSOLETE           case 13 : itype = FR30BF_INSN_COPLD;goto extract_sfmt_copop;
+// OBSOLETE           case 14 : itype = FR30BF_INSN_COPST;goto extract_sfmt_copop;
+// OBSOLETE           case 15 : itype = FR30BF_INSN_COPSV;goto extract_sfmt_copop;
+// OBSOLETE           default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
+// OBSOLETE           }
+// OBSOLETE         }
+// OBSOLETE       case 160 : itype = FR30BF_INSN_ADDNI;goto extract_sfmt_addni;
+// OBSOLETE       case 161 : itype = FR30BF_INSN_ADDN2;goto extract_sfmt_addn2;
+// OBSOLETE       case 162 : itype = FR30BF_INSN_ADDN;goto extract_sfmt_addn;
+// OBSOLETE       case 163 : itype = FR30BF_INSN_ADDSP;goto extract_sfmt_addsp;
+// OBSOLETE       case 164 : itype = FR30BF_INSN_ADDI;goto extract_sfmt_addi;
+// OBSOLETE       case 165 : itype = FR30BF_INSN_ADD2;goto extract_sfmt_add2;
+// OBSOLETE       case 166 : itype = FR30BF_INSN_ADD;goto extract_sfmt_add;
+// OBSOLETE       case 167 : itype = FR30BF_INSN_ADDC;goto extract_sfmt_addc;
+// OBSOLETE       case 168 : itype = FR30BF_INSN_CMPI;goto extract_sfmt_cmpi;
+// OBSOLETE       case 169 : itype = FR30BF_INSN_CMP2;goto extract_sfmt_cmp2;
+// OBSOLETE       case 170 : itype = FR30BF_INSN_CMP;goto extract_sfmt_cmp;
+// OBSOLETE       case 171 : itype = FR30BF_INSN_MULU;goto extract_sfmt_mulu;
+// OBSOLETE       case 172 : itype = FR30BF_INSN_SUB;goto extract_sfmt_add;
+// OBSOLETE       case 173 : itype = FR30BF_INSN_SUBC;goto extract_sfmt_addc;
+// OBSOLETE       case 174 : itype = FR30BF_INSN_SUBN;goto extract_sfmt_addn;
+// OBSOLETE       case 175 : itype = FR30BF_INSN_MUL;goto extract_sfmt_mul;
+// OBSOLETE       case 176 : itype = FR30BF_INSN_LSRI;goto extract_sfmt_lsli;
+// OBSOLETE       case 177 : itype = FR30BF_INSN_LSR2;goto extract_sfmt_lsli;
+// OBSOLETE       case 178 : itype = FR30BF_INSN_LSR;goto extract_sfmt_lsl;
+// OBSOLETE       case 179 : itype = FR30BF_INSN_MOV2DR;goto extract_sfmt_mov2dr;
+// OBSOLETE       case 180 : itype = FR30BF_INSN_LSLI;goto extract_sfmt_lsli;
+// OBSOLETE       case 181 : itype = FR30BF_INSN_LSL2;goto extract_sfmt_lsli;
+// OBSOLETE       case 182 : itype = FR30BF_INSN_LSL;goto extract_sfmt_lsl;
+// OBSOLETE       case 183 : itype = FR30BF_INSN_MOVDR;goto extract_sfmt_movdr;
+// OBSOLETE       case 184 : itype = FR30BF_INSN_ASRI;goto extract_sfmt_lsli;
+// OBSOLETE       case 185 : itype = FR30BF_INSN_ASR2;goto extract_sfmt_lsli;
+// OBSOLETE       case 186 : itype = FR30BF_INSN_ASR;goto extract_sfmt_lsl;
+// OBSOLETE       case 187 : itype = FR30BF_INSN_MULUH;goto extract_sfmt_mulh;
+// OBSOLETE       case 188 : itype = FR30BF_INSN_LDRES;goto extract_sfmt_ldres;
+// OBSOLETE       case 189 : itype = FR30BF_INSN_STRES;goto extract_sfmt_ldres;
+// OBSOLETE       case 191 : itype = FR30BF_INSN_MULH;goto extract_sfmt_mulh;
+// OBSOLETE       case 192 : /* fall through */
+// OBSOLETE       case 193 : /* fall through */
+// OBSOLETE       case 194 : /* fall through */
+// OBSOLETE       case 195 : /* fall through */
+// OBSOLETE       case 196 : /* fall through */
+// OBSOLETE       case 197 : /* fall through */
+// OBSOLETE       case 198 : /* fall through */
+// OBSOLETE       case 199 : /* fall through */
+// OBSOLETE       case 200 : /* fall through */
+// OBSOLETE       case 201 : /* fall through */
+// OBSOLETE       case 202 : /* fall through */
+// OBSOLETE       case 203 : /* fall through */
+// OBSOLETE       case 204 : /* fall through */
+// OBSOLETE       case 205 : /* fall through */
+// OBSOLETE       case 206 : /* fall through */
+// OBSOLETE       case 207 : itype = FR30BF_INSN_LDI8;goto extract_sfmt_ldi8;
+// OBSOLETE       case 208 : /* fall through */
+// OBSOLETE       case 209 : /* fall through */
+// OBSOLETE       case 210 : /* fall through */
+// OBSOLETE       case 211 : /* fall through */
+// OBSOLETE       case 212 : /* fall through */
+// OBSOLETE       case 213 : /* fall through */
+// OBSOLETE       case 214 : /* fall through */
+// OBSOLETE       case 215 : itype = FR30BF_INSN_CALL;goto extract_sfmt_call;
+// OBSOLETE       case 216 : /* fall through */
+// OBSOLETE       case 217 : /* fall through */
+// OBSOLETE       case 218 : /* fall through */
+// OBSOLETE       case 219 : /* fall through */
+// OBSOLETE       case 220 : /* fall through */
+// OBSOLETE       case 221 : /* fall through */
+// OBSOLETE       case 222 : /* fall through */
+// OBSOLETE       case 223 : itype = FR30BF_INSN_CALLD;goto extract_sfmt_call;
+// OBSOLETE       case 224 : itype = FR30BF_INSN_BRA;goto extract_sfmt_brad;
+// OBSOLETE       case 225 : itype = FR30BF_INSN_BNO;goto extract_sfmt_bnod;
+// OBSOLETE       case 226 : itype = FR30BF_INSN_BEQ;goto extract_sfmt_beqd;
+// OBSOLETE       case 227 : itype = FR30BF_INSN_BNE;goto extract_sfmt_beqd;
+// OBSOLETE       case 228 : itype = FR30BF_INSN_BC;goto extract_sfmt_bcd;
+// OBSOLETE       case 229 : itype = FR30BF_INSN_BNC;goto extract_sfmt_bcd;
+// OBSOLETE       case 230 : itype = FR30BF_INSN_BN;goto extract_sfmt_bnd;
+// OBSOLETE       case 231 : itype = FR30BF_INSN_BP;goto extract_sfmt_bnd;
+// OBSOLETE       case 232 : itype = FR30BF_INSN_BV;goto extract_sfmt_bvd;
+// OBSOLETE       case 233 : itype = FR30BF_INSN_BNV;goto extract_sfmt_bvd;
+// OBSOLETE       case 234 : itype = FR30BF_INSN_BLT;goto extract_sfmt_bltd;
+// OBSOLETE       case 235 : itype = FR30BF_INSN_BGE;goto extract_sfmt_bltd;
+// OBSOLETE       case 236 : itype = FR30BF_INSN_BLE;goto extract_sfmt_bled;
+// OBSOLETE       case 237 : itype = FR30BF_INSN_BGT;goto extract_sfmt_bled;
+// OBSOLETE       case 238 : itype = FR30BF_INSN_BLS;goto extract_sfmt_blsd;
+// OBSOLETE       case 239 : itype = FR30BF_INSN_BHI;goto extract_sfmt_blsd;
+// OBSOLETE       case 240 : itype = FR30BF_INSN_BRAD;goto extract_sfmt_brad;
+// OBSOLETE       case 241 : itype = FR30BF_INSN_BNOD;goto extract_sfmt_bnod;
+// OBSOLETE       case 242 : itype = FR30BF_INSN_BEQD;goto extract_sfmt_beqd;
+// OBSOLETE       case 243 : itype = FR30BF_INSN_BNED;goto extract_sfmt_beqd;
+// OBSOLETE       case 244 : itype = FR30BF_INSN_BCD;goto extract_sfmt_bcd;
+// OBSOLETE       case 245 : itype = FR30BF_INSN_BNCD;goto extract_sfmt_bcd;
+// OBSOLETE       case 246 : itype = FR30BF_INSN_BND;goto extract_sfmt_bnd;
+// OBSOLETE       case 247 : itype = FR30BF_INSN_BPD;goto extract_sfmt_bnd;
+// OBSOLETE       case 248 : itype = FR30BF_INSN_BVD;goto extract_sfmt_bvd;
+// OBSOLETE       case 249 : itype = FR30BF_INSN_BNVD;goto extract_sfmt_bvd;
+// OBSOLETE       case 250 : itype = FR30BF_INSN_BLTD;goto extract_sfmt_bltd;
+// OBSOLETE       case 251 : itype = FR30BF_INSN_BGED;goto extract_sfmt_bltd;
+// OBSOLETE       case 252 : itype = FR30BF_INSN_BLED;goto extract_sfmt_bled;
+// OBSOLETE       case 253 : itype = FR30BF_INSN_BGTD;goto extract_sfmt_bled;
+// OBSOLETE       case 254 : itype = FR30BF_INSN_BLSD;goto extract_sfmt_blsd;
+// OBSOLETE       case 255 : itype = FR30BF_INSN_BHID;goto extract_sfmt_blsd;
+// OBSOLETE       default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty;
+// OBSOLETE       }
+// OBSOLETE     }
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   /* The instruction has been decoded, now extract the fields.  */
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_empty:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_add:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_addi:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_u4) = f_u4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_add2:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     SI f_m4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_m4) = f_m4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_addc:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_addn:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_addni:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_u4) = f_u4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_addn2:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     SI f_m4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_m4) = f_m4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_cmp:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_cmpi:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_u4) = f_u4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_cmp2:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     SI f_m4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4))));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_m4) = f_m4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_and:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_andm:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_andh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_andb:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bandl:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_u4) = f_u4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_btstl:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_u4) = f_u4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_mul:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_mulu:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_mulh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_div0s:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_div0u:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_div1:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_div2:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_div3:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_div4s:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_lsl:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_lsli:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE     UINT f_u4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_u4) = f_u4;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldi8:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f
+// OBSOLETE     UINT f_i8;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_i8) = f_i8;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldi20:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f
+// OBSOLETE     UINT f_i20_16;
+// OBSOLETE     UINT f_i20_4;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     UINT f_i20;
+// OBSOLETE     /* Contents of trailing part of insn.  */
+// OBSOLETE     UINT word_1;
+// OBSOLETE 
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2);
+// OBSOLETE     f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0));
+// OBSOLETE     f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE {
+// OBSOLETE   f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_i20) = f_i20;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldi32:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f
+// OBSOLETE     UINT f_i32;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE     /* Contents of trailing part of insn.  */
+// OBSOLETE     UINT word_1;
+// OBSOLETE     UINT word_2;
+// OBSOLETE 
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2);
+// OBSOLETE   word_2 = GETIMEMUHI (current_cpu, pc + 4);
+// OBSOLETE     f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_i32) = f_i32;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ld:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_lduh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldub:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr13:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr13uh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13uh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr13ub:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13ub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr14:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f
+// OBSOLETE     SI f_disp10;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_disp10) = f_disp10;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr14uh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f
+// OBSOLETE     SI f_disp9;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_disp9) = f_disp9;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr14ub:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f
+// OBSOLETE     INT f_disp8;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_disp8) = f_disp8;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr15:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f
+// OBSOLETE     USI f_udisp6;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_udisp6) = f_udisp6;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr15gr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr15dr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE     UINT f_Rs2;
+// OBSOLETE 
+// OBSOLETE     f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rs2) = f_Rs2;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldr15ps:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15ps", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_st:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_sth:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_stb:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str13:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str13h:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13h", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str13b:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13b", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str14:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f
+// OBSOLETE     SI f_disp10;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_disp10) = f_disp10;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri, "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str14h:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f
+// OBSOLETE     SI f_disp9;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_disp9) = f_disp9;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri, "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str14b:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f
+// OBSOLETE     INT f_disp8;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_disp8) = f_disp8;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri, "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str15:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f
+// OBSOLETE     USI f_udisp6;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2));
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_udisp6) = f_udisp6;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri, "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str15gr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str15dr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE     UINT f_Rs2;
+// OBSOLETE 
+// OBSOLETE     f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rs2) = f_Rs2;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_str15ps:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15ps", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_mov:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_movdr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE     UINT f_Rs1;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Rs1) = f_Rs1;
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_movps:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_mov2dr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Rs1;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rs1) = f_Rs1;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri, "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_mov2ps:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_jmp:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_callr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_call:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE     SI f_rel12;
+// OBSOLETE 
+// OBSOLETE     f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label12) = f_rel12;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label12 0x%x", 'x', f_rel12, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ret:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_int:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE     UINT f_u8;
+// OBSOLETE 
+// OBSOLETE     f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_u8) = f_u8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_int", "f_u8 0x%x", 'x', f_u8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_inte:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_inte", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_reti:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_reti", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_brad:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brad", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bnod:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnod", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_beqd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqd", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bcd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcd", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bnd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnd", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bvd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bvd", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bltd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bltd", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_bled:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bled", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_blsd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE     SI f_rel9;
+// OBSOLETE 
+// OBSOLETE     f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2))));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (i_label9) = f_rel9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blsd", "label9 0x%x", 'x', f_rel9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr13:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE     USI f_dir10;
+// OBSOLETE 
+// OBSOLETE     f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir10) = f_dir10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr13h:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE     USI f_dir9;
+// OBSOLETE 
+// OBSOLETE     f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir9) = f_dir9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr13b:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE     UINT f_dir8;
+// OBSOLETE 
+// OBSOLETE     f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir8) = f_dir8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr13pi:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE     USI f_dir10;
+// OBSOLETE 
+// OBSOLETE     f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir10) = f_dir10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr13pih:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE     USI f_dir9;
+// OBSOLETE 
+// OBSOLETE     f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir9) = f_dir9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr13pib:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE     UINT f_dir8;
+// OBSOLETE 
+// OBSOLETE     f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir8) = f_dir8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmovr15pi:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE     USI f_dir10;
+// OBSOLETE 
+// OBSOLETE     f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir10) = f_dir10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r13:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE     USI f_dir10;
+// OBSOLETE 
+// OBSOLETE     f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir10) = f_dir10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r13h:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE     USI f_dir9;
+// OBSOLETE 
+// OBSOLETE     f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir9) = f_dir9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r13b:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE     UINT f_dir8;
+// OBSOLETE 
+// OBSOLETE     f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir8) = f_dir8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r13pi:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE     USI f_dir10;
+// OBSOLETE 
+// OBSOLETE     f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir10) = f_dir10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r13pih:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE     USI f_dir9;
+// OBSOLETE 
+// OBSOLETE     f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir9) = f_dir9;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r13pib:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE     UINT f_dir8;
+// OBSOLETE 
+// OBSOLETE     f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir8) = f_dir8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_dmov2r15pd:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE     USI f_dir10;
+// OBSOLETE 
+// OBSOLETE     f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_dir10) = f_dir10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldres:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_copop:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE     /* Contents of trailing part of insn.  */
+// OBSOLETE     UINT word_1;
+// OBSOLETE 
+// OBSOLETE   word_1 = GETIMEMUHI (current_cpu, pc + 2);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_copop", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_andccr:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE     UINT f_u8;
+// OBSOLETE 
+// OBSOLETE     f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_u8) = f_u8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_stilm:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE     UINT f_u8;
+// OBSOLETE 
+// OBSOLETE     f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_u8) = f_u8;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_addsp:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE     SI f_s10;
+// OBSOLETE 
+// OBSOLETE     f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_s10) = f_s10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_extsb:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_extub:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_extsh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_extuh:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldm0:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f
+// OBSOLETE     UINT f_reglist_low_ld;
+// OBSOLETE 
+// OBSOLETE     f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_reglist_low_ld) = f_reglist_low_ld;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_0) = 0;
+// OBSOLETE       FLD (out_h_gr_SI_1) = 1;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_2) = 2;
+// OBSOLETE       FLD (out_h_gr_SI_3) = 3;
+// OBSOLETE       FLD (out_h_gr_SI_4) = 4;
+// OBSOLETE       FLD (out_h_gr_SI_5) = 5;
+// OBSOLETE       FLD (out_h_gr_SI_6) = 6;
+// OBSOLETE       FLD (out_h_gr_SI_7) = 7;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_ldm1:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f
+// OBSOLETE     UINT f_reglist_hi_ld;
+// OBSOLETE 
+// OBSOLETE     f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_reglist_hi_ld) = f_reglist_hi_ld;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_10) = 10;
+// OBSOLETE       FLD (out_h_gr_SI_11) = 11;
+// OBSOLETE       FLD (out_h_gr_SI_12) = 12;
+// OBSOLETE       FLD (out_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (out_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_8) = 8;
+// OBSOLETE       FLD (out_h_gr_SI_9) = 9;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_stm0:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f
+// OBSOLETE     UINT f_reglist_low_st;
+// OBSOLETE 
+// OBSOLETE     f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_reglist_low_st) = f_reglist_low_st;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_0) = 0;
+// OBSOLETE       FLD (in_h_gr_SI_1) = 1;
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (in_h_gr_SI_2) = 2;
+// OBSOLETE       FLD (in_h_gr_SI_3) = 3;
+// OBSOLETE       FLD (in_h_gr_SI_4) = 4;
+// OBSOLETE       FLD (in_h_gr_SI_5) = 5;
+// OBSOLETE       FLD (in_h_gr_SI_6) = 6;
+// OBSOLETE       FLD (in_h_gr_SI_7) = 7;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_stm1:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f
+// OBSOLETE     UINT f_reglist_hi_st;
+// OBSOLETE 
+// OBSOLETE     f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_reglist_hi_st) = f_reglist_hi_st;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_10) = 10;
+// OBSOLETE       FLD (in_h_gr_SI_11) = 11;
+// OBSOLETE       FLD (in_h_gr_SI_12) = 12;
+// OBSOLETE       FLD (in_h_gr_SI_13) = 13;
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (in_h_gr_SI_8) = 8;
+// OBSOLETE       FLD (in_h_gr_SI_9) = 9;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_enter:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE     USI f_u10;
+// OBSOLETE 
+// OBSOLETE     f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_u10) = f_u10;
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_enter", "f_u10 0x%x", 'x', f_u10, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_leave:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_leave", (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (in_h_gr_SI_15) = 15;
+// OBSOLETE       FLD (out_h_gr_SI_14) = 14;
+// OBSOLETE       FLD (out_h_gr_SI_15) = 15;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE  extract_sfmt_xchb:
+// OBSOLETE   {
+// OBSOLETE     const IDESC *idesc = &fr30bf_insn_data[itype];
+// OBSOLETE     CGEN_INSN_INT insn = base_insn;
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE     UINT f_Rj;
+// OBSOLETE     UINT f_Ri;
+// OBSOLETE 
+// OBSOLETE     f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
+// OBSOLETE     f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
+// OBSOLETE 
+// OBSOLETE   /* Record the fields for the semantic handler.  */
+// OBSOLETE   FLD (f_Ri) = f_Ri;
+// OBSOLETE   FLD (f_Rj) = f_Rj;
+// OBSOLETE   FLD (i_Ri) = & CPU (h_gr)[f_Ri];
+// OBSOLETE   FLD (i_Rj) = & CPU (h_gr)[f_Rj];
+// OBSOLETE   TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0));
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE   /* Record the fields for profiling.  */
+// OBSOLETE   if (PROFILE_MODEL_P (current_cpu))
+// OBSOLETE     {
+// OBSOLETE       FLD (in_Ri) = f_Ri;
+// OBSOLETE       FLD (in_Rj) = f_Rj;
+// OBSOLETE       FLD (out_Ri) = f_Ri;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE #undef FLD
+// OBSOLETE     return idesc;
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE }
index 65f6181..452c3f9 100644 (file)
-/* Decode header for fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef FR30BF_DECODE_H
-#define FR30BF_DECODE_H
-
-extern const IDESC *fr30bf_decode (SIM_CPU *, IADDR,
-                                  CGEN_INSN_INT,
-                                  ARGBUF *);
-extern void fr30bf_init_idesc_table (SIM_CPU *);
-extern void fr30bf_sem_init_idesc_table (SIM_CPU *);
-extern void fr30bf_semf_init_idesc_table (SIM_CPU *);
-
-/* Enum declaration for instructions in cpu family fr30bf.  */
-typedef enum fr30bf_insn_type {
-  FR30BF_INSN_X_INVALID, FR30BF_INSN_X_AFTER, FR30BF_INSN_X_BEFORE, FR30BF_INSN_X_CTI_CHAIN
- , FR30BF_INSN_X_CHAIN, FR30BF_INSN_X_BEGIN, FR30BF_INSN_ADD, FR30BF_INSN_ADDI
- , FR30BF_INSN_ADD2, FR30BF_INSN_ADDC, FR30BF_INSN_ADDN, FR30BF_INSN_ADDNI
- , FR30BF_INSN_ADDN2, FR30BF_INSN_SUB, FR30BF_INSN_SUBC, FR30BF_INSN_SUBN
- , FR30BF_INSN_CMP, FR30BF_INSN_CMPI, FR30BF_INSN_CMP2, FR30BF_INSN_AND
- , FR30BF_INSN_OR, FR30BF_INSN_EOR, FR30BF_INSN_ANDM, FR30BF_INSN_ANDH
- , FR30BF_INSN_ANDB, FR30BF_INSN_ORM, FR30BF_INSN_ORH, FR30BF_INSN_ORB
- , FR30BF_INSN_EORM, FR30BF_INSN_EORH, FR30BF_INSN_EORB, FR30BF_INSN_BANDL
- , FR30BF_INSN_BORL, FR30BF_INSN_BEORL, FR30BF_INSN_BANDH, FR30BF_INSN_BORH
- , FR30BF_INSN_BEORH, FR30BF_INSN_BTSTL, FR30BF_INSN_BTSTH, FR30BF_INSN_MUL
- , FR30BF_INSN_MULU, FR30BF_INSN_MULH, FR30BF_INSN_MULUH, FR30BF_INSN_DIV0S
- , FR30BF_INSN_DIV0U, FR30BF_INSN_DIV1, FR30BF_INSN_DIV2, FR30BF_INSN_DIV3
- , FR30BF_INSN_DIV4S, FR30BF_INSN_LSL, FR30BF_INSN_LSLI, FR30BF_INSN_LSL2
- , FR30BF_INSN_LSR, FR30BF_INSN_LSRI, FR30BF_INSN_LSR2, FR30BF_INSN_ASR
- , FR30BF_INSN_ASRI, FR30BF_INSN_ASR2, FR30BF_INSN_LDI8, FR30BF_INSN_LDI20
- , FR30BF_INSN_LDI32, FR30BF_INSN_LD, FR30BF_INSN_LDUH, FR30BF_INSN_LDUB
- , FR30BF_INSN_LDR13, FR30BF_INSN_LDR13UH, FR30BF_INSN_LDR13UB, FR30BF_INSN_LDR14
- , FR30BF_INSN_LDR14UH, FR30BF_INSN_LDR14UB, FR30BF_INSN_LDR15, FR30BF_INSN_LDR15GR
- , FR30BF_INSN_LDR15DR, FR30BF_INSN_LDR15PS, FR30BF_INSN_ST, FR30BF_INSN_STH
- , FR30BF_INSN_STB, FR30BF_INSN_STR13, FR30BF_INSN_STR13H, FR30BF_INSN_STR13B
- , FR30BF_INSN_STR14, FR30BF_INSN_STR14H, FR30BF_INSN_STR14B, FR30BF_INSN_STR15
- , FR30BF_INSN_STR15GR, FR30BF_INSN_STR15DR, FR30BF_INSN_STR15PS, FR30BF_INSN_MOV
- , FR30BF_INSN_MOVDR, FR30BF_INSN_MOVPS, FR30BF_INSN_MOV2DR, FR30BF_INSN_MOV2PS
- , FR30BF_INSN_JMP, FR30BF_INSN_JMPD, FR30BF_INSN_CALLR, FR30BF_INSN_CALLRD
- , FR30BF_INSN_CALL, FR30BF_INSN_CALLD, FR30BF_INSN_RET, FR30BF_INSN_RET_D
- , FR30BF_INSN_INT, FR30BF_INSN_INTE, FR30BF_INSN_RETI, FR30BF_INSN_BRAD
- , FR30BF_INSN_BRA, FR30BF_INSN_BNOD, FR30BF_INSN_BNO, FR30BF_INSN_BEQD
- , FR30BF_INSN_BEQ, FR30BF_INSN_BNED, FR30BF_INSN_BNE, FR30BF_INSN_BCD
- , FR30BF_INSN_BC, FR30BF_INSN_BNCD, FR30BF_INSN_BNC, FR30BF_INSN_BND
- , FR30BF_INSN_BN, FR30BF_INSN_BPD, FR30BF_INSN_BP, FR30BF_INSN_BVD
- , FR30BF_INSN_BV, FR30BF_INSN_BNVD, FR30BF_INSN_BNV, FR30BF_INSN_BLTD
- , FR30BF_INSN_BLT, FR30BF_INSN_BGED, FR30BF_INSN_BGE, FR30BF_INSN_BLED
- , FR30BF_INSN_BLE, FR30BF_INSN_BGTD, FR30BF_INSN_BGT, FR30BF_INSN_BLSD
- , FR30BF_INSN_BLS, FR30BF_INSN_BHID, FR30BF_INSN_BHI, FR30BF_INSN_DMOVR13
- , FR30BF_INSN_DMOVR13H, FR30BF_INSN_DMOVR13B, FR30BF_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PIH
- , FR30BF_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR15PI, FR30BF_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13H
- , FR30BF_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIB
- , FR30BF_INSN_DMOV2R15PD, FR30BF_INSN_LDRES, FR30BF_INSN_STRES, FR30BF_INSN_COPOP
- , FR30BF_INSN_COPLD, FR30BF_INSN_COPST, FR30BF_INSN_COPSV, FR30BF_INSN_NOP
- , FR30BF_INSN_ANDCCR, FR30BF_INSN_ORCCR, FR30BF_INSN_STILM, FR30BF_INSN_ADDSP
- , FR30BF_INSN_EXTSB, FR30BF_INSN_EXTUB, FR30BF_INSN_EXTSH, FR30BF_INSN_EXTUH
- , FR30BF_INSN_LDM0, FR30BF_INSN_LDM1, FR30BF_INSN_STM0, FR30BF_INSN_STM1
- , FR30BF_INSN_ENTER, FR30BF_INSN_LEAVE, FR30BF_INSN_XCHB, FR30BF_INSN_MAX
-} FR30BF_INSN_TYPE;
-
-/* Enum declaration for semantic formats in cpu family fr30bf.  */
-typedef enum fr30bf_sfmt_type {
-  FR30BF_SFMT_EMPTY, FR30BF_SFMT_ADD, FR30BF_SFMT_ADDI, FR30BF_SFMT_ADD2
- , FR30BF_SFMT_ADDC, FR30BF_SFMT_ADDN, FR30BF_SFMT_ADDNI, FR30BF_SFMT_ADDN2
- , FR30BF_SFMT_CMP, FR30BF_SFMT_CMPI, FR30BF_SFMT_CMP2, FR30BF_SFMT_AND
- , FR30BF_SFMT_ANDM, FR30BF_SFMT_ANDH, FR30BF_SFMT_ANDB, FR30BF_SFMT_BANDL
- , FR30BF_SFMT_BTSTL, FR30BF_SFMT_MUL, FR30BF_SFMT_MULU, FR30BF_SFMT_MULH
- , FR30BF_SFMT_DIV0S, FR30BF_SFMT_DIV0U, FR30BF_SFMT_DIV1, FR30BF_SFMT_DIV2
- , FR30BF_SFMT_DIV3, FR30BF_SFMT_DIV4S, FR30BF_SFMT_LSL, FR30BF_SFMT_LSLI
- , FR30BF_SFMT_LDI8, FR30BF_SFMT_LDI20, FR30BF_SFMT_LDI32, FR30BF_SFMT_LD
- , FR30BF_SFMT_LDUH, FR30BF_SFMT_LDUB, FR30BF_SFMT_LDR13, FR30BF_SFMT_LDR13UH
- , FR30BF_SFMT_LDR13UB, FR30BF_SFMT_LDR14, FR30BF_SFMT_LDR14UH, FR30BF_SFMT_LDR14UB
- , FR30BF_SFMT_LDR15, FR30BF_SFMT_LDR15GR, FR30BF_SFMT_LDR15DR, FR30BF_SFMT_LDR15PS
- , FR30BF_SFMT_ST, FR30BF_SFMT_STH, FR30BF_SFMT_STB, FR30BF_SFMT_STR13
- , FR30BF_SFMT_STR13H, FR30BF_SFMT_STR13B, FR30BF_SFMT_STR14, FR30BF_SFMT_STR14H
- , FR30BF_SFMT_STR14B, FR30BF_SFMT_STR15, FR30BF_SFMT_STR15GR, FR30BF_SFMT_STR15DR
- , FR30BF_SFMT_STR15PS, FR30BF_SFMT_MOV, FR30BF_SFMT_MOVDR, FR30BF_SFMT_MOVPS
- , FR30BF_SFMT_MOV2DR, FR30BF_SFMT_MOV2PS, FR30BF_SFMT_JMP, FR30BF_SFMT_CALLR
- , FR30BF_SFMT_CALL, FR30BF_SFMT_RET, FR30BF_SFMT_INT, FR30BF_SFMT_INTE
- , FR30BF_SFMT_RETI, FR30BF_SFMT_BRAD, FR30BF_SFMT_BNOD, FR30BF_SFMT_BEQD
- , FR30BF_SFMT_BCD, FR30BF_SFMT_BND, FR30BF_SFMT_BVD, FR30BF_SFMT_BLTD
- , FR30BF_SFMT_BLED, FR30BF_SFMT_BLSD, FR30BF_SFMT_DMOVR13, FR30BF_SFMT_DMOVR13H
- , FR30BF_SFMT_DMOVR13B, FR30BF_SFMT_DMOVR13PI, FR30BF_SFMT_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIB
- , FR30BF_SFMT_DMOVR15PI, FR30BF_SFMT_DMOV2R13, FR30BF_SFMT_DMOV2R13H, FR30BF_SFMT_DMOV2R13B
- , FR30BF_SFMT_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIB, FR30BF_SFMT_DMOV2R15PD
- , FR30BF_SFMT_LDRES, FR30BF_SFMT_COPOP, FR30BF_SFMT_ANDCCR, FR30BF_SFMT_STILM
- , FR30BF_SFMT_ADDSP, FR30BF_SFMT_EXTSB, FR30BF_SFMT_EXTUB, FR30BF_SFMT_EXTSH
- , FR30BF_SFMT_EXTUH, FR30BF_SFMT_LDM0, FR30BF_SFMT_LDM1, FR30BF_SFMT_STM0
- , FR30BF_SFMT_STM1, FR30BF_SFMT_ENTER, FR30BF_SFMT_LEAVE, FR30BF_SFMT_XCHB
-} FR30BF_SFMT_TYPE;
-
-/* Function unit handlers (user written).  */
-
-extern int fr30bf_model_fr30_1_u_stm (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*reglist*/);
-extern int fr30bf_model_fr30_1_u_ldm (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*reglist*/);
-extern int fr30bf_model_fr30_1_u_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/, INT /*Rj*/);
-extern int fr30bf_model_fr30_1_u_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Rj*/, INT /*Ri*/);
-extern int fr30bf_model_fr30_1_u_cti (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/);
-extern int fr30bf_model_fr30_1_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/, INT /*Rj*/, INT /*Ri*/);
-
-/* Profiling before/after handlers (user written) */
-
-extern void fr30bf_model_insn_before (SIM_CPU *, int /*first_p*/);
-extern void fr30bf_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/);
-
-#endif /* FR30BF_DECODE_H */
+// OBSOLETE /* Decode header for fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #ifndef FR30BF_DECODE_H
+// OBSOLETE #define FR30BF_DECODE_H
+// OBSOLETE 
+// OBSOLETE extern const IDESC *fr30bf_decode (SIM_CPU *, IADDR,
+// OBSOLETE                                   CGEN_INSN_INT,
+// OBSOLETE                                   ARGBUF *);
+// OBSOLETE extern void fr30bf_init_idesc_table (SIM_CPU *);
+// OBSOLETE extern void fr30bf_sem_init_idesc_table (SIM_CPU *);
+// OBSOLETE extern void fr30bf_semf_init_idesc_table (SIM_CPU *);
+// OBSOLETE 
+// OBSOLETE /* Enum declaration for instructions in cpu family fr30bf.  */
+// OBSOLETE typedef enum fr30bf_insn_type {
+// OBSOLETE   FR30BF_INSN_X_INVALID, FR30BF_INSN_X_AFTER, FR30BF_INSN_X_BEFORE, FR30BF_INSN_X_CTI_CHAIN
+// OBSOLETE  , FR30BF_INSN_X_CHAIN, FR30BF_INSN_X_BEGIN, FR30BF_INSN_ADD, FR30BF_INSN_ADDI
+// OBSOLETE  , FR30BF_INSN_ADD2, FR30BF_INSN_ADDC, FR30BF_INSN_ADDN, FR30BF_INSN_ADDNI
+// OBSOLETE  , FR30BF_INSN_ADDN2, FR30BF_INSN_SUB, FR30BF_INSN_SUBC, FR30BF_INSN_SUBN
+// OBSOLETE  , FR30BF_INSN_CMP, FR30BF_INSN_CMPI, FR30BF_INSN_CMP2, FR30BF_INSN_AND
+// OBSOLETE  , FR30BF_INSN_OR, FR30BF_INSN_EOR, FR30BF_INSN_ANDM, FR30BF_INSN_ANDH
+// OBSOLETE  , FR30BF_INSN_ANDB, FR30BF_INSN_ORM, FR30BF_INSN_ORH, FR30BF_INSN_ORB
+// OBSOLETE  , FR30BF_INSN_EORM, FR30BF_INSN_EORH, FR30BF_INSN_EORB, FR30BF_INSN_BANDL
+// OBSOLETE  , FR30BF_INSN_BORL, FR30BF_INSN_BEORL, FR30BF_INSN_BANDH, FR30BF_INSN_BORH
+// OBSOLETE  , FR30BF_INSN_BEORH, FR30BF_INSN_BTSTL, FR30BF_INSN_BTSTH, FR30BF_INSN_MUL
+// OBSOLETE  , FR30BF_INSN_MULU, FR30BF_INSN_MULH, FR30BF_INSN_MULUH, FR30BF_INSN_DIV0S
+// OBSOLETE  , FR30BF_INSN_DIV0U, FR30BF_INSN_DIV1, FR30BF_INSN_DIV2, FR30BF_INSN_DIV3
+// OBSOLETE  , FR30BF_INSN_DIV4S, FR30BF_INSN_LSL, FR30BF_INSN_LSLI, FR30BF_INSN_LSL2
+// OBSOLETE  , FR30BF_INSN_LSR, FR30BF_INSN_LSRI, FR30BF_INSN_LSR2, FR30BF_INSN_ASR
+// OBSOLETE  , FR30BF_INSN_ASRI, FR30BF_INSN_ASR2, FR30BF_INSN_LDI8, FR30BF_INSN_LDI20
+// OBSOLETE  , FR30BF_INSN_LDI32, FR30BF_INSN_LD, FR30BF_INSN_LDUH, FR30BF_INSN_LDUB
+// OBSOLETE  , FR30BF_INSN_LDR13, FR30BF_INSN_LDR13UH, FR30BF_INSN_LDR13UB, FR30BF_INSN_LDR14
+// OBSOLETE  , FR30BF_INSN_LDR14UH, FR30BF_INSN_LDR14UB, FR30BF_INSN_LDR15, FR30BF_INSN_LDR15GR
+// OBSOLETE  , FR30BF_INSN_LDR15DR, FR30BF_INSN_LDR15PS, FR30BF_INSN_ST, FR30BF_INSN_STH
+// OBSOLETE  , FR30BF_INSN_STB, FR30BF_INSN_STR13, FR30BF_INSN_STR13H, FR30BF_INSN_STR13B
+// OBSOLETE  , FR30BF_INSN_STR14, FR30BF_INSN_STR14H, FR30BF_INSN_STR14B, FR30BF_INSN_STR15
+// OBSOLETE  , FR30BF_INSN_STR15GR, FR30BF_INSN_STR15DR, FR30BF_INSN_STR15PS, FR30BF_INSN_MOV
+// OBSOLETE  , FR30BF_INSN_MOVDR, FR30BF_INSN_MOVPS, FR30BF_INSN_MOV2DR, FR30BF_INSN_MOV2PS
+// OBSOLETE  , FR30BF_INSN_JMP, FR30BF_INSN_JMPD, FR30BF_INSN_CALLR, FR30BF_INSN_CALLRD
+// OBSOLETE  , FR30BF_INSN_CALL, FR30BF_INSN_CALLD, FR30BF_INSN_RET, FR30BF_INSN_RET_D
+// OBSOLETE  , FR30BF_INSN_INT, FR30BF_INSN_INTE, FR30BF_INSN_RETI, FR30BF_INSN_BRAD
+// OBSOLETE  , FR30BF_INSN_BRA, FR30BF_INSN_BNOD, FR30BF_INSN_BNO, FR30BF_INSN_BEQD
+// OBSOLETE  , FR30BF_INSN_BEQ, FR30BF_INSN_BNED, FR30BF_INSN_BNE, FR30BF_INSN_BCD
+// OBSOLETE  , FR30BF_INSN_BC, FR30BF_INSN_BNCD, FR30BF_INSN_BNC, FR30BF_INSN_BND
+// OBSOLETE  , FR30BF_INSN_BN, FR30BF_INSN_BPD, FR30BF_INSN_BP, FR30BF_INSN_BVD
+// OBSOLETE  , FR30BF_INSN_BV, FR30BF_INSN_BNVD, FR30BF_INSN_BNV, FR30BF_INSN_BLTD
+// OBSOLETE  , FR30BF_INSN_BLT, FR30BF_INSN_BGED, FR30BF_INSN_BGE, FR30BF_INSN_BLED
+// OBSOLETE  , FR30BF_INSN_BLE, FR30BF_INSN_BGTD, FR30BF_INSN_BGT, FR30BF_INSN_BLSD
+// OBSOLETE  , FR30BF_INSN_BLS, FR30BF_INSN_BHID, FR30BF_INSN_BHI, FR30BF_INSN_DMOVR13
+// OBSOLETE  , FR30BF_INSN_DMOVR13H, FR30BF_INSN_DMOVR13B, FR30BF_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PIH
+// OBSOLETE  , FR30BF_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR15PI, FR30BF_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13H
+// OBSOLETE  , FR30BF_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIB
+// OBSOLETE  , FR30BF_INSN_DMOV2R15PD, FR30BF_INSN_LDRES, FR30BF_INSN_STRES, FR30BF_INSN_COPOP
+// OBSOLETE  , FR30BF_INSN_COPLD, FR30BF_INSN_COPST, FR30BF_INSN_COPSV, FR30BF_INSN_NOP
+// OBSOLETE  , FR30BF_INSN_ANDCCR, FR30BF_INSN_ORCCR, FR30BF_INSN_STILM, FR30BF_INSN_ADDSP
+// OBSOLETE  , FR30BF_INSN_EXTSB, FR30BF_INSN_EXTUB, FR30BF_INSN_EXTSH, FR30BF_INSN_EXTUH
+// OBSOLETE  , FR30BF_INSN_LDM0, FR30BF_INSN_LDM1, FR30BF_INSN_STM0, FR30BF_INSN_STM1
+// OBSOLETE  , FR30BF_INSN_ENTER, FR30BF_INSN_LEAVE, FR30BF_INSN_XCHB, FR30BF_INSN_MAX
+// OBSOLETE } FR30BF_INSN_TYPE;
+// OBSOLETE 
+// OBSOLETE /* Enum declaration for semantic formats in cpu family fr30bf.  */
+// OBSOLETE typedef enum fr30bf_sfmt_type {
+// OBSOLETE   FR30BF_SFMT_EMPTY, FR30BF_SFMT_ADD, FR30BF_SFMT_ADDI, FR30BF_SFMT_ADD2
+// OBSOLETE  , FR30BF_SFMT_ADDC, FR30BF_SFMT_ADDN, FR30BF_SFMT_ADDNI, FR30BF_SFMT_ADDN2
+// OBSOLETE  , FR30BF_SFMT_CMP, FR30BF_SFMT_CMPI, FR30BF_SFMT_CMP2, FR30BF_SFMT_AND
+// OBSOLETE  , FR30BF_SFMT_ANDM, FR30BF_SFMT_ANDH, FR30BF_SFMT_ANDB, FR30BF_SFMT_BANDL
+// OBSOLETE  , FR30BF_SFMT_BTSTL, FR30BF_SFMT_MUL, FR30BF_SFMT_MULU, FR30BF_SFMT_MULH
+// OBSOLETE  , FR30BF_SFMT_DIV0S, FR30BF_SFMT_DIV0U, FR30BF_SFMT_DIV1, FR30BF_SFMT_DIV2
+// OBSOLETE  , FR30BF_SFMT_DIV3, FR30BF_SFMT_DIV4S, FR30BF_SFMT_LSL, FR30BF_SFMT_LSLI
+// OBSOLETE  , FR30BF_SFMT_LDI8, FR30BF_SFMT_LDI20, FR30BF_SFMT_LDI32, FR30BF_SFMT_LD
+// OBSOLETE  , FR30BF_SFMT_LDUH, FR30BF_SFMT_LDUB, FR30BF_SFMT_LDR13, FR30BF_SFMT_LDR13UH
+// OBSOLETE  , FR30BF_SFMT_LDR13UB, FR30BF_SFMT_LDR14, FR30BF_SFMT_LDR14UH, FR30BF_SFMT_LDR14UB
+// OBSOLETE  , FR30BF_SFMT_LDR15, FR30BF_SFMT_LDR15GR, FR30BF_SFMT_LDR15DR, FR30BF_SFMT_LDR15PS
+// OBSOLETE  , FR30BF_SFMT_ST, FR30BF_SFMT_STH, FR30BF_SFMT_STB, FR30BF_SFMT_STR13
+// OBSOLETE  , FR30BF_SFMT_STR13H, FR30BF_SFMT_STR13B, FR30BF_SFMT_STR14, FR30BF_SFMT_STR14H
+// OBSOLETE  , FR30BF_SFMT_STR14B, FR30BF_SFMT_STR15, FR30BF_SFMT_STR15GR, FR30BF_SFMT_STR15DR
+// OBSOLETE  , FR30BF_SFMT_STR15PS, FR30BF_SFMT_MOV, FR30BF_SFMT_MOVDR, FR30BF_SFMT_MOVPS
+// OBSOLETE  , FR30BF_SFMT_MOV2DR, FR30BF_SFMT_MOV2PS, FR30BF_SFMT_JMP, FR30BF_SFMT_CALLR
+// OBSOLETE  , FR30BF_SFMT_CALL, FR30BF_SFMT_RET, FR30BF_SFMT_INT, FR30BF_SFMT_INTE
+// OBSOLETE  , FR30BF_SFMT_RETI, FR30BF_SFMT_BRAD, FR30BF_SFMT_BNOD, FR30BF_SFMT_BEQD
+// OBSOLETE  , FR30BF_SFMT_BCD, FR30BF_SFMT_BND, FR30BF_SFMT_BVD, FR30BF_SFMT_BLTD
+// OBSOLETE  , FR30BF_SFMT_BLED, FR30BF_SFMT_BLSD, FR30BF_SFMT_DMOVR13, FR30BF_SFMT_DMOVR13H
+// OBSOLETE  , FR30BF_SFMT_DMOVR13B, FR30BF_SFMT_DMOVR13PI, FR30BF_SFMT_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIB
+// OBSOLETE  , FR30BF_SFMT_DMOVR15PI, FR30BF_SFMT_DMOV2R13, FR30BF_SFMT_DMOV2R13H, FR30BF_SFMT_DMOV2R13B
+// OBSOLETE  , FR30BF_SFMT_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIB, FR30BF_SFMT_DMOV2R15PD
+// OBSOLETE  , FR30BF_SFMT_LDRES, FR30BF_SFMT_COPOP, FR30BF_SFMT_ANDCCR, FR30BF_SFMT_STILM
+// OBSOLETE  , FR30BF_SFMT_ADDSP, FR30BF_SFMT_EXTSB, FR30BF_SFMT_EXTUB, FR30BF_SFMT_EXTSH
+// OBSOLETE  , FR30BF_SFMT_EXTUH, FR30BF_SFMT_LDM0, FR30BF_SFMT_LDM1, FR30BF_SFMT_STM0
+// OBSOLETE  , FR30BF_SFMT_STM1, FR30BF_SFMT_ENTER, FR30BF_SFMT_LEAVE, FR30BF_SFMT_XCHB
+// OBSOLETE } FR30BF_SFMT_TYPE;
+// OBSOLETE 
+// OBSOLETE /* Function unit handlers (user written).  */
+// OBSOLETE 
+// OBSOLETE extern int fr30bf_model_fr30_1_u_stm (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*reglist*/);
+// OBSOLETE extern int fr30bf_model_fr30_1_u_ldm (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*reglist*/);
+// OBSOLETE extern int fr30bf_model_fr30_1_u_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/, INT /*Rj*/);
+// OBSOLETE extern int fr30bf_model_fr30_1_u_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Rj*/, INT /*Ri*/);
+// OBSOLETE extern int fr30bf_model_fr30_1_u_cti (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/);
+// OBSOLETE extern int fr30bf_model_fr30_1_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/, INT /*Rj*/, INT /*Ri*/);
+// OBSOLETE 
+// OBSOLETE /* Profiling before/after handlers (user written) */
+// OBSOLETE 
+// OBSOLETE extern void fr30bf_model_insn_before (SIM_CPU *, int /*first_p*/);
+// OBSOLETE extern void fr30bf_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/);
+// OBSOLETE 
+// OBSOLETE #endif /* FR30BF_DECODE_H */
index a3d47cf..f99f35c 100644 (file)
@@ -1,98 +1,98 @@
-/* fr30 device support
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-/* ??? All of this is just to get something going.  wip!  */
-
-#include "sim-main.h"
-
-#ifdef HAVE_DV_SOCKSER
-#include "dv-sockser.h"
-#endif
-
-device fr30_devices;
-
-int
-device_io_read_buffer (device *me, void *source, int space,
-                      address_word addr, unsigned nr_bytes,
-                      SIM_DESC sd, SIM_CPU *cpu, sim_cia cia)
-{
-  if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)
-    return nr_bytes;
-
-#ifdef HAVE_DV_SOCKSER
-  if (addr == UART_INCHAR_ADDR)
-    {
-      int c = dv_sockser_read (sd);
-      if (c == -1)
-       return 0;
-      *(char *) source = c;
-      return 1;
-    }
-  if (addr == UART_STATUS_ADDR)
-    {
-      int status = dv_sockser_status (sd);
-      unsigned char *p = source;
-      p[0] = 0;
-      p[1] = (((status & DV_SOCKSER_INPUT_EMPTY)
-#ifdef UART_INPUT_READY0
-              ? UART_INPUT_READY : 0)
-#else
-              ? 0 : UART_INPUT_READY)
-#endif
-             + ((status & DV_SOCKSER_OUTPUT_EMPTY) ? UART_OUTPUT_READY : 0));
-      return 2;
-    }
-#endif
-
-  return nr_bytes;
-}
-
-int
-device_io_write_buffer (device *me, const void *source, int space,
-                       address_word addr, unsigned nr_bytes,
-                       SIM_DESC sd, SIM_CPU *cpu, sim_cia cia)
-{
-#if WITH_SCACHE
-  if (addr == MCCR_ADDR)
-    {
-      if ((*(const char *) source & MCCR_CP) != 0)
-       scache_flush (sd);
-      return nr_bytes;
-    }
-#endif
-
-  if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)
-    return nr_bytes;
-
-#if HAVE_DV_SOCKSER
-  if (addr == UART_OUTCHAR_ADDR)
-    {
-      int rc = dv_sockser_write (sd, *(char *) source);
-      return rc == 1;
-    }
-#endif
-
-  return nr_bytes;
-}
-
-void
-device_error (device *me, char *message, ...)
-{
-}
+// OBSOLETE /* fr30 device support
+// OBSOLETE    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+// OBSOLETE    Contributed by Cygnus Solutions.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE /* ??? All of this is just to get something going.  wip!  */
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE 
+// OBSOLETE #ifdef HAVE_DV_SOCKSER
+// OBSOLETE #include "dv-sockser.h"
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE device fr30_devices;
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE device_io_read_buffer (device *me, void *source, int space,
+// OBSOLETE                   address_word addr, unsigned nr_bytes,
+// OBSOLETE                   SIM_DESC sd, SIM_CPU *cpu, sim_cia cia)
+// OBSOLETE {
+// OBSOLETE   if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)
+// OBSOLETE     return nr_bytes;
+// OBSOLETE 
+// OBSOLETE #ifdef HAVE_DV_SOCKSER
+// OBSOLETE   if (addr == UART_INCHAR_ADDR)
+// OBSOLETE     {
+// OBSOLETE       int c = dv_sockser_read (sd);
+// OBSOLETE       if (c == -1)
+// OBSOLETE    return 0;
+// OBSOLETE       *(char *) source = c;
+// OBSOLETE       return 1;
+// OBSOLETE     }
+// OBSOLETE   if (addr == UART_STATUS_ADDR)
+// OBSOLETE     {
+// OBSOLETE       int status = dv_sockser_status (sd);
+// OBSOLETE       unsigned char *p = source;
+// OBSOLETE       p[0] = 0;
+// OBSOLETE       p[1] = (((status & DV_SOCKSER_INPUT_EMPTY)
+// OBSOLETE #ifdef UART_INPUT_READY0
+// OBSOLETE           ? UART_INPUT_READY : 0)
+// OBSOLETE #else
+// OBSOLETE           ? 0 : UART_INPUT_READY)
+// OBSOLETE #endif
+// OBSOLETE          + ((status & DV_SOCKSER_OUTPUT_EMPTY) ? UART_OUTPUT_READY : 0));
+// OBSOLETE       return 2;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   return nr_bytes;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE device_io_write_buffer (device *me, const void *source, int space,
+// OBSOLETE                    address_word addr, unsigned nr_bytes,
+// OBSOLETE                    SIM_DESC sd, SIM_CPU *cpu, sim_cia cia)
+// OBSOLETE {
+// OBSOLETE #if WITH_SCACHE
+// OBSOLETE   if (addr == MCCR_ADDR)
+// OBSOLETE     {
+// OBSOLETE       if ((*(const char *) source & MCCR_CP) != 0)
+// OBSOLETE    scache_flush (sd);
+// OBSOLETE       return nr_bytes;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)
+// OBSOLETE     return nr_bytes;
+// OBSOLETE 
+// OBSOLETE #if HAVE_DV_SOCKSER
+// OBSOLETE   if (addr == UART_OUTCHAR_ADDR)
+// OBSOLETE     {
+// OBSOLETE       int rc = dv_sockser_write (sd, *(char *) source);
+// OBSOLETE       return rc == 1;
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   return nr_bytes;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE device_error (device *me, char *message, ...)
+// OBSOLETE {
+// OBSOLETE }
index dbb8117..f1d9109 100644 (file)
@@ -1,96 +1,96 @@
-/* collection of junk waiting time to sort out
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of the GNU Simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#ifndef FR30_SIM_H
-#define FR30_SIM_H
-
-/* gdb register numbers */
-#define PC_REGNUM      16
-#define PS_REGNUM      17
-#define TBR_REGNUM     18
-#define RP_REGNUM      19
-#define SSP_REGNUM     20
-#define USP_REGNUM     21
-#define MDH_REGNUM     22
-#define MDL_REGNUM     23
-
-extern BI fr30bf_h_sbit_get_handler (SIM_CPU *);
-extern void fr30bf_h_sbit_set_handler (SIM_CPU *, BI);
-
-extern UQI fr30bf_h_ccr_get_handler (SIM_CPU *);
-extern void fr30bf_h_ccr_set_handler (SIM_CPU *, UQI);
-
-extern UQI fr30bf_h_scr_get_handler (SIM_CPU *);
-extern void fr30bf_h_scr_set_handler (SIM_CPU *, UQI);
-
-extern UQI fr30bf_h_ilm_get_handler (SIM_CPU *);
-extern void fr30bf_h_ilm_set_handler (SIM_CPU *, UQI);
-
-extern USI fr30bf_h_ps_get_handler (SIM_CPU *);
-extern void fr30bf_h_ps_set_handler (SIM_CPU *, USI);
-
-extern SI fr30bf_h_dr_get_handler (SIM_CPU *, UINT);
-extern void fr30bf_h_dr_set_handler (SIM_CPU *, UINT, SI);
-\f
-#define GETTWI GETTSI
-#define SETTWI SETTSI
-\f
-/* Hardware/device support.
-   ??? Will eventually want to move device stuff to config files.  */
-
-/* Special purpose traps.  */
-#define TRAP_SYSCALL   10
-#define TRAP_BREAKPOINT        9
-
-/* Support for the MCCR register (Cache Control Register) is needed in order
-   for overlays to work correctly with the scache: cached instructions need
-   to be flushed when the instruction space is changed at runtime.  */
-
-/* Cache Control Register */
-#define MCCR_ADDR 0xffffffff
-#define MCCR_CP 0x80
-/* not supported */
-#define MCCR_CM0 2
-#define MCCR_CM1 1
-
-/* Serial device addresses.  */
-/* These are the values for the MSA2000 board.
-   ??? Will eventually need to move this to a config file.  */
-#define UART_INCHAR_ADDR       0xff004009
-#define UART_OUTCHAR_ADDR      0xff004007
-#define UART_STATUS_ADDR       0xff004002
-
-#define UART_INPUT_READY       0x4
-#define UART_OUTPUT_READY      0x1
-
-/* Start address and length of all device support.  */
-#define FR30_DEVICE_ADDR       0xff000000
-#define FR30_DEVICE_LEN                0x00ffffff
-
-/* sim_core_attach device argument.  */
-extern device fr30_devices;
-
-/* FIXME: Temporary, until device support ready.  */
-struct _device { int foo; };
-
-/* Handle the trap insn.  */
-USI fr30_int (SIM_CPU *, PCADDR, int);
-
-#endif /* FR30_SIM_H */
+// OBSOLETE /* collection of junk waiting time to sort out
+// OBSOLETE    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+// OBSOLETE    Contributed by Cygnus Solutions.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU Simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE #ifndef FR30_SIM_H
+// OBSOLETE #define FR30_SIM_H
+// OBSOLETE 
+// OBSOLETE /* gdb register numbers */
+// OBSOLETE #define PC_REGNUM  16
+// OBSOLETE #define PS_REGNUM  17
+// OBSOLETE #define TBR_REGNUM 18
+// OBSOLETE #define RP_REGNUM  19
+// OBSOLETE #define SSP_REGNUM 20
+// OBSOLETE #define USP_REGNUM 21
+// OBSOLETE #define MDH_REGNUM 22
+// OBSOLETE #define MDL_REGNUM 23
+// OBSOLETE 
+// OBSOLETE extern BI fr30bf_h_sbit_get_handler (SIM_CPU *);
+// OBSOLETE extern void fr30bf_h_sbit_set_handler (SIM_CPU *, BI);
+// OBSOLETE 
+// OBSOLETE extern UQI fr30bf_h_ccr_get_handler (SIM_CPU *);
+// OBSOLETE extern void fr30bf_h_ccr_set_handler (SIM_CPU *, UQI);
+// OBSOLETE 
+// OBSOLETE extern UQI fr30bf_h_scr_get_handler (SIM_CPU *);
+// OBSOLETE extern void fr30bf_h_scr_set_handler (SIM_CPU *, UQI);
+// OBSOLETE 
+// OBSOLETE extern UQI fr30bf_h_ilm_get_handler (SIM_CPU *);
+// OBSOLETE extern void fr30bf_h_ilm_set_handler (SIM_CPU *, UQI);
+// OBSOLETE 
+// OBSOLETE extern USI fr30bf_h_ps_get_handler (SIM_CPU *);
+// OBSOLETE extern void fr30bf_h_ps_set_handler (SIM_CPU *, USI);
+// OBSOLETE 
+// OBSOLETE extern SI fr30bf_h_dr_get_handler (SIM_CPU *, UINT);
+// OBSOLETE extern void fr30bf_h_dr_set_handler (SIM_CPU *, UINT, SI);
+// OBSOLETE \f
+// OBSOLETE #define GETTWI GETTSI
+// OBSOLETE #define SETTWI SETTSI
+// OBSOLETE \f
+// OBSOLETE /* Hardware/device support.
+// OBSOLETE    ??? Will eventually want to move device stuff to config files.  */
+// OBSOLETE 
+// OBSOLETE /* Special purpose traps.  */
+// OBSOLETE #define TRAP_SYSCALL       10
+// OBSOLETE #define TRAP_BREAKPOINT    9
+// OBSOLETE 
+// OBSOLETE /* Support for the MCCR register (Cache Control Register) is needed in order
+// OBSOLETE    for overlays to work correctly with the scache: cached instructions need
+// OBSOLETE    to be flushed when the instruction space is changed at runtime.  */
+// OBSOLETE 
+// OBSOLETE /* Cache Control Register */
+// OBSOLETE #define MCCR_ADDR 0xffffffff
+// OBSOLETE #define MCCR_CP 0x80
+// OBSOLETE /* not supported */
+// OBSOLETE #define MCCR_CM0 2
+// OBSOLETE #define MCCR_CM1 1
+// OBSOLETE 
+// OBSOLETE /* Serial device addresses.  */
+// OBSOLETE /* These are the values for the MSA2000 board.
+// OBSOLETE    ??? Will eventually need to move this to a config file.  */
+// OBSOLETE #define UART_INCHAR_ADDR   0xff004009
+// OBSOLETE #define UART_OUTCHAR_ADDR  0xff004007
+// OBSOLETE #define UART_STATUS_ADDR   0xff004002
+// OBSOLETE 
+// OBSOLETE #define UART_INPUT_READY   0x4
+// OBSOLETE #define UART_OUTPUT_READY  0x1
+// OBSOLETE 
+// OBSOLETE /* Start address and length of all device support.  */
+// OBSOLETE #define FR30_DEVICE_ADDR   0xff000000
+// OBSOLETE #define FR30_DEVICE_LEN            0x00ffffff
+// OBSOLETE 
+// OBSOLETE /* sim_core_attach device argument.  */
+// OBSOLETE extern device fr30_devices;
+// OBSOLETE 
+// OBSOLETE /* FIXME: Temporary, until device support ready.  */
+// OBSOLETE struct _device { int foo; };
+// OBSOLETE 
+// OBSOLETE /* Handle the trap insn.  */
+// OBSOLETE USI fr30_int (SIM_CPU *, PCADDR, int);
+// OBSOLETE 
+// OBSOLETE #endif /* FR30_SIM_H */
index 5133654..835ca9a 100644 (file)
-/* fr30 simulator support code
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#define WANT_CPU
-#define WANT_CPU_FR30BF
-
-#include "sim-main.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-/* Convert gdb dedicated register number to actual dr reg number.  */
-
-static int
-decode_gdb_dr_regnum (int gdb_regnum)
-{
-  switch (gdb_regnum)
-    {
-    case TBR_REGNUM : return H_DR_TBR;
-    case RP_REGNUM : return H_DR_RP;
-    case SSP_REGNUM : return H_DR_SSP;
-    case USP_REGNUM : return H_DR_USP;
-    case MDH_REGNUM : return H_DR_MDH;
-    case MDL_REGNUM : return H_DR_MDL;
-    }
-  abort ();
-}
-
-/* The contents of BUF are in target byte order.  */
-
-int
-fr30bf_fetch_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len)
-{
-  if (rn < 16)
-    SETTWI (buf, fr30bf_h_gr_get (current_cpu, rn));
-  else
-    switch (rn)
-      {
-      case PC_REGNUM :
-       SETTWI (buf, fr30bf_h_pc_get (current_cpu));
-       break;
-      case PS_REGNUM :
-       SETTWI (buf, fr30bf_h_ps_get (current_cpu));
-       break;
-      case TBR_REGNUM :
-      case RP_REGNUM :
-      case SSP_REGNUM :
-      case USP_REGNUM :
-      case MDH_REGNUM :
-      case MDL_REGNUM :
-       SETTWI (buf, fr30bf_h_dr_get (current_cpu,
-                                     decode_gdb_dr_regnum (rn)));
-       break;
-      default :
-       return 0;
-      }
-
-  return -1; /*FIXME*/
-}
-
-/* The contents of BUF are in target byte order.  */
-
-int
-fr30bf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len)
-{
-  if (rn < 16)
-    fr30bf_h_gr_set (current_cpu, rn, GETTWI (buf));
-  else
-    switch (rn)
-      {
-      case PC_REGNUM :
-       fr30bf_h_pc_set (current_cpu, GETTWI (buf));
-       break;
-      case PS_REGNUM :
-       fr30bf_h_ps_set (current_cpu, GETTWI (buf));
-       break;
-      case TBR_REGNUM :
-      case RP_REGNUM :
-      case SSP_REGNUM :
-      case USP_REGNUM :
-      case MDH_REGNUM :
-      case MDL_REGNUM :
-       fr30bf_h_dr_set (current_cpu,
-                        decode_gdb_dr_regnum (rn),
-                        GETTWI (buf));
-       break;
-      default :
-       return 0;
-      }
-
-  return -1; /*FIXME*/
-}
-\f
-/* Cover fns to access the ccr bits.  */
-
-BI
-fr30bf_h_sbit_get_handler (SIM_CPU *current_cpu)
-{
-  return CPU (h_sbit);
-}
-
-void
-fr30bf_h_sbit_set_handler (SIM_CPU *current_cpu, BI newval)
-{
-  int old_sbit = CPU (h_sbit);
-  int new_sbit = (newval != 0);
-
-  CPU (h_sbit) = new_sbit;
-
-  /* When switching stack modes, update the registers.  */
-  if (old_sbit != new_sbit)
-    {
-      if (old_sbit)
-       {
-         /* Switching user -> system.  */
-         CPU (h_dr[H_DR_USP]) = CPU (h_gr[H_GR_SP]);
-         CPU (h_gr[H_GR_SP]) = CPU (h_dr[H_DR_SSP]);
-       }
-      else
-       {
-         /* Switching system -> user.  */
-         CPU (h_dr[H_DR_SSP]) = CPU (h_gr[H_GR_SP]);
-         CPU (h_gr[H_GR_SP]) = CPU (h_dr[H_DR_USP]);
-       }
-    }
-
-  /* TODO: r15 interlock */
-}
-\f
-/* Cover fns to access the ccr bits.  */
-
-UQI
-fr30bf_h_ccr_get_handler (SIM_CPU *current_cpu)
-{
-  int ccr = (  (GET_H_CBIT () << 0)
-            | (GET_H_VBIT () << 1)
-            | (GET_H_ZBIT () << 2)
-            | (GET_H_NBIT () << 3)
-            | (GET_H_IBIT () << 4)
-            | (GET_H_SBIT () << 5));
-
-  return ccr;
-}
-
-void
-fr30bf_h_ccr_set_handler (SIM_CPU *current_cpu, UQI newval)
-{
-  int ccr = newval & 0x3f;
-
-  SET_H_CBIT ((ccr & 1) != 0);
-  SET_H_VBIT ((ccr & 2) != 0);
-  SET_H_ZBIT ((ccr & 4) != 0);
-  SET_H_NBIT ((ccr & 8) != 0);
-  SET_H_IBIT ((ccr & 0x10) != 0);
-  SET_H_SBIT ((ccr & 0x20) != 0);
-}
-\f
-/* Cover fns to access the scr bits.  */
-
-UQI
-fr30bf_h_scr_get_handler (SIM_CPU *current_cpu)
-{
-  int scr = (  (GET_H_TBIT () << 0)
-            | (GET_H_D0BIT () << 1)
-            | (GET_H_D1BIT () << 2));
-  return scr;
-}
-
-void
-fr30bf_h_scr_set_handler (SIM_CPU *current_cpu, UQI newval)
-{
-  int scr = newval & 7;
-
-  SET_H_TBIT  ((scr & 1) != 0);
-  SET_H_D0BIT ((scr & 2) != 0);
-  SET_H_D1BIT ((scr & 4) != 0);
-}
-\f
-/* Cover fns to access the ilm bits.  */
-
-UQI
-fr30bf_h_ilm_get_handler (SIM_CPU *current_cpu)
-{
-  return CPU (h_ilm);
-}
-
-void
-fr30bf_h_ilm_set_handler (SIM_CPU *current_cpu, UQI newval)
-{
-  int ilm = newval & 0x1f;
-  int current_ilm = CPU (h_ilm);
-
-  /* We can only set new ilm values < 16 if the current ilm is < 16.  Otherwise
-     we add 16 to the value we are given.  */
-  if (current_ilm >= 16 && ilm < 16)
-    ilm += 16;
-
-  CPU (h_ilm) = ilm;
-}
-\f
-/* Cover fns to access the ps register.  */
-
-USI
-fr30bf_h_ps_get_handler (SIM_CPU *current_cpu)
-{
-  int ccr = GET_H_CCR ();
-  int scr = GET_H_SCR ();
-  int ilm = GET_H_ILM ();
-
-  return ccr | (scr << 8) | (ilm << 16);
-}
-
-void
-fr30bf_h_ps_set_handler (SIM_CPU *current_cpu, USI newval)
-{
-  int ccr = newval & 0xff;
-  int scr = (newval >> 8) & 7;
-  int ilm = (newval >> 16) & 0x1f;
-
-  SET_H_CCR (ccr);
-  SET_H_SCR (scr);
-  SET_H_ILM (ilm);
-}
-\f
-/* Cover fns to access the dedicated registers.  */
-
-SI
-fr30bf_h_dr_get_handler (SIM_CPU *current_cpu, UINT dr)
-{
-  switch (dr)
-    {
-    case H_DR_SSP :
-      if (! GET_H_SBIT ())
-       return GET_H_GR (H_GR_SP);
-      else
-       return CPU (h_dr[H_DR_SSP]);
-    case H_DR_USP :
-      if (GET_H_SBIT ())
-       return GET_H_GR (H_GR_SP);
-      else
-       return CPU (h_dr[H_DR_USP]);
-    case H_DR_TBR :
-    case H_DR_RP :
-    case H_DR_MDH :
-    case H_DR_MDL :
-      return CPU (h_dr[dr]);
-    }
-  return 0;
-}
-
-void
-fr30bf_h_dr_set_handler (SIM_CPU *current_cpu, UINT dr, SI newval)
-{
-  switch (dr)
-    {
-    case H_DR_SSP :
-      if (! GET_H_SBIT ())
-       SET_H_GR (H_GR_SP, newval);
-      else
-       CPU (h_dr[H_DR_SSP]) = newval;
-      break;
-    case H_DR_USP :
-      if (GET_H_SBIT ())
-       SET_H_GR (H_GR_SP, newval);
-      else
-       CPU (h_dr[H_DR_USP]) = newval;
-      break;
-    case H_DR_TBR :
-    case H_DR_RP :
-    case H_DR_MDH :
-    case H_DR_MDL :
-      CPU (h_dr[dr]) = newval;
-      break;
-    }
-}
-\f
-#if WITH_PROFILE_MODEL_P
-
-/* FIXME: Some of these should be inline or macros.  Later.  */
-
-/* Initialize cycle counting for an insn.
-   FIRST_P is non-zero if this is the first insn in a set of parallel
-   insns.  */
-
-void
-fr30bf_model_insn_before (SIM_CPU *cpu, int first_p)
-{
-  MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
-  d->load_regs_pending = 0;
-}
-
-/* Record the cycles computed for an insn.
-   LAST_P is non-zero if this is the last insn in a set of parallel insns,
-   and we update the total cycle count.
-   CYCLES is the cycle count of the insn.  */
-
-void
-fr30bf_model_insn_after (SIM_CPU *cpu, int last_p, int cycles)
-{
-  PROFILE_DATA *p = CPU_PROFILE_DATA (cpu);
-  MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
-
-  PROFILE_MODEL_TOTAL_CYCLES (p) += cycles;
-  PROFILE_MODEL_CUR_INSN_CYCLES (p) = cycles;
-  d->load_regs = d->load_regs_pending;
-}
-
-static INLINE int
-check_load_stall (SIM_CPU *cpu, int regno)
-{
-  const MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
-  UINT load_regs = d->load_regs;
-
-  if (regno != -1
-      && (load_regs & (1 << regno)) != 0)
-    {
-      PROFILE_DATA *p = CPU_PROFILE_DATA (cpu);
-      ++ PROFILE_MODEL_LOAD_STALL_CYCLES (p);
-      if (TRACE_INSN_P (cpu))
-       cgen_trace_printf (cpu, " ; Load stall.");
-      return 1;
-    }
-  else
-    return 0;
-}
-
-int
-fr30bf_model_fr30_1_u_exec (SIM_CPU *cpu, const IDESC *idesc,
-                           int unit_num, int referenced,
-                           INT in_Ri, INT in_Rj, INT out_Ri)
-{
-  int cycles = idesc->timing->units[unit_num].done;
-  cycles += check_load_stall (cpu, in_Ri);
-  cycles += check_load_stall (cpu, in_Rj);
-  return cycles;
-}
-
-int
-fr30bf_model_fr30_1_u_cti (SIM_CPU *cpu, const IDESC *idesc,
-                          int unit_num, int referenced,
-                          INT in_Ri)
-{
-  PROFILE_DATA *p = CPU_PROFILE_DATA (cpu);
-  /* (1 << 1): The pc is the 2nd element in inputs, outputs.
-     ??? can be cleaned up */
-  int taken_p = (referenced & (1 << 1)) != 0;
-  int cycles = idesc->timing->units[unit_num].done;
-  int delay_slot_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT);
-
-  cycles += check_load_stall (cpu, in_Ri);
-  if (taken_p)
-    {
-      /* ??? Handling cti's without delay slots this way will run afoul of
-        accurate system simulation.  Later.  */
-      if (! delay_slot_p)
-       {
-         ++cycles;
-         ++PROFILE_MODEL_CTI_STALL_CYCLES (p);
-       }
-      ++PROFILE_MODEL_TAKEN_COUNT (p);
-    }
-  else
-    ++PROFILE_MODEL_UNTAKEN_COUNT (p);
-
-  return cycles;
-}
-
-int
-fr30bf_model_fr30_1_u_load (SIM_CPU *cpu, const IDESC *idesc,
-                           int unit_num, int referenced,
-                           INT in_Rj, INT out_Ri)
-{
-  MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
-  int cycles = idesc->timing->units[unit_num].done;
-  d->load_regs_pending |= 1 << out_Ri;
-  cycles += check_load_stall (cpu, in_Rj);
-  return cycles;
-}
-
-int
-fr30bf_model_fr30_1_u_store (SIM_CPU *cpu, const IDESC *idesc,
-                            int unit_num, int referenced,
-                            INT in_Ri, INT in_Rj)
-{
-  int cycles = idesc->timing->units[unit_num].done;
-  cycles += check_load_stall (cpu, in_Ri);
-  cycles += check_load_stall (cpu, in_Rj);
-  return cycles;
-}
-
-int
-fr30bf_model_fr30_1_u_ldm (SIM_CPU *cpu, const IDESC *idesc,
-                          int unit_num, int referenced,
-                          INT reglist)
-{
-  return idesc->timing->units[unit_num].done;
-}
-
-int
-fr30bf_model_fr30_1_u_stm (SIM_CPU *cpu, const IDESC *idesc,
-                          int unit_num, int referenced,
-                          INT reglist)
-{
-  return idesc->timing->units[unit_num].done;
-}
-
-#endif /* WITH_PROFILE_MODEL_P */
+// OBSOLETE /* fr30 simulator support code
+// OBSOLETE    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+// OBSOLETE    Contributed by Cygnus Solutions.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE #define WANT_CPU
+// OBSOLETE #define WANT_CPU_FR30BF
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #include "cgen-mem.h"
+// OBSOLETE #include "cgen-ops.h"
+// OBSOLETE 
+// OBSOLETE /* Convert gdb dedicated register number to actual dr reg number.  */
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE decode_gdb_dr_regnum (int gdb_regnum)
+// OBSOLETE {
+// OBSOLETE   switch (gdb_regnum)
+// OBSOLETE     {
+// OBSOLETE     case TBR_REGNUM : return H_DR_TBR;
+// OBSOLETE     case RP_REGNUM : return H_DR_RP;
+// OBSOLETE     case SSP_REGNUM : return H_DR_SSP;
+// OBSOLETE     case USP_REGNUM : return H_DR_USP;
+// OBSOLETE     case MDH_REGNUM : return H_DR_MDH;
+// OBSOLETE     case MDL_REGNUM : return H_DR_MDL;
+// OBSOLETE     }
+// OBSOLETE   abort ();
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* The contents of BUF are in target byte order.  */
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_fetch_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len)
+// OBSOLETE {
+// OBSOLETE   if (rn < 16)
+// OBSOLETE     SETTWI (buf, fr30bf_h_gr_get (current_cpu, rn));
+// OBSOLETE   else
+// OBSOLETE     switch (rn)
+// OBSOLETE       {
+// OBSOLETE       case PC_REGNUM :
+// OBSOLETE    SETTWI (buf, fr30bf_h_pc_get (current_cpu));
+// OBSOLETE    break;
+// OBSOLETE       case PS_REGNUM :
+// OBSOLETE    SETTWI (buf, fr30bf_h_ps_get (current_cpu));
+// OBSOLETE    break;
+// OBSOLETE       case TBR_REGNUM :
+// OBSOLETE       case RP_REGNUM :
+// OBSOLETE       case SSP_REGNUM :
+// OBSOLETE       case USP_REGNUM :
+// OBSOLETE       case MDH_REGNUM :
+// OBSOLETE       case MDL_REGNUM :
+// OBSOLETE    SETTWI (buf, fr30bf_h_dr_get (current_cpu,
+// OBSOLETE                                  decode_gdb_dr_regnum (rn)));
+// OBSOLETE    break;
+// OBSOLETE       default :
+// OBSOLETE    return 0;
+// OBSOLETE       }
+// OBSOLETE 
+// OBSOLETE   return -1; /*FIXME*/
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* The contents of BUF are in target byte order.  */
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len)
+// OBSOLETE {
+// OBSOLETE   if (rn < 16)
+// OBSOLETE     fr30bf_h_gr_set (current_cpu, rn, GETTWI (buf));
+// OBSOLETE   else
+// OBSOLETE     switch (rn)
+// OBSOLETE       {
+// OBSOLETE       case PC_REGNUM :
+// OBSOLETE    fr30bf_h_pc_set (current_cpu, GETTWI (buf));
+// OBSOLETE    break;
+// OBSOLETE       case PS_REGNUM :
+// OBSOLETE    fr30bf_h_ps_set (current_cpu, GETTWI (buf));
+// OBSOLETE    break;
+// OBSOLETE       case TBR_REGNUM :
+// OBSOLETE       case RP_REGNUM :
+// OBSOLETE       case SSP_REGNUM :
+// OBSOLETE       case USP_REGNUM :
+// OBSOLETE       case MDH_REGNUM :
+// OBSOLETE       case MDL_REGNUM :
+// OBSOLETE    fr30bf_h_dr_set (current_cpu,
+// OBSOLETE                     decode_gdb_dr_regnum (rn),
+// OBSOLETE                     GETTWI (buf));
+// OBSOLETE    break;
+// OBSOLETE       default :
+// OBSOLETE    return 0;
+// OBSOLETE       }
+// OBSOLETE 
+// OBSOLETE   return -1; /*FIXME*/
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Cover fns to access the ccr bits.  */
+// OBSOLETE 
+// OBSOLETE BI
+// OBSOLETE fr30bf_h_sbit_get_handler (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_sbit);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_sbit_set_handler (SIM_CPU *current_cpu, BI newval)
+// OBSOLETE {
+// OBSOLETE   int old_sbit = CPU (h_sbit);
+// OBSOLETE   int new_sbit = (newval != 0);
+// OBSOLETE 
+// OBSOLETE   CPU (h_sbit) = new_sbit;
+// OBSOLETE 
+// OBSOLETE   /* When switching stack modes, update the registers.  */
+// OBSOLETE   if (old_sbit != new_sbit)
+// OBSOLETE     {
+// OBSOLETE       if (old_sbit)
+// OBSOLETE    {
+// OBSOLETE      /* Switching user -> system.  */
+// OBSOLETE      CPU (h_dr[H_DR_USP]) = CPU (h_gr[H_GR_SP]);
+// OBSOLETE      CPU (h_gr[H_GR_SP]) = CPU (h_dr[H_DR_SSP]);
+// OBSOLETE    }
+// OBSOLETE       else
+// OBSOLETE    {
+// OBSOLETE      /* Switching system -> user.  */
+// OBSOLETE      CPU (h_dr[H_DR_SSP]) = CPU (h_gr[H_GR_SP]);
+// OBSOLETE      CPU (h_gr[H_GR_SP]) = CPU (h_dr[H_DR_USP]);
+// OBSOLETE    }
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* TODO: r15 interlock */
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Cover fns to access the ccr bits.  */
+// OBSOLETE 
+// OBSOLETE UQI
+// OBSOLETE fr30bf_h_ccr_get_handler (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   int ccr = (  (GET_H_CBIT () << 0)
+// OBSOLETE         | (GET_H_VBIT () << 1)
+// OBSOLETE         | (GET_H_ZBIT () << 2)
+// OBSOLETE         | (GET_H_NBIT () << 3)
+// OBSOLETE         | (GET_H_IBIT () << 4)
+// OBSOLETE         | (GET_H_SBIT () << 5));
+// OBSOLETE 
+// OBSOLETE   return ccr;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ccr_set_handler (SIM_CPU *current_cpu, UQI newval)
+// OBSOLETE {
+// OBSOLETE   int ccr = newval & 0x3f;
+// OBSOLETE 
+// OBSOLETE   SET_H_CBIT ((ccr & 1) != 0);
+// OBSOLETE   SET_H_VBIT ((ccr & 2) != 0);
+// OBSOLETE   SET_H_ZBIT ((ccr & 4) != 0);
+// OBSOLETE   SET_H_NBIT ((ccr & 8) != 0);
+// OBSOLETE   SET_H_IBIT ((ccr & 0x10) != 0);
+// OBSOLETE   SET_H_SBIT ((ccr & 0x20) != 0);
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Cover fns to access the scr bits.  */
+// OBSOLETE 
+// OBSOLETE UQI
+// OBSOLETE fr30bf_h_scr_get_handler (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   int scr = (  (GET_H_TBIT () << 0)
+// OBSOLETE         | (GET_H_D0BIT () << 1)
+// OBSOLETE         | (GET_H_D1BIT () << 2));
+// OBSOLETE   return scr;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_scr_set_handler (SIM_CPU *current_cpu, UQI newval)
+// OBSOLETE {
+// OBSOLETE   int scr = newval & 7;
+// OBSOLETE 
+// OBSOLETE   SET_H_TBIT  ((scr & 1) != 0);
+// OBSOLETE   SET_H_D0BIT ((scr & 2) != 0);
+// OBSOLETE   SET_H_D1BIT ((scr & 4) != 0);
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Cover fns to access the ilm bits.  */
+// OBSOLETE 
+// OBSOLETE UQI
+// OBSOLETE fr30bf_h_ilm_get_handler (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   return CPU (h_ilm);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ilm_set_handler (SIM_CPU *current_cpu, UQI newval)
+// OBSOLETE {
+// OBSOLETE   int ilm = newval & 0x1f;
+// OBSOLETE   int current_ilm = CPU (h_ilm);
+// OBSOLETE 
+// OBSOLETE   /* We can only set new ilm values < 16 if the current ilm is < 16.  Otherwise
+// OBSOLETE      we add 16 to the value we are given.  */
+// OBSOLETE   if (current_ilm >= 16 && ilm < 16)
+// OBSOLETE     ilm += 16;
+// OBSOLETE 
+// OBSOLETE   CPU (h_ilm) = ilm;
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Cover fns to access the ps register.  */
+// OBSOLETE 
+// OBSOLETE USI
+// OBSOLETE fr30bf_h_ps_get_handler (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   int ccr = GET_H_CCR ();
+// OBSOLETE   int scr = GET_H_SCR ();
+// OBSOLETE   int ilm = GET_H_ILM ();
+// OBSOLETE 
+// OBSOLETE   return ccr | (scr << 8) | (ilm << 16);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_ps_set_handler (SIM_CPU *current_cpu, USI newval)
+// OBSOLETE {
+// OBSOLETE   int ccr = newval & 0xff;
+// OBSOLETE   int scr = (newval >> 8) & 7;
+// OBSOLETE   int ilm = (newval >> 16) & 0x1f;
+// OBSOLETE 
+// OBSOLETE   SET_H_CCR (ccr);
+// OBSOLETE   SET_H_SCR (scr);
+// OBSOLETE   SET_H_ILM (ilm);
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Cover fns to access the dedicated registers.  */
+// OBSOLETE 
+// OBSOLETE SI
+// OBSOLETE fr30bf_h_dr_get_handler (SIM_CPU *current_cpu, UINT dr)
+// OBSOLETE {
+// OBSOLETE   switch (dr)
+// OBSOLETE     {
+// OBSOLETE     case H_DR_SSP :
+// OBSOLETE       if (! GET_H_SBIT ())
+// OBSOLETE    return GET_H_GR (H_GR_SP);
+// OBSOLETE       else
+// OBSOLETE    return CPU (h_dr[H_DR_SSP]);
+// OBSOLETE     case H_DR_USP :
+// OBSOLETE       if (GET_H_SBIT ())
+// OBSOLETE    return GET_H_GR (H_GR_SP);
+// OBSOLETE       else
+// OBSOLETE    return CPU (h_dr[H_DR_USP]);
+// OBSOLETE     case H_DR_TBR :
+// OBSOLETE     case H_DR_RP :
+// OBSOLETE     case H_DR_MDH :
+// OBSOLETE     case H_DR_MDL :
+// OBSOLETE       return CPU (h_dr[dr]);
+// OBSOLETE     }
+// OBSOLETE   return 0;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_h_dr_set_handler (SIM_CPU *current_cpu, UINT dr, SI newval)
+// OBSOLETE {
+// OBSOLETE   switch (dr)
+// OBSOLETE     {
+// OBSOLETE     case H_DR_SSP :
+// OBSOLETE       if (! GET_H_SBIT ())
+// OBSOLETE    SET_H_GR (H_GR_SP, newval);
+// OBSOLETE       else
+// OBSOLETE    CPU (h_dr[H_DR_SSP]) = newval;
+// OBSOLETE       break;
+// OBSOLETE     case H_DR_USP :
+// OBSOLETE       if (GET_H_SBIT ())
+// OBSOLETE    SET_H_GR (H_GR_SP, newval);
+// OBSOLETE       else
+// OBSOLETE    CPU (h_dr[H_DR_USP]) = newval;
+// OBSOLETE       break;
+// OBSOLETE     case H_DR_TBR :
+// OBSOLETE     case H_DR_RP :
+// OBSOLETE     case H_DR_MDH :
+// OBSOLETE     case H_DR_MDL :
+// OBSOLETE       CPU (h_dr[dr]) = newval;
+// OBSOLETE       break;
+// OBSOLETE     }
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE 
+// OBSOLETE /* FIXME: Some of these should be inline or macros.  Later.  */
+// OBSOLETE 
+// OBSOLETE /* Initialize cycle counting for an insn.
+// OBSOLETE    FIRST_P is non-zero if this is the first insn in a set of parallel
+// OBSOLETE    insns.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_model_insn_before (SIM_CPU *cpu, int first_p)
+// OBSOLETE {
+// OBSOLETE   MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
+// OBSOLETE   d->load_regs_pending = 0;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Record the cycles computed for an insn.
+// OBSOLETE    LAST_P is non-zero if this is the last insn in a set of parallel insns,
+// OBSOLETE    and we update the total cycle count.
+// OBSOLETE    CYCLES is the cycle count of the insn.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30bf_model_insn_after (SIM_CPU *cpu, int last_p, int cycles)
+// OBSOLETE {
+// OBSOLETE   PROFILE_DATA *p = CPU_PROFILE_DATA (cpu);
+// OBSOLETE   MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
+// OBSOLETE 
+// OBSOLETE   PROFILE_MODEL_TOTAL_CYCLES (p) += cycles;
+// OBSOLETE   PROFILE_MODEL_CUR_INSN_CYCLES (p) = cycles;
+// OBSOLETE   d->load_regs = d->load_regs_pending;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static INLINE int
+// OBSOLETE check_load_stall (SIM_CPU *cpu, int regno)
+// OBSOLETE {
+// OBSOLETE   const MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
+// OBSOLETE   UINT load_regs = d->load_regs;
+// OBSOLETE 
+// OBSOLETE   if (regno != -1
+// OBSOLETE       && (load_regs & (1 << regno)) != 0)
+// OBSOLETE     {
+// OBSOLETE       PROFILE_DATA *p = CPU_PROFILE_DATA (cpu);
+// OBSOLETE       ++ PROFILE_MODEL_LOAD_STALL_CYCLES (p);
+// OBSOLETE       if (TRACE_INSN_P (cpu))
+// OBSOLETE    cgen_trace_printf (cpu, " ; Load stall.");
+// OBSOLETE       return 1;
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE     return 0;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_model_fr30_1_u_exec (SIM_CPU *cpu, const IDESC *idesc,
+// OBSOLETE                        int unit_num, int referenced,
+// OBSOLETE                        INT in_Ri, INT in_Rj, INT out_Ri)
+// OBSOLETE {
+// OBSOLETE   int cycles = idesc->timing->units[unit_num].done;
+// OBSOLETE   cycles += check_load_stall (cpu, in_Ri);
+// OBSOLETE   cycles += check_load_stall (cpu, in_Rj);
+// OBSOLETE   return cycles;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_model_fr30_1_u_cti (SIM_CPU *cpu, const IDESC *idesc,
+// OBSOLETE                       int unit_num, int referenced,
+// OBSOLETE                       INT in_Ri)
+// OBSOLETE {
+// OBSOLETE   PROFILE_DATA *p = CPU_PROFILE_DATA (cpu);
+// OBSOLETE   /* (1 << 1): The pc is the 2nd element in inputs, outputs.
+// OBSOLETE      ??? can be cleaned up */
+// OBSOLETE   int taken_p = (referenced & (1 << 1)) != 0;
+// OBSOLETE   int cycles = idesc->timing->units[unit_num].done;
+// OBSOLETE   int delay_slot_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT);
+// OBSOLETE 
+// OBSOLETE   cycles += check_load_stall (cpu, in_Ri);
+// OBSOLETE   if (taken_p)
+// OBSOLETE     {
+// OBSOLETE       /* ??? Handling cti's without delay slots this way will run afoul of
+// OBSOLETE     accurate system simulation.  Later.  */
+// OBSOLETE       if (! delay_slot_p)
+// OBSOLETE    {
+// OBSOLETE      ++cycles;
+// OBSOLETE      ++PROFILE_MODEL_CTI_STALL_CYCLES (p);
+// OBSOLETE    }
+// OBSOLETE       ++PROFILE_MODEL_TAKEN_COUNT (p);
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE     ++PROFILE_MODEL_UNTAKEN_COUNT (p);
+// OBSOLETE 
+// OBSOLETE   return cycles;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_model_fr30_1_u_load (SIM_CPU *cpu, const IDESC *idesc,
+// OBSOLETE                        int unit_num, int referenced,
+// OBSOLETE                        INT in_Rj, INT out_Ri)
+// OBSOLETE {
+// OBSOLETE   MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu);
+// OBSOLETE   int cycles = idesc->timing->units[unit_num].done;
+// OBSOLETE   d->load_regs_pending |= 1 << out_Ri;
+// OBSOLETE   cycles += check_load_stall (cpu, in_Rj);
+// OBSOLETE   return cycles;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_model_fr30_1_u_store (SIM_CPU *cpu, const IDESC *idesc,
+// OBSOLETE                         int unit_num, int referenced,
+// OBSOLETE                         INT in_Ri, INT in_Rj)
+// OBSOLETE {
+// OBSOLETE   int cycles = idesc->timing->units[unit_num].done;
+// OBSOLETE   cycles += check_load_stall (cpu, in_Ri);
+// OBSOLETE   cycles += check_load_stall (cpu, in_Rj);
+// OBSOLETE   return cycles;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_model_fr30_1_u_ldm (SIM_CPU *cpu, const IDESC *idesc,
+// OBSOLETE                       int unit_num, int referenced,
+// OBSOLETE                       INT reglist)
+// OBSOLETE {
+// OBSOLETE   return idesc->timing->units[unit_num].done;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE int
+// OBSOLETE fr30bf_model_fr30_1_u_stm (SIM_CPU *cpu, const IDESC *idesc,
+// OBSOLETE                       int unit_num, int referenced,
+// OBSOLETE                       INT reglist)
+// OBSOLETE {
+// OBSOLETE   return idesc->timing->units[unit_num].done;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #endif /* WITH_PROFILE_MODEL_P */
index 1a82d83..f161bb1 100644 (file)
-# Simulator main loop for fr30. -*- C -*-
-# Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-# Contributed by Cygnus Solutions.
-#
-# This file is part of the GNU Simulators.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Syntax:
-# /bin/sh mainloop.in command
-#
-# Command is one of:
-#
-# init
-# support
-# extract-{simple,scache,pbb}
-# {full,fast}-exec-{simple,scache,pbb}
-#
-# A target need only provide a "full" version of one of simple,scache,pbb.
-# If the target wants it can also provide a fast version of same.
-# It can't provide more than this, however for illustration's sake the FR30
-# port provides examples of all.
-
-# ??? After a few more ports are done, revisit.
-# Will eventually need to machine generate a lot of this.
-
-case "x$1" in
-
-xsupport)
-
-cat <<EOF
-
-static INLINE const IDESC *
-extract (SIM_CPU *current_cpu, PCADDR pc, CGEN_INSN_INT insn, ARGBUF *abuf,
-         int fast_p)
-{
-  const IDESC *id = @cpu@_decode (current_cpu, pc, insn, abuf);
-  @cpu@_fill_argbuf (current_cpu, abuf, id, pc, fast_p);
-  if (! fast_p)
-    {
-      int trace_p = PC_IN_TRACE_RANGE_P (current_cpu, pc);
-      int profile_p = PC_IN_PROFILE_RANGE_P (current_cpu, pc);
-      @cpu@_fill_argbuf_tp (current_cpu, abuf, trace_p, profile_p);
-    }
-  return id;
-}
-
-static INLINE SEM_PC
-execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
-{
-  SEM_PC vpc;
-
-  if (fast_p)
-    {
-#if ! WITH_SEM_SWITCH_FAST
-#if WITH_SCACHE
-      vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, sc);
-#else
-      vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, &sc->argbuf);
-#endif
-#else
-      abort ();
-#endif /* WITH_SEM_SWITCH_FAST */
-    }
-  else
-    {
-#if ! WITH_SEM_SWITCH_FULL
-      ARGBUF *abuf = &sc->argbuf;
-      const IDESC *idesc = abuf->idesc;
-#if WITH_SCACHE_PBB
-      int virtual_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_VIRTUAL);
-#else
-      int virtual_p = 0;
-#endif
-
-      if (! virtual_p)
-       {
-         /* FIXME: call x-before */
-         if (ARGBUF_PROFILE_P (abuf))
-           PROFILE_COUNT_INSN (current_cpu, abuf->addr, idesc->num);
-         /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}.  */
-         if (PROFILE_MODEL_P (current_cpu)
-             && ARGBUF_PROFILE_P (abuf))
-           @cpu@_model_insn_before (current_cpu, 1 /*first_p*/);
-         TRACE_INSN_INIT (current_cpu, abuf, 1);
-         TRACE_INSN (current_cpu, idesc->idata,
-                     (const struct argbuf *) abuf, abuf->addr);
-       }
-#if WITH_SCACHE
-      vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, sc);
-#else
-      vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, abuf);
-#endif
-      if (! virtual_p)
-       {
-         /* FIXME: call x-after */
-         if (PROFILE_MODEL_P (current_cpu)
-             && ARGBUF_PROFILE_P (abuf))
-           {
-             int cycles;
-
-             cycles = (*idesc->timing->model_fn) (current_cpu, sc);
-             @cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
-           }
-         TRACE_INSN_FINI (current_cpu, abuf, 1);
-       }
-#else
-      abort ();
-#endif /* WITH_SEM_SWITCH_FULL */
-    }
-
-  return vpc;
-}
-
-EOF
-
-;;
-
-xinit)
-
-cat <<EOF
-/*xxxinit*/
-EOF
-
-;;
-
-xextract-simple | xextract-scache)
-
-# Inputs:  current_cpu, vpc, sc, FAST_P
-# Outputs: sc filled in
-
-cat <<EOF
-{
-  CGEN_INSN_INT insn = GETIMEMUHI (current_cpu, vpc);
-  extract (current_cpu, vpc, insn, SEM_ARGBUF (sc), FAST_P);
-}
-EOF
-
-;;
-
-xextract-pbb)
-
-# Inputs:  current_cpu, pc, sc, max_insns, FAST_P
-# Outputs: sc, pc
-# sc must be left pointing past the last created entry.
-# pc must be left pointing past the last created entry.
-# If the pbb is terminated by a cti insn, SET_CTI_VPC(sc) must be called
-# to record the vpc of the cti insn.
-# SET_INSN_COUNT(n) must be called to record number of real insns.
-
-cat <<EOF
-{
-  const IDESC *idesc;
-  int icount = 0;
-
-  while (max_insns > 0)
-    {
-      UHI insn = GETIMEMUHI (current_cpu, pc);
-      idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
-      ++sc;
-      --max_insns;
-      ++icount;
-      pc += idesc->length;
-      if (IDESC_CTI_P (idesc))
-       {
-         SET_CTI_VPC (sc - 1);
-
-         /* Delay slot? */
-         /* ??? breakpoints in delay slots */
-         if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT))
-           {
-             UHI insn = GETIMEMUHI (current_cpu, pc);
-             idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
-             if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_NOT_IN_DELAY_SLOT))
-               {
-                 /* malformed program */
-                 sim_io_eprintf (CPU_STATE (current_cpu),
-                                 "malformed program, \`%s' insn in delay slot\n",
-                                 CGEN_INSN_NAME (idesc->idata));
-               }
-             else
-               {
-                 ++sc;
-                 --max_insns;
-                 ++icount;
-                 pc += idesc->length;
-               }
-           }
-         break;
-       }
-    }
-
- Finish:
-  SET_INSN_COUNT (icount);
-}
-EOF
-
-;;
-
-xfull-exec-* | xfast-exec-*)
-
-# Inputs: current_cpu, sc, FAST_P
-# Outputs: vpc
-# vpc contains the address of the next insn to execute
-
-cat <<EOF
-{
-#if (! FAST_P && WITH_SEM_SWITCH_FULL) || (FAST_P && WITH_SEM_SWITCH_FAST)
-#define DEFINE_SWITCH
-#include "sem-switch.c"
-#else
-  vpc = execute (current_cpu, vpc, FAST_P);
-#endif
-}
-EOF
-
-;;
-
-*)
-  echo "Invalid argument to mainloop.in: $1" >&2
-  exit 1
-  ;;
-
-esac
+# OBSOLETE # Simulator main loop for fr30. -*- C -*-
+# OBSOLETE # Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+# OBSOLETE # Contributed by Cygnus Solutions.
+# OBSOLETE #
+# OBSOLETE # This file is part of the GNU Simulators.
+# OBSOLETE #
+# OBSOLETE # This program is free software; you can redistribute it and/or modify
+# OBSOLETE # it under the terms of the GNU General Public License as published by
+# OBSOLETE # the Free Software Foundation; either version 2, or (at your option)
+# OBSOLETE # any later version.
+# OBSOLETE #
+# OBSOLETE # This program is distributed in the hope that it will be useful,
+# OBSOLETE # but WITHOUT ANY WARRANTY; without even the implied warranty of
+# OBSOLETE # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# OBSOLETE # GNU General Public License for more details.
+# OBSOLETE #
+# OBSOLETE # You should have received a copy of the GNU General Public License along
+# OBSOLETE # with this program; if not, write to the Free Software Foundation, Inc.,
+# OBSOLETE # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+# OBSOLETE 
+# OBSOLETE # Syntax:
+# OBSOLETE # /bin/sh mainloop.in command
+# OBSOLETE #
+# OBSOLETE # Command is one of:
+# OBSOLETE #
+# OBSOLETE # init
+# OBSOLETE # support
+# OBSOLETE # extract-{simple,scache,pbb}
+# OBSOLETE # {full,fast}-exec-{simple,scache,pbb}
+# OBSOLETE #
+# OBSOLETE # A target need only provide a "full" version of one of simple,scache,pbb.
+# OBSOLETE # If the target wants it can also provide a fast version of same.
+# OBSOLETE # It can't provide more than this, however for illustration's sake the FR30
+# OBSOLETE # port provides examples of all.
+# OBSOLETE 
+# OBSOLETE # ??? After a few more ports are done, revisit.
+# OBSOLETE # Will eventually need to machine generate a lot of this.
+# OBSOLETE 
+# OBSOLETE case "x$1" in
+# OBSOLETE 
+# OBSOLETE xsupport)
+# OBSOLETE 
+# OBSOLETE cat <<EOF
+# OBSOLETE 
+# OBSOLETE static INLINE const IDESC *
+# OBSOLETE extract (SIM_CPU *current_cpu, PCADDR pc, CGEN_INSN_INT insn, ARGBUF *abuf,
+# OBSOLETE          int fast_p)
+# OBSOLETE {
+# OBSOLETE   const IDESC *id = @cpu@_decode (current_cpu, pc, insn, abuf);
+# OBSOLETE   @cpu@_fill_argbuf (current_cpu, abuf, id, pc, fast_p);
+# OBSOLETE   if (! fast_p)
+# OBSOLETE     {
+# OBSOLETE       int trace_p = PC_IN_TRACE_RANGE_P (current_cpu, pc);
+# OBSOLETE       int profile_p = PC_IN_PROFILE_RANGE_P (current_cpu, pc);
+# OBSOLETE       @cpu@_fill_argbuf_tp (current_cpu, abuf, trace_p, profile_p);
+# OBSOLETE     }
+# OBSOLETE   return id;
+# OBSOLETE }
+# OBSOLETE 
+# OBSOLETE static INLINE SEM_PC
+# OBSOLETE execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
+# OBSOLETE {
+# OBSOLETE   SEM_PC vpc;
+# OBSOLETE 
+# OBSOLETE   if (fast_p)
+# OBSOLETE     {
+# OBSOLETE #if ! WITH_SEM_SWITCH_FAST
+# OBSOLETE #if WITH_SCACHE
+# OBSOLETE       vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, sc);
+# OBSOLETE #else
+# OBSOLETE       vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, &sc->argbuf);
+# OBSOLETE #endif
+# OBSOLETE #else
+# OBSOLETE       abort ();
+# OBSOLETE #endif /* WITH_SEM_SWITCH_FAST */
+# OBSOLETE     }
+# OBSOLETE   else
+# OBSOLETE     {
+# OBSOLETE #if ! WITH_SEM_SWITCH_FULL
+# OBSOLETE       ARGBUF *abuf = &sc->argbuf;
+# OBSOLETE       const IDESC *idesc = abuf->idesc;
+# OBSOLETE #if WITH_SCACHE_PBB
+# OBSOLETE       int virtual_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_VIRTUAL);
+# OBSOLETE #else
+# OBSOLETE       int virtual_p = 0;
+# OBSOLETE #endif
+# OBSOLETE 
+# OBSOLETE       if (! virtual_p)
+# OBSOLETE     {
+# OBSOLETE       /* FIXME: call x-before */
+# OBSOLETE       if (ARGBUF_PROFILE_P (abuf))
+# OBSOLETE         PROFILE_COUNT_INSN (current_cpu, abuf->addr, idesc->num);
+# OBSOLETE       /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}.  */
+# OBSOLETE       if (PROFILE_MODEL_P (current_cpu)
+# OBSOLETE           && ARGBUF_PROFILE_P (abuf))
+# OBSOLETE         @cpu@_model_insn_before (current_cpu, 1 /*first_p*/);
+# OBSOLETE       TRACE_INSN_INIT (current_cpu, abuf, 1);
+# OBSOLETE       TRACE_INSN (current_cpu, idesc->idata,
+# OBSOLETE                   (const struct argbuf *) abuf, abuf->addr);
+# OBSOLETE     }
+# OBSOLETE #if WITH_SCACHE
+# OBSOLETE       vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, sc);
+# OBSOLETE #else
+# OBSOLETE       vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, abuf);
+# OBSOLETE #endif
+# OBSOLETE       if (! virtual_p)
+# OBSOLETE     {
+# OBSOLETE       /* FIXME: call x-after */
+# OBSOLETE       if (PROFILE_MODEL_P (current_cpu)
+# OBSOLETE           && ARGBUF_PROFILE_P (abuf))
+# OBSOLETE         {
+# OBSOLETE           int cycles;
+# OBSOLETE 
+# OBSOLETE           cycles = (*idesc->timing->model_fn) (current_cpu, sc);
+# OBSOLETE           @cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
+# OBSOLETE         }
+# OBSOLETE       TRACE_INSN_FINI (current_cpu, abuf, 1);
+# OBSOLETE     }
+# OBSOLETE #else
+# OBSOLETE       abort ();
+# OBSOLETE #endif /* WITH_SEM_SWITCH_FULL */
+# OBSOLETE     }
+# OBSOLETE 
+# OBSOLETE   return vpc;
+# OBSOLETE }
+# OBSOLETE 
+# OBSOLETE EOF
+# OBSOLETE 
+# OBSOLETE ;;
+# OBSOLETE 
+# OBSOLETE xinit)
+# OBSOLETE 
+# OBSOLETE cat <<EOF
+# OBSOLETE /*xxxinit*/
+# OBSOLETE EOF
+# OBSOLETE 
+# OBSOLETE ;;
+# OBSOLETE 
+# OBSOLETE xextract-simple | xextract-scache)
+# OBSOLETE 
+# OBSOLETE # Inputs:  current_cpu, vpc, sc, FAST_P
+# OBSOLETE # Outputs: sc filled in
+# OBSOLETE 
+# OBSOLETE cat <<EOF
+# OBSOLETE {
+# OBSOLETE   CGEN_INSN_INT insn = GETIMEMUHI (current_cpu, vpc);
+# OBSOLETE   extract (current_cpu, vpc, insn, SEM_ARGBUF (sc), FAST_P);
+# OBSOLETE }
+# OBSOLETE EOF
+# OBSOLETE 
+# OBSOLETE ;;
+# OBSOLETE 
+# OBSOLETE xextract-pbb)
+# OBSOLETE 
+# OBSOLETE # Inputs:  current_cpu, pc, sc, max_insns, FAST_P
+# OBSOLETE # Outputs: sc, pc
+# OBSOLETE # sc must be left pointing past the last created entry.
+# OBSOLETE # pc must be left pointing past the last created entry.
+# OBSOLETE # If the pbb is terminated by a cti insn, SET_CTI_VPC(sc) must be called
+# OBSOLETE # to record the vpc of the cti insn.
+# OBSOLETE # SET_INSN_COUNT(n) must be called to record number of real insns.
+# OBSOLETE 
+# OBSOLETE cat <<EOF
+# OBSOLETE {
+# OBSOLETE   const IDESC *idesc;
+# OBSOLETE   int icount = 0;
+# OBSOLETE 
+# OBSOLETE   while (max_insns > 0)
+# OBSOLETE     {
+# OBSOLETE       UHI insn = GETIMEMUHI (current_cpu, pc);
+# OBSOLETE       idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
+# OBSOLETE       ++sc;
+# OBSOLETE       --max_insns;
+# OBSOLETE       ++icount;
+# OBSOLETE       pc += idesc->length;
+# OBSOLETE       if (IDESC_CTI_P (idesc))
+# OBSOLETE     {
+# OBSOLETE       SET_CTI_VPC (sc - 1);
+# OBSOLETE 
+# OBSOLETE       /* Delay slot? */
+# OBSOLETE       /* ??? breakpoints in delay slots */
+# OBSOLETE       if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT))
+# OBSOLETE         {
+# OBSOLETE           UHI insn = GETIMEMUHI (current_cpu, pc);
+# OBSOLETE           idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
+# OBSOLETE           if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_NOT_IN_DELAY_SLOT))
+# OBSOLETE             {
+# OBSOLETE               /* malformed program */
+# OBSOLETE               sim_io_eprintf (CPU_STATE (current_cpu),
+# OBSOLETE                               "malformed program, \`%s' insn in delay slot\n",
+# OBSOLETE                               CGEN_INSN_NAME (idesc->idata));
+# OBSOLETE             }
+# OBSOLETE           else
+# OBSOLETE             {
+# OBSOLETE               ++sc;
+# OBSOLETE               --max_insns;
+# OBSOLETE               ++icount;
+# OBSOLETE               pc += idesc->length;
+# OBSOLETE             }
+# OBSOLETE         }
+# OBSOLETE       break;
+# OBSOLETE     }
+# OBSOLETE     }
+# OBSOLETE 
+# OBSOLETE  Finish:
+# OBSOLETE   SET_INSN_COUNT (icount);
+# OBSOLETE }
+# OBSOLETE EOF
+# OBSOLETE 
+# OBSOLETE ;;
+# OBSOLETE 
+# OBSOLETE xfull-exec-* | xfast-exec-*)
+# OBSOLETE 
+# OBSOLETE # Inputs: current_cpu, sc, FAST_P
+# OBSOLETE # Outputs: vpc
+# OBSOLETE # vpc contains the address of the next insn to execute
+# OBSOLETE 
+# OBSOLETE cat <<EOF
+# OBSOLETE {
+# OBSOLETE #if (! FAST_P && WITH_SEM_SWITCH_FULL) || (FAST_P && WITH_SEM_SWITCH_FAST)
+# OBSOLETE #define DEFINE_SWITCH
+# OBSOLETE #include "sem-switch.c"
+# OBSOLETE #else
+# OBSOLETE   vpc = execute (current_cpu, vpc, FAST_P);
+# OBSOLETE #endif
+# OBSOLETE }
+# OBSOLETE EOF
+# OBSOLETE 
+# OBSOLETE ;;
+# OBSOLETE 
+# OBSOLETE *)
+# OBSOLETE   echo "Invalid argument to mainloop.in: $1" >&2
+# OBSOLETE   exit 1
+# OBSOLETE   ;;
+# OBSOLETE 
+# OBSOLETE esac
index a90f340..15a1ecc 100644 (file)
-/* Simulator model support for fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#define WANT_CPU fr30bf
-#define WANT_CPU_FR30BF
-
-#include "sim-main.h"
-
-/* The profiling data is recorded here, but is accessed via the profiling
-   mechanism.  After all, this is information for profiling.  */
-
-#if WITH_PROFILE_MODEL_P
-
-/* Model handlers for each insn.  */
-
-static int
-model_fr30_1_add (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_addi (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_add2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_addc (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_addn (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_addni (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_addn2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_sub (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_subc (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_subn (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_cmp (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_cmpi (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_cmp2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_and (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_or (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_eor (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_andm (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_andh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_andb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_orm (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_orh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_orb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_eorm (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_eorh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_eorb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bandl (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_borl (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_beorl (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bandh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_borh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_beorh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_btstl (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_btsth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_mul (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_mulu (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_mulh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_muluh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_div0s (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_div0u (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_div1 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_div2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_div3 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_div4s (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lsl (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lsli (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lsl2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lsr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lsri (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lsr2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_asr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_asri (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_asr2 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldi8.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldi20 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldi20.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldi32 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldi32.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ld (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_lduh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldub (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr13 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr13uh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr13ub (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr14 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr14.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr14uh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr14uh.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr14ub (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr14ub.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr15 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr15gr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15gr.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr15dr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldr15ps (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_st (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_sth (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_stb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str13 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str13h (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str13b (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str14 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str14.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str14h (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str14h.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str14b (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str14b.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str15 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str15.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str15gr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str15gr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str15dr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_str15ps (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_mov (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 1;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_movdr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movdr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_movps (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movdr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_mov2dr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_mov2ps (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_jmp (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_jmpd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_callr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_callrd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  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 in_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_call (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_call.f
-  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 in_Ri = -1;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_calld (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_call.f
-  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 in_Ri = -1;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ret (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ret_d (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_int (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_inte (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_reti (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_brad (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bra (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bnod (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bno (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_beqd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_beq (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bned (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bne (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bcd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bc (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bncd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bnc (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bnd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bn (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bpd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bp (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bvd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bv (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bnvd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bnv (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bltd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_blt (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bged (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bge (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bled (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ble (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bgtd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bgt (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_blsd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bls (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bhid (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_bhi (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  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 in_Ri = -1;
-    if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr13 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr13h (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr13b (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr13pi (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr13pih (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr13pib (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmovr15pi (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r13 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r13h (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r13b (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r13pi (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r13pih (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r13pib (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_dmov2r15pd (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldres (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_stres (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_copop (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_copld (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_copst (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_copsv (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_nop (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_andccr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_orccr (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_stilm (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_addsp (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_extsb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_extub (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_extsh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_extuh (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    in_Ri = FLD (in_Ri);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 2;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldm0 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldm0.f
-  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 in_reglist = 0;
-    cycles += fr30bf_model_fr30_1_u_ldm (current_cpu, idesc, 0, referenced, in_reglist);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_ldm1 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldm1.f
-  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 in_reglist = 0;
-    cycles += fr30bf_model_fr30_1_u_ldm (current_cpu, idesc, 0, referenced, in_reglist);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_stm0 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_stm0.f
-  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 in_reglist = 0;
-    cycles += fr30bf_model_fr30_1_u_stm (current_cpu, idesc, 0, referenced, in_reglist);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_stm1 (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_stm1.f
-  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 in_reglist = 0;
-    cycles += fr30bf_model_fr30_1_u_stm (current_cpu, idesc, 0, referenced, in_reglist);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_enter (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_enter.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_leave (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_enter.f
-  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 in_Ri = -1;
-    INT in_Rj = -1;
-    INT out_Ri = -1;
-    cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
-  }
-  return cycles;
-#undef FLD
-}
-
-static int
-model_fr30_1_xchb (SIM_CPU *current_cpu, void *sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  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 in_Rj = -1;
-    INT out_Ri = -1;
-    in_Rj = FLD (in_Rj);
-    out_Ri = FLD (out_Ri);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
-  }
-  {
-    int referenced = 0;
-    int UNUSED insn_referenced = abuf->written;
-    INT in_Ri = -1;
-    INT in_Rj = -1;
-    in_Ri = FLD (in_Ri);
-    in_Rj = FLD (in_Rj);
-    referenced |= 1 << 0;
-    referenced |= 1 << 1;
-    cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
-  }
-  return cycles;
-#undef FLD
-}
-
-/* We assume UNIT_NONE == 0 because the tables don't always terminate
-   entries with it.  */
-
-/* Model timing data for `fr30-1'.  */
-
-static const INSN_TIMING fr30_1_timing[] = {
-  { FR30BF_INSN_X_INVALID, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_X_AFTER, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_X_BEFORE, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_X_CHAIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_X_BEGIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADD, model_fr30_1_add, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADDI, model_fr30_1_addi, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADD2, model_fr30_1_add2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADDC, model_fr30_1_addc, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADDN, model_fr30_1_addn, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADDNI, model_fr30_1_addni, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADDN2, model_fr30_1_addn2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_SUB, model_fr30_1_sub, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_SUBC, model_fr30_1_subc, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_SUBN, model_fr30_1_subn, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_CMP, model_fr30_1_cmp, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_CMPI, model_fr30_1_cmpi, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_CMP2, model_fr30_1_cmp2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_AND, model_fr30_1_and, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_OR, model_fr30_1_or, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_EOR, model_fr30_1_eor, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ANDM, model_fr30_1_andm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_ANDH, model_fr30_1_andh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_ANDB, model_fr30_1_andb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_ORM, model_fr30_1_orm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_ORH, model_fr30_1_orh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_ORB, model_fr30_1_orb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_EORM, model_fr30_1_eorm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_EORH, model_fr30_1_eorh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_EORB, model_fr30_1_eorb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BANDL, model_fr30_1_bandl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BORL, model_fr30_1_borl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BEORL, model_fr30_1_beorl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BANDH, model_fr30_1_bandh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BORH, model_fr30_1_borh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BEORH, model_fr30_1_beorh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_BTSTL, model_fr30_1_btstl, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
-  { FR30BF_INSN_BTSTH, model_fr30_1_btsth, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
-  { FR30BF_INSN_MUL, model_fr30_1_mul, { { (int) UNIT_FR30_1_U_EXEC, 1, 5 } } },
-  { FR30BF_INSN_MULU, model_fr30_1_mulu, { { (int) UNIT_FR30_1_U_EXEC, 1, 5 } } },
-  { FR30BF_INSN_MULH, model_fr30_1_mulh, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } },
-  { FR30BF_INSN_MULUH, model_fr30_1_muluh, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } },
-  { FR30BF_INSN_DIV0S, model_fr30_1_div0s, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_DIV0U, model_fr30_1_div0u, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_DIV1, model_fr30_1_div1, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_DIV2, model_fr30_1_div2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_DIV3, model_fr30_1_div3, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_DIV4S, model_fr30_1_div4s, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LSL, model_fr30_1_lsl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LSLI, model_fr30_1_lsli, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LSL2, model_fr30_1_lsl2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LSR, model_fr30_1_lsr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LSRI, model_fr30_1_lsri, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LSR2, model_fr30_1_lsr2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ASR, model_fr30_1_asr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ASRI, model_fr30_1_asri, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ASR2, model_fr30_1_asr2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LDI8, model_fr30_1_ldi8, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LDI20, model_fr30_1_ldi20, { { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
-  { FR30BF_INSN_LDI32, model_fr30_1_ldi32, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } },
-  { FR30BF_INSN_LD, model_fr30_1_ld, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDUH, model_fr30_1_lduh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDUB, model_fr30_1_ldub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR13, model_fr30_1_ldr13, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR13UH, model_fr30_1_ldr13uh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR13UB, model_fr30_1_ldr13ub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR14, model_fr30_1_ldr14, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR14UH, model_fr30_1_ldr14uh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR14UB, model_fr30_1_ldr14ub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR15, model_fr30_1_ldr15, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR15GR, model_fr30_1_ldr15gr, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR15DR, model_fr30_1_ldr15dr, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_LDR15PS, model_fr30_1_ldr15ps, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_ST, model_fr30_1_st, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STH, model_fr30_1_sth, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STB, model_fr30_1_stb, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR13, model_fr30_1_str13, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR13H, model_fr30_1_str13h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR13B, model_fr30_1_str13b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR14, model_fr30_1_str14, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR14H, model_fr30_1_str14h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR14B, model_fr30_1_str14b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR15, model_fr30_1_str15, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR15GR, model_fr30_1_str15gr, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR15DR, model_fr30_1_str15dr, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_STR15PS, model_fr30_1_str15ps, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_MOV, model_fr30_1_mov, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_MOVDR, model_fr30_1_movdr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_MOVPS, model_fr30_1_movps, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_MOV2DR, model_fr30_1_mov2dr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_MOV2PS, model_fr30_1_mov2ps, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_JMP, model_fr30_1_jmp, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_JMPD, model_fr30_1_jmpd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_CALLR, model_fr30_1_callr, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_CALLRD, model_fr30_1_callrd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_CALL, model_fr30_1_call, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_CALLD, model_fr30_1_calld, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_RET, model_fr30_1_ret, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_RET_D, model_fr30_1_ret_d, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_INT, model_fr30_1_int, { { (int) UNIT_FR30_1_U_EXEC, 1, 6 } } },
-  { FR30BF_INSN_INTE, model_fr30_1_inte, { { (int) UNIT_FR30_1_U_EXEC, 1, 6 } } },
-  { FR30BF_INSN_RETI, model_fr30_1_reti, { { (int) UNIT_FR30_1_U_EXEC, 1, 4 } } },
-  { FR30BF_INSN_BRAD, model_fr30_1_brad, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BRA, model_fr30_1_bra, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNOD, model_fr30_1_bnod, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNO, model_fr30_1_bno, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BEQD, model_fr30_1_beqd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BEQ, model_fr30_1_beq, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNED, model_fr30_1_bned, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNE, model_fr30_1_bne, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BCD, model_fr30_1_bcd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BC, model_fr30_1_bc, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNCD, model_fr30_1_bncd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNC, model_fr30_1_bnc, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BND, model_fr30_1_bnd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BN, model_fr30_1_bn, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BPD, model_fr30_1_bpd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BP, model_fr30_1_bp, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BVD, model_fr30_1_bvd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BV, model_fr30_1_bv, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNVD, model_fr30_1_bnvd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BNV, model_fr30_1_bnv, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BLTD, model_fr30_1_bltd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BLT, model_fr30_1_blt, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BGED, model_fr30_1_bged, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BGE, model_fr30_1_bge, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BLED, model_fr30_1_bled, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BLE, model_fr30_1_ble, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BGTD, model_fr30_1_bgtd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BGT, model_fr30_1_bgt, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BLSD, model_fr30_1_blsd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BLS, model_fr30_1_bls, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BHID, model_fr30_1_bhid, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_BHI, model_fr30_1_bhi, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
-  { FR30BF_INSN_DMOVR13, model_fr30_1_dmovr13, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOVR13H, model_fr30_1_dmovr13h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOVR13B, model_fr30_1_dmovr13b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOVR13PI, model_fr30_1_dmovr13pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOVR13PIH, model_fr30_1_dmovr13pih, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOVR13PIB, model_fr30_1_dmovr13pib, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOVR15PI, model_fr30_1_dmovr15pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R13, model_fr30_1_dmov2r13, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R13H, model_fr30_1_dmov2r13h, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R13B, model_fr30_1_dmov2r13b, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R13PI, model_fr30_1_dmov2r13pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R13PIH, model_fr30_1_dmov2r13pih, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R13PIB, model_fr30_1_dmov2r13pib, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_DMOV2R15PD, model_fr30_1_dmov2r15pd, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-  { FR30BF_INSN_LDRES, model_fr30_1_ldres, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_STRES, model_fr30_1_stres, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_COPOP, model_fr30_1_copop, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_COPLD, model_fr30_1_copld, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_COPST, model_fr30_1_copst, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_COPSV, model_fr30_1_copsv, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_NOP, model_fr30_1_nop, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ANDCCR, model_fr30_1_andccr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ORCCR, model_fr30_1_orccr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_STILM, model_fr30_1_stilm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_ADDSP, model_fr30_1_addsp, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_EXTSB, model_fr30_1_extsb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_EXTUB, model_fr30_1_extub, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_EXTSH, model_fr30_1_extsh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_EXTUH, model_fr30_1_extuh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_LDM0, model_fr30_1_ldm0, { { (int) UNIT_FR30_1_U_LDM, 1, 1 } } },
-  { FR30BF_INSN_LDM1, model_fr30_1_ldm1, { { (int) UNIT_FR30_1_U_LDM, 1, 1 } } },
-  { FR30BF_INSN_STM0, model_fr30_1_stm0, { { (int) UNIT_FR30_1_U_STM, 1, 1 } } },
-  { FR30BF_INSN_STM1, model_fr30_1_stm1, { { (int) UNIT_FR30_1_U_STM, 1, 1 } } },
-  { FR30BF_INSN_ENTER, model_fr30_1_enter, { { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
-  { FR30BF_INSN_LEAVE, model_fr30_1_leave, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
-  { FR30BF_INSN_XCHB, model_fr30_1_xchb, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
-};
-
-#endif /* WITH_PROFILE_MODEL_P */
-
-static void
-fr30_1_model_init (SIM_CPU *cpu)
-{
-  CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_FR30_1_DATA));
-}
-
-#if WITH_PROFILE_MODEL_P
-#define TIMING_DATA(td) td
-#else
-#define TIMING_DATA(td) 0
-#endif
-
-static const MODEL fr30_models[] =
-{
-  { "fr30-1", & fr30_mach, MODEL_FR30_1, TIMING_DATA (& fr30_1_timing[0]), fr30_1_model_init },
-  { 0 }
-};
-
-/* The properties of this cpu's implementation.  */
-
-static const MACH_IMP_PROPERTIES fr30bf_imp_properties =
-{
-  sizeof (SIM_CPU),
-#if WITH_SCACHE
-  sizeof (SCACHE)
-#else
-  0
-#endif
-};
-
-
-static void
-fr30bf_prepare_run (SIM_CPU *cpu)
-{
-  if (CPU_IDESC (cpu) == NULL)
-    fr30bf_init_idesc_table (cpu);
-}
-
-static const CGEN_INSN *
-fr30bf_get_idata (SIM_CPU *cpu, int inum)
-{
-  return CPU_IDESC (cpu) [inum].idata;
-}
-
-static void
-fr30_init_cpu (SIM_CPU *cpu)
-{
-  CPU_REG_FETCH (cpu) = fr30bf_fetch_register;
-  CPU_REG_STORE (cpu) = fr30bf_store_register;
-  CPU_PC_FETCH (cpu) = fr30bf_h_pc_get;
-  CPU_PC_STORE (cpu) = fr30bf_h_pc_set;
-  CPU_GET_IDATA (cpu) = fr30bf_get_idata;
-  CPU_MAX_INSNS (cpu) = FR30BF_INSN_XCHB + 1;
-  CPU_INSN_NAME (cpu) = cgen_insn_name;
-  CPU_FULL_ENGINE_FN (cpu) = fr30bf_engine_run_full;
-#if WITH_FAST
-  CPU_FAST_ENGINE_FN (cpu) = fr30bf_engine_run_fast;
-#else
-  CPU_FAST_ENGINE_FN (cpu) = fr30bf_engine_run_full;
-#endif
-}
-
-const MACH fr30_mach =
-{
-  "fr30", "fr30", MACH_FR30,
-  32, 32, & fr30_models[0], & fr30bf_imp_properties,
-  fr30_init_cpu,
-  fr30bf_prepare_run
-};
-
+// OBSOLETE /* Simulator model support for fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #define WANT_CPU fr30bf
+// OBSOLETE #define WANT_CPU_FR30BF
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE 
+// OBSOLETE /* The profiling data is recorded here, but is accessed via the profiling
+// OBSOLETE    mechanism.  After all, this is information for profiling.  */
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE 
+// OBSOLETE /* Model handlers for each insn.  */
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_add (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_addi (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_add2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_addc (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_addn (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_addni (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_addn2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_sub (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_subc (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_subn (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_cmp (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_cmpi (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_cmp2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_and (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_or (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_eor (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_andm (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_andh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_andb (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_orm (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_orh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_orb (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_eorm (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_eorh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_eorb (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bandl (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_borl (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_beorl (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bandh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_borh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_beorh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_btstl (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_btsth (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_mul (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_mulu (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_mulh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_muluh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_div0s (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_div0u (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_div1 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_div2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_div3 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_div4s (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lsl (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lsli (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lsl2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lsr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lsri (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lsr2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_asr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_asri (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_asr2 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     if (insn_referenced & (1 << 0)) referenced |= 1 << 0;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldi20 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldi32 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ld (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_lduh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldub (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr13 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr13uh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr13ub (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr14 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr14uh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr14ub (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr15 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr15gr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr15dr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldr15ps (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_st (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_sth (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_stb (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str13 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str13h (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str13b (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str14 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str14h (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str14b (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str15 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str15gr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str15dr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_str15ps (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_mov (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_movdr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_movps (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_mov2dr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_mov2ps (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_jmp (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_jmpd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_callr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_callrd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_call (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_calld (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ret (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ret_d (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_int (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_inte (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_reti (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_brad (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bra (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bnod (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bno (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_beqd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_beq (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bned (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bne (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bcd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bc (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bncd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bnc (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bnd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bn (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bpd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bp (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bvd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bv (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bnvd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bnv (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bltd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_blt (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bged (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bge (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bled (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ble (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bgtd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bgt (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 4)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_blsd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bls (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bhid (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_bhi (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr13 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr13h (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr13b (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr13pi (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr13pih (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr13pib (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmovr15pi (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r13 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r13h (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r13b (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r13pi (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r13pih (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r13pib (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_dmov2r15pd (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldres (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_stres (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_copop (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_copld (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_copst (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_copsv (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_nop (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_andccr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_orccr (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_stilm (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_addsp (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_extsb (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_extub (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_extsh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_extuh (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 2;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldm0 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_reglist = 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_ldm (current_cpu, idesc, 0, referenced, in_reglist);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_ldm1 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_reglist = 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_ldm (current_cpu, idesc, 0, referenced, in_reglist);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_stm0 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_reglist = 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_stm (current_cpu, idesc, 0, referenced, in_reglist);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_stm1 (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_reglist = 0;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_stm (current_cpu, idesc, 0, referenced, in_reglist);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_enter (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_leave (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE model_fr30_1_xchb (SIM_CPU *current_cpu, void *sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
+// OBSOLETE   const IDESC * UNUSED idesc = abuf->idesc;
+// OBSOLETE   int cycles = 0;
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     INT out_Ri = -1;
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     out_Ri = FLD (out_Ri);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     int referenced = 0;
+// OBSOLETE     int UNUSED insn_referenced = abuf->written;
+// OBSOLETE     INT in_Ri = -1;
+// OBSOLETE     INT in_Rj = -1;
+// OBSOLETE     in_Ri = FLD (in_Ri);
+// OBSOLETE     in_Rj = FLD (in_Rj);
+// OBSOLETE     referenced |= 1 << 0;
+// OBSOLETE     referenced |= 1 << 1;
+// OBSOLETE     cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj);
+// OBSOLETE   }
+// OBSOLETE   return cycles;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* We assume UNIT_NONE == 0 because the tables don't always terminate
+// OBSOLETE    entries with it.  */
+// OBSOLETE 
+// OBSOLETE /* Model timing data for `fr30-1'.  */
+// OBSOLETE 
+// OBSOLETE static const INSN_TIMING fr30_1_timing[] = {
+// OBSOLETE   { FR30BF_INSN_X_INVALID, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_X_AFTER, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_X_BEFORE, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_X_CHAIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_X_BEGIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADD, model_fr30_1_add, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADDI, model_fr30_1_addi, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADD2, model_fr30_1_add2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADDC, model_fr30_1_addc, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADDN, model_fr30_1_addn, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADDNI, model_fr30_1_addni, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADDN2, model_fr30_1_addn2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_SUB, model_fr30_1_sub, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_SUBC, model_fr30_1_subc, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_SUBN, model_fr30_1_subn, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CMP, model_fr30_1_cmp, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CMPI, model_fr30_1_cmpi, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CMP2, model_fr30_1_cmp2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_AND, model_fr30_1_and, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_OR, model_fr30_1_or, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EOR, model_fr30_1_eor, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ANDM, model_fr30_1_andm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ANDH, model_fr30_1_andh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ANDB, model_fr30_1_andb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ORM, model_fr30_1_orm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ORH, model_fr30_1_orh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ORB, model_fr30_1_orb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EORM, model_fr30_1_eorm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EORH, model_fr30_1_eorh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EORB, model_fr30_1_eorb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BANDL, model_fr30_1_bandl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BORL, model_fr30_1_borl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BEORL, model_fr30_1_beorl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BANDH, model_fr30_1_bandh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BORH, model_fr30_1_borh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BEORH, model_fr30_1_beorh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BTSTL, model_fr30_1_btstl, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
+// OBSOLETE   { FR30BF_INSN_BTSTH, model_fr30_1_btsth, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
+// OBSOLETE   { FR30BF_INSN_MUL, model_fr30_1_mul, { { (int) UNIT_FR30_1_U_EXEC, 1, 5 } } },
+// OBSOLETE   { FR30BF_INSN_MULU, model_fr30_1_mulu, { { (int) UNIT_FR30_1_U_EXEC, 1, 5 } } },
+// OBSOLETE   { FR30BF_INSN_MULH, model_fr30_1_mulh, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } },
+// OBSOLETE   { FR30BF_INSN_MULUH, model_fr30_1_muluh, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } },
+// OBSOLETE   { FR30BF_INSN_DIV0S, model_fr30_1_div0s, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DIV0U, model_fr30_1_div0u, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DIV1, model_fr30_1_div1, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DIV2, model_fr30_1_div2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DIV3, model_fr30_1_div3, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DIV4S, model_fr30_1_div4s, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LSL, model_fr30_1_lsl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LSLI, model_fr30_1_lsli, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LSL2, model_fr30_1_lsl2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LSR, model_fr30_1_lsr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LSRI, model_fr30_1_lsri, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LSR2, model_fr30_1_lsr2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ASR, model_fr30_1_asr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ASRI, model_fr30_1_asri, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ASR2, model_fr30_1_asr2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDI8, model_fr30_1_ldi8, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDI20, model_fr30_1_ldi20, { { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
+// OBSOLETE   { FR30BF_INSN_LDI32, model_fr30_1_ldi32, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } },
+// OBSOLETE   { FR30BF_INSN_LD, model_fr30_1_ld, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDUH, model_fr30_1_lduh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDUB, model_fr30_1_ldub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR13, model_fr30_1_ldr13, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR13UH, model_fr30_1_ldr13uh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR13UB, model_fr30_1_ldr13ub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR14, model_fr30_1_ldr14, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR14UH, model_fr30_1_ldr14uh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR14UB, model_fr30_1_ldr14ub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR15, model_fr30_1_ldr15, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR15GR, model_fr30_1_ldr15gr, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR15DR, model_fr30_1_ldr15dr, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDR15PS, model_fr30_1_ldr15ps, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ST, model_fr30_1_st, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STH, model_fr30_1_sth, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STB, model_fr30_1_stb, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR13, model_fr30_1_str13, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR13H, model_fr30_1_str13h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR13B, model_fr30_1_str13b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR14, model_fr30_1_str14, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR14H, model_fr30_1_str14h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR14B, model_fr30_1_str14b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR15, model_fr30_1_str15, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR15GR, model_fr30_1_str15gr, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR15DR, model_fr30_1_str15dr, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STR15PS, model_fr30_1_str15ps, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_MOV, model_fr30_1_mov, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_MOVDR, model_fr30_1_movdr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_MOVPS, model_fr30_1_movps, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_MOV2DR, model_fr30_1_mov2dr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_MOV2PS, model_fr30_1_mov2ps, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_JMP, model_fr30_1_jmp, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_JMPD, model_fr30_1_jmpd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CALLR, model_fr30_1_callr, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CALLRD, model_fr30_1_callrd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CALL, model_fr30_1_call, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_CALLD, model_fr30_1_calld, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_RET, model_fr30_1_ret, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_RET_D, model_fr30_1_ret_d, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_INT, model_fr30_1_int, { { (int) UNIT_FR30_1_U_EXEC, 1, 6 } } },
+// OBSOLETE   { FR30BF_INSN_INTE, model_fr30_1_inte, { { (int) UNIT_FR30_1_U_EXEC, 1, 6 } } },
+// OBSOLETE   { FR30BF_INSN_RETI, model_fr30_1_reti, { { (int) UNIT_FR30_1_U_EXEC, 1, 4 } } },
+// OBSOLETE   { FR30BF_INSN_BRAD, model_fr30_1_brad, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BRA, model_fr30_1_bra, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNOD, model_fr30_1_bnod, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNO, model_fr30_1_bno, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BEQD, model_fr30_1_beqd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BEQ, model_fr30_1_beq, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNED, model_fr30_1_bned, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNE, model_fr30_1_bne, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BCD, model_fr30_1_bcd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BC, model_fr30_1_bc, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNCD, model_fr30_1_bncd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNC, model_fr30_1_bnc, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BND, model_fr30_1_bnd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BN, model_fr30_1_bn, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BPD, model_fr30_1_bpd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BP, model_fr30_1_bp, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BVD, model_fr30_1_bvd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BV, model_fr30_1_bv, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNVD, model_fr30_1_bnvd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BNV, model_fr30_1_bnv, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BLTD, model_fr30_1_bltd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BLT, model_fr30_1_blt, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BGED, model_fr30_1_bged, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BGE, model_fr30_1_bge, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BLED, model_fr30_1_bled, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BLE, model_fr30_1_ble, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BGTD, model_fr30_1_bgtd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BGT, model_fr30_1_bgt, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BLSD, model_fr30_1_blsd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BLS, model_fr30_1_bls, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BHID, model_fr30_1_bhid, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_BHI, model_fr30_1_bhi, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR13, model_fr30_1_dmovr13, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR13H, model_fr30_1_dmovr13h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR13B, model_fr30_1_dmovr13b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR13PI, model_fr30_1_dmovr13pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR13PIH, model_fr30_1_dmovr13pih, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR13PIB, model_fr30_1_dmovr13pib, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOVR15PI, model_fr30_1_dmovr15pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13, model_fr30_1_dmov2r13, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13H, model_fr30_1_dmov2r13h, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13B, model_fr30_1_dmov2r13b, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13PI, model_fr30_1_dmov2r13pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13PIH, model_fr30_1_dmov2r13pih, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13PIB, model_fr30_1_dmov2r13pib, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_DMOV2R15PD, model_fr30_1_dmov2r15pd, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDRES, model_fr30_1_ldres, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STRES, model_fr30_1_stres, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_COPOP, model_fr30_1_copop, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_COPLD, model_fr30_1_copld, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_COPST, model_fr30_1_copst, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_COPSV, model_fr30_1_copsv, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_NOP, model_fr30_1_nop, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ANDCCR, model_fr30_1_andccr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ORCCR, model_fr30_1_orccr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STILM, model_fr30_1_stilm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ADDSP, model_fr30_1_addsp, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EXTSB, model_fr30_1_extsb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EXTUB, model_fr30_1_extub, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EXTSH, model_fr30_1_extsh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_EXTUH, model_fr30_1_extuh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDM0, model_fr30_1_ldm0, { { (int) UNIT_FR30_1_U_LDM, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_LDM1, model_fr30_1_ldm1, { { (int) UNIT_FR30_1_U_LDM, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STM0, model_fr30_1_stm0, { { (int) UNIT_FR30_1_U_STM, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_STM1, model_fr30_1_stm1, { { (int) UNIT_FR30_1_U_STM, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_ENTER, model_fr30_1_enter, { { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } },
+// OBSOLETE   { FR30BF_INSN_LEAVE, model_fr30_1_leave, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } },
+// OBSOLETE   { FR30BF_INSN_XCHB, model_fr30_1_xchb, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } },
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE #endif /* WITH_PROFILE_MODEL_P */
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE fr30_1_model_init (SIM_CPU *cpu)
+// OBSOLETE {
+// OBSOLETE   CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_FR30_1_DATA));
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #if WITH_PROFILE_MODEL_P
+// OBSOLETE #define TIMING_DATA(td) td
+// OBSOLETE #else
+// OBSOLETE #define TIMING_DATA(td) 0
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE static const MODEL fr30_models[] =
+// OBSOLETE {
+// OBSOLETE   { "fr30-1", & fr30_mach, MODEL_FR30_1, TIMING_DATA (& fr30_1_timing[0]), fr30_1_model_init },
+// OBSOLETE   { 0 }
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE /* The properties of this cpu's implementation.  */
+// OBSOLETE 
+// OBSOLETE static const MACH_IMP_PROPERTIES fr30bf_imp_properties =
+// OBSOLETE {
+// OBSOLETE   sizeof (SIM_CPU),
+// OBSOLETE #if WITH_SCACHE
+// OBSOLETE   sizeof (SCACHE)
+// OBSOLETE #else
+// OBSOLETE   0
+// OBSOLETE #endif
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE fr30bf_prepare_run (SIM_CPU *cpu)
+// OBSOLETE {
+// OBSOLETE   if (CPU_IDESC (cpu) == NULL)
+// OBSOLETE     fr30bf_init_idesc_table (cpu);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static const CGEN_INSN *
+// OBSOLETE fr30bf_get_idata (SIM_CPU *cpu, int inum)
+// OBSOLETE {
+// OBSOLETE   return CPU_IDESC (cpu) [inum].idata;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE fr30_init_cpu (SIM_CPU *cpu)
+// OBSOLETE {
+// OBSOLETE   CPU_REG_FETCH (cpu) = fr30bf_fetch_register;
+// OBSOLETE   CPU_REG_STORE (cpu) = fr30bf_store_register;
+// OBSOLETE   CPU_PC_FETCH (cpu) = fr30bf_h_pc_get;
+// OBSOLETE   CPU_PC_STORE (cpu) = fr30bf_h_pc_set;
+// OBSOLETE   CPU_GET_IDATA (cpu) = fr30bf_get_idata;
+// OBSOLETE   CPU_MAX_INSNS (cpu) = FR30BF_INSN_XCHB + 1;
+// OBSOLETE   CPU_INSN_NAME (cpu) = cgen_insn_name;
+// OBSOLETE   CPU_FULL_ENGINE_FN (cpu) = fr30bf_engine_run_full;
+// OBSOLETE #if WITH_FAST
+// OBSOLETE   CPU_FAST_ENGINE_FN (cpu) = fr30bf_engine_run_fast;
+// OBSOLETE #else
+// OBSOLETE   CPU_FAST_ENGINE_FN (cpu) = fr30bf_engine_run_full;
+// OBSOLETE #endif
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE const MACH fr30_mach =
+// OBSOLETE {
+// OBSOLETE   "fr30", "fr30", MACH_FR30,
+// OBSOLETE   32, 32, & fr30_models[0], & fr30bf_imp_properties,
+// OBSOLETE   fr30_init_cpu,
+// OBSOLETE   fr30bf_prepare_run
+// OBSOLETE };
index 837e29f..15f3c22 100644 (file)
-/* Simulator instruction semantics for fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifdef DEFINE_LABELS
-
-  /* The labels have the case they have because the enum of insn types
-     is all uppercase and in the non-stdc case the insn symbol is built
-     into the enum name.  */
-
-  static struct {
-    int index;
-    void *label;
-  } labels[] = {
-    { FR30BF_INSN_X_INVALID, && case_sem_INSN_X_INVALID },
-    { FR30BF_INSN_X_AFTER, && case_sem_INSN_X_AFTER },
-    { FR30BF_INSN_X_BEFORE, && case_sem_INSN_X_BEFORE },
-    { FR30BF_INSN_X_CTI_CHAIN, && case_sem_INSN_X_CTI_CHAIN },
-    { FR30BF_INSN_X_CHAIN, && case_sem_INSN_X_CHAIN },
-    { FR30BF_INSN_X_BEGIN, && case_sem_INSN_X_BEGIN },
-    { FR30BF_INSN_ADD, && case_sem_INSN_ADD },
-    { FR30BF_INSN_ADDI, && case_sem_INSN_ADDI },
-    { FR30BF_INSN_ADD2, && case_sem_INSN_ADD2 },
-    { FR30BF_INSN_ADDC, && case_sem_INSN_ADDC },
-    { FR30BF_INSN_ADDN, && case_sem_INSN_ADDN },
-    { FR30BF_INSN_ADDNI, && case_sem_INSN_ADDNI },
-    { FR30BF_INSN_ADDN2, && case_sem_INSN_ADDN2 },
-    { FR30BF_INSN_SUB, && case_sem_INSN_SUB },
-    { FR30BF_INSN_SUBC, && case_sem_INSN_SUBC },
-    { FR30BF_INSN_SUBN, && case_sem_INSN_SUBN },
-    { FR30BF_INSN_CMP, && case_sem_INSN_CMP },
-    { FR30BF_INSN_CMPI, && case_sem_INSN_CMPI },
-    { FR30BF_INSN_CMP2, && case_sem_INSN_CMP2 },
-    { FR30BF_INSN_AND, && case_sem_INSN_AND },
-    { FR30BF_INSN_OR, && case_sem_INSN_OR },
-    { FR30BF_INSN_EOR, && case_sem_INSN_EOR },
-    { FR30BF_INSN_ANDM, && case_sem_INSN_ANDM },
-    { FR30BF_INSN_ANDH, && case_sem_INSN_ANDH },
-    { FR30BF_INSN_ANDB, && case_sem_INSN_ANDB },
-    { FR30BF_INSN_ORM, && case_sem_INSN_ORM },
-    { FR30BF_INSN_ORH, && case_sem_INSN_ORH },
-    { FR30BF_INSN_ORB, && case_sem_INSN_ORB },
-    { FR30BF_INSN_EORM, && case_sem_INSN_EORM },
-    { FR30BF_INSN_EORH, && case_sem_INSN_EORH },
-    { FR30BF_INSN_EORB, && case_sem_INSN_EORB },
-    { FR30BF_INSN_BANDL, && case_sem_INSN_BANDL },
-    { FR30BF_INSN_BORL, && case_sem_INSN_BORL },
-    { FR30BF_INSN_BEORL, && case_sem_INSN_BEORL },
-    { FR30BF_INSN_BANDH, && case_sem_INSN_BANDH },
-    { FR30BF_INSN_BORH, && case_sem_INSN_BORH },
-    { FR30BF_INSN_BEORH, && case_sem_INSN_BEORH },
-    { FR30BF_INSN_BTSTL, && case_sem_INSN_BTSTL },
-    { FR30BF_INSN_BTSTH, && case_sem_INSN_BTSTH },
-    { FR30BF_INSN_MUL, && case_sem_INSN_MUL },
-    { FR30BF_INSN_MULU, && case_sem_INSN_MULU },
-    { FR30BF_INSN_MULH, && case_sem_INSN_MULH },
-    { FR30BF_INSN_MULUH, && case_sem_INSN_MULUH },
-    { FR30BF_INSN_DIV0S, && case_sem_INSN_DIV0S },
-    { FR30BF_INSN_DIV0U, && case_sem_INSN_DIV0U },
-    { FR30BF_INSN_DIV1, && case_sem_INSN_DIV1 },
-    { FR30BF_INSN_DIV2, && case_sem_INSN_DIV2 },
-    { FR30BF_INSN_DIV3, && case_sem_INSN_DIV3 },
-    { FR30BF_INSN_DIV4S, && case_sem_INSN_DIV4S },
-    { FR30BF_INSN_LSL, && case_sem_INSN_LSL },
-    { FR30BF_INSN_LSLI, && case_sem_INSN_LSLI },
-    { FR30BF_INSN_LSL2, && case_sem_INSN_LSL2 },
-    { FR30BF_INSN_LSR, && case_sem_INSN_LSR },
-    { FR30BF_INSN_LSRI, && case_sem_INSN_LSRI },
-    { FR30BF_INSN_LSR2, && case_sem_INSN_LSR2 },
-    { FR30BF_INSN_ASR, && case_sem_INSN_ASR },
-    { FR30BF_INSN_ASRI, && case_sem_INSN_ASRI },
-    { FR30BF_INSN_ASR2, && case_sem_INSN_ASR2 },
-    { FR30BF_INSN_LDI8, && case_sem_INSN_LDI8 },
-    { FR30BF_INSN_LDI20, && case_sem_INSN_LDI20 },
-    { FR30BF_INSN_LDI32, && case_sem_INSN_LDI32 },
-    { FR30BF_INSN_LD, && case_sem_INSN_LD },
-    { FR30BF_INSN_LDUH, && case_sem_INSN_LDUH },
-    { FR30BF_INSN_LDUB, && case_sem_INSN_LDUB },
-    { FR30BF_INSN_LDR13, && case_sem_INSN_LDR13 },
-    { FR30BF_INSN_LDR13UH, && case_sem_INSN_LDR13UH },
-    { FR30BF_INSN_LDR13UB, && case_sem_INSN_LDR13UB },
-    { FR30BF_INSN_LDR14, && case_sem_INSN_LDR14 },
-    { FR30BF_INSN_LDR14UH, && case_sem_INSN_LDR14UH },
-    { FR30BF_INSN_LDR14UB, && case_sem_INSN_LDR14UB },
-    { FR30BF_INSN_LDR15, && case_sem_INSN_LDR15 },
-    { FR30BF_INSN_LDR15GR, && case_sem_INSN_LDR15GR },
-    { FR30BF_INSN_LDR15DR, && case_sem_INSN_LDR15DR },
-    { FR30BF_INSN_LDR15PS, && case_sem_INSN_LDR15PS },
-    { FR30BF_INSN_ST, && case_sem_INSN_ST },
-    { FR30BF_INSN_STH, && case_sem_INSN_STH },
-    { FR30BF_INSN_STB, && case_sem_INSN_STB },
-    { FR30BF_INSN_STR13, && case_sem_INSN_STR13 },
-    { FR30BF_INSN_STR13H, && case_sem_INSN_STR13H },
-    { FR30BF_INSN_STR13B, && case_sem_INSN_STR13B },
-    { FR30BF_INSN_STR14, && case_sem_INSN_STR14 },
-    { FR30BF_INSN_STR14H, && case_sem_INSN_STR14H },
-    { FR30BF_INSN_STR14B, && case_sem_INSN_STR14B },
-    { FR30BF_INSN_STR15, && case_sem_INSN_STR15 },
-    { FR30BF_INSN_STR15GR, && case_sem_INSN_STR15GR },
-    { FR30BF_INSN_STR15DR, && case_sem_INSN_STR15DR },
-    { FR30BF_INSN_STR15PS, && case_sem_INSN_STR15PS },
-    { FR30BF_INSN_MOV, && case_sem_INSN_MOV },
-    { FR30BF_INSN_MOVDR, && case_sem_INSN_MOVDR },
-    { FR30BF_INSN_MOVPS, && case_sem_INSN_MOVPS },
-    { FR30BF_INSN_MOV2DR, && case_sem_INSN_MOV2DR },
-    { FR30BF_INSN_MOV2PS, && case_sem_INSN_MOV2PS },
-    { FR30BF_INSN_JMP, && case_sem_INSN_JMP },
-    { FR30BF_INSN_JMPD, && case_sem_INSN_JMPD },
-    { FR30BF_INSN_CALLR, && case_sem_INSN_CALLR },
-    { FR30BF_INSN_CALLRD, && case_sem_INSN_CALLRD },
-    { FR30BF_INSN_CALL, && case_sem_INSN_CALL },
-    { FR30BF_INSN_CALLD, && case_sem_INSN_CALLD },
-    { FR30BF_INSN_RET, && case_sem_INSN_RET },
-    { FR30BF_INSN_RET_D, && case_sem_INSN_RET_D },
-    { FR30BF_INSN_INT, && case_sem_INSN_INT },
-    { FR30BF_INSN_INTE, && case_sem_INSN_INTE },
-    { FR30BF_INSN_RETI, && case_sem_INSN_RETI },
-    { FR30BF_INSN_BRAD, && case_sem_INSN_BRAD },
-    { FR30BF_INSN_BRA, && case_sem_INSN_BRA },
-    { FR30BF_INSN_BNOD, && case_sem_INSN_BNOD },
-    { FR30BF_INSN_BNO, && case_sem_INSN_BNO },
-    { FR30BF_INSN_BEQD, && case_sem_INSN_BEQD },
-    { FR30BF_INSN_BEQ, && case_sem_INSN_BEQ },
-    { FR30BF_INSN_BNED, && case_sem_INSN_BNED },
-    { FR30BF_INSN_BNE, && case_sem_INSN_BNE },
-    { FR30BF_INSN_BCD, && case_sem_INSN_BCD },
-    { FR30BF_INSN_BC, && case_sem_INSN_BC },
-    { FR30BF_INSN_BNCD, && case_sem_INSN_BNCD },
-    { FR30BF_INSN_BNC, && case_sem_INSN_BNC },
-    { FR30BF_INSN_BND, && case_sem_INSN_BND },
-    { FR30BF_INSN_BN, && case_sem_INSN_BN },
-    { FR30BF_INSN_BPD, && case_sem_INSN_BPD },
-    { FR30BF_INSN_BP, && case_sem_INSN_BP },
-    { FR30BF_INSN_BVD, && case_sem_INSN_BVD },
-    { FR30BF_INSN_BV, && case_sem_INSN_BV },
-    { FR30BF_INSN_BNVD, && case_sem_INSN_BNVD },
-    { FR30BF_INSN_BNV, && case_sem_INSN_BNV },
-    { FR30BF_INSN_BLTD, && case_sem_INSN_BLTD },
-    { FR30BF_INSN_BLT, && case_sem_INSN_BLT },
-    { FR30BF_INSN_BGED, && case_sem_INSN_BGED },
-    { FR30BF_INSN_BGE, && case_sem_INSN_BGE },
-    { FR30BF_INSN_BLED, && case_sem_INSN_BLED },
-    { FR30BF_INSN_BLE, && case_sem_INSN_BLE },
-    { FR30BF_INSN_BGTD, && case_sem_INSN_BGTD },
-    { FR30BF_INSN_BGT, && case_sem_INSN_BGT },
-    { FR30BF_INSN_BLSD, && case_sem_INSN_BLSD },
-    { FR30BF_INSN_BLS, && case_sem_INSN_BLS },
-    { FR30BF_INSN_BHID, && case_sem_INSN_BHID },
-    { FR30BF_INSN_BHI, && case_sem_INSN_BHI },
-    { FR30BF_INSN_DMOVR13, && case_sem_INSN_DMOVR13 },
-    { FR30BF_INSN_DMOVR13H, && case_sem_INSN_DMOVR13H },
-    { FR30BF_INSN_DMOVR13B, && case_sem_INSN_DMOVR13B },
-    { FR30BF_INSN_DMOVR13PI, && case_sem_INSN_DMOVR13PI },
-    { FR30BF_INSN_DMOVR13PIH, && case_sem_INSN_DMOVR13PIH },
-    { FR30BF_INSN_DMOVR13PIB, && case_sem_INSN_DMOVR13PIB },
-    { FR30BF_INSN_DMOVR15PI, && case_sem_INSN_DMOVR15PI },
-    { FR30BF_INSN_DMOV2R13, && case_sem_INSN_DMOV2R13 },
-    { FR30BF_INSN_DMOV2R13H, && case_sem_INSN_DMOV2R13H },
-    { FR30BF_INSN_DMOV2R13B, && case_sem_INSN_DMOV2R13B },
-    { FR30BF_INSN_DMOV2R13PI, && case_sem_INSN_DMOV2R13PI },
-    { FR30BF_INSN_DMOV2R13PIH, && case_sem_INSN_DMOV2R13PIH },
-    { FR30BF_INSN_DMOV2R13PIB, && case_sem_INSN_DMOV2R13PIB },
-    { FR30BF_INSN_DMOV2R15PD, && case_sem_INSN_DMOV2R15PD },
-    { FR30BF_INSN_LDRES, && case_sem_INSN_LDRES },
-    { FR30BF_INSN_STRES, && case_sem_INSN_STRES },
-    { FR30BF_INSN_COPOP, && case_sem_INSN_COPOP },
-    { FR30BF_INSN_COPLD, && case_sem_INSN_COPLD },
-    { FR30BF_INSN_COPST, && case_sem_INSN_COPST },
-    { FR30BF_INSN_COPSV, && case_sem_INSN_COPSV },
-    { FR30BF_INSN_NOP, && case_sem_INSN_NOP },
-    { FR30BF_INSN_ANDCCR, && case_sem_INSN_ANDCCR },
-    { FR30BF_INSN_ORCCR, && case_sem_INSN_ORCCR },
-    { FR30BF_INSN_STILM, && case_sem_INSN_STILM },
-    { FR30BF_INSN_ADDSP, && case_sem_INSN_ADDSP },
-    { FR30BF_INSN_EXTSB, && case_sem_INSN_EXTSB },
-    { FR30BF_INSN_EXTUB, && case_sem_INSN_EXTUB },
-    { FR30BF_INSN_EXTSH, && case_sem_INSN_EXTSH },
-    { FR30BF_INSN_EXTUH, && case_sem_INSN_EXTUH },
-    { FR30BF_INSN_LDM0, && case_sem_INSN_LDM0 },
-    { FR30BF_INSN_LDM1, && case_sem_INSN_LDM1 },
-    { FR30BF_INSN_STM0, && case_sem_INSN_STM0 },
-    { FR30BF_INSN_STM1, && case_sem_INSN_STM1 },
-    { FR30BF_INSN_ENTER, && case_sem_INSN_ENTER },
-    { FR30BF_INSN_LEAVE, && case_sem_INSN_LEAVE },
-    { FR30BF_INSN_XCHB, && case_sem_INSN_XCHB },
-    { 0, 0 }
-  };
-  int i;
-
-  for (i = 0; labels[i].label != 0; ++i)
-    {
-#if FAST_P
-      CPU_IDESC (current_cpu) [labels[i].index].sem_fast_lab = labels[i].label;
-#else
-      CPU_IDESC (current_cpu) [labels[i].index].sem_full_lab = labels[i].label;
-#endif
-    }
-
-#undef DEFINE_LABELS
-#endif /* DEFINE_LABELS */
-
-#ifdef DEFINE_SWITCH
-
-/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
-   off frills like tracing and profiling.  */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
-   that can cause it to be optimized out.  Another way would be to emit
-   special handlers into the instruction "stream".  */
-
-#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
-#endif
-
-#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
-
-{
-
-#if WITH_SCACHE_PBB
-
-/* Branch to next handler without going around main loop.  */
-#define NEXT(vpc) goto * SEM_ARGBUF (vpc) -> semantic.sem_case
-SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
-
-#else /* ! WITH_SCACHE_PBB */
-
-#define NEXT(vpc) BREAK (sem)
-#ifdef __GNUC__
-#if FAST_P
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_fast_lab)
-#else
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_full_lab)
-#endif
-#else
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->num)
-#endif
-
-#endif /* ! WITH_SCACHE_PBB */
-
-    {
-
-  CASE (sem, INSN_X_INVALID) : /* --invalid-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-    /* Update the recorded pc in the cpu state struct.
-       Only necessary for WITH_SCACHE case, but to avoid the
-       conditional compilation ....  */
-    SET_H_PC (pc);
-    /* Virtual insns have zero size.  Overwrite vpc with address of next insn
-       using the default-insn-bitsize spec.  When executing insns in parallel
-       we may want to queue the fault and continue execution.  */
-    vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-    vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_AFTER) : /* --after-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-    fr30bf_pbb_after (current_cpu, sem_arg);
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_BEFORE) : /* --before-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-    fr30bf_pbb_before (current_cpu, sem_arg);
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_CTI_CHAIN) : /* --cti-chain-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-#ifdef DEFINE_SWITCH
-    vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
-                              pbb_br_type, pbb_br_npc);
-    BREAK (sem);
-#else
-    /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
-    vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
-                              CPU_PBB_BR_TYPE (current_cpu),
-                              CPU_PBB_BR_NPC (current_cpu));
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_CHAIN) : /* --chain-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-    vpc = fr30bf_pbb_chain (current_cpu, sem_arg);
-#ifdef DEFINE_SWITCH
-    BREAK (sem);
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_BEGIN) : /* --begin-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-#if defined DEFINE_SWITCH || defined FAST_P
-    /* In the switch case FAST_P is a constant, allowing several optimizations
-       in any called inline functions.  */
-    vpc = fr30bf_pbb_begin (current_cpu, FAST_P);
-#else
-#if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
-    vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
-#else
-    vpc = fr30bf_pbb_begin (current_cpu, 0);
-#endif
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADD) : /* add $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDI) : /* add $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADD2) : /* add2 $m4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDC) : /* addc $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDN) : /* addn $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDNI) : /* addn $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDN2) : /* addn2 $m4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUB) : /* sub $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUBC) : /* subc $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUBN) : /* subn $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMP) : /* cmp $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp1;
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp1, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp1, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPI) : /* cmp $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp1;
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4));
-{
-  {
-    BI opval = EQSI (tmp_tmp1, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp1, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMP2) : /* cmp2 $m4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp1;
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4));
-{
-  {
-    BI opval = EQSI (tmp_tmp1, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp1, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_AND) : /* and $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OR) : /* or $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EOR) : /* eor $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDM) : /* and $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDH) : /* andh $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_tmp;
-  tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQHI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTHI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    HI opval = tmp_tmp;
-    SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDB) : /* andb $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    QI opval = tmp_tmp;
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORM) : /* or $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORH) : /* orh $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_tmp;
-  tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQHI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTHI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    HI opval = tmp_tmp;
-    SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORB) : /* orb $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    QI opval = tmp_tmp;
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EORM) : /* eor $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EORH) : /* eorh $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_tmp;
-  tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQHI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTHI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    HI opval = tmp_tmp;
-    SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EORB) : /* eorb $Rj,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    QI opval = tmp_tmp;
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BANDL) : /* bandl $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BORL) : /* borl $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BEORL) : /* beorl $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BANDH) : /* bandh $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BORH) : /* borh $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BEORH) : /* beorh $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BTSTL) : /* btstl $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BTSTH) : /* btsth $u4,@$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MUL) : /* mul $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_tmp;
-  tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri)));
-  {
-    SI opval = TRUNCDISI (tmp_tmp);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQDI (tmp_tmp, MAKEDI (0, 0));
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000))));
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULU) : /* mulu $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_tmp;
-  tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri)));
-  {
-    SI opval = TRUNCDISI (tmp_tmp);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 4)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = NESI (GET_H_DR (((UINT) 4)), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULH) : /* mulh $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri)));
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULUH) : /* muluh $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535));
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV0S) : /* div0s $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_d0bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
-  }
-  {
-    BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0));
-    CPU (h_d1bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
-  }
-if (NEBI (CPU (h_d0bit), 0)) {
-  {
-    SI opval = 0xffffffff;
-    SET_H_DR (((UINT) 4), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-} else {
-  {
-    SI opval = 0;
-    SET_H_DR (((UINT) 4), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV0U) : /* div0u $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = 0;
-    CPU (h_d0bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    CPU (h_d1bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
-  }
-  {
-    SI opval = 0;
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV1) : /* div1 $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  {
-    SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1);
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-if (LTSI (GET_H_DR (((UINT) 5)), 0)) {
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1);
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-  {
-    SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-if (EQBI (CPU (h_d1bit), 1)) {
-{
-  tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-} else {
-{
-  tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-}
-if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) {
-{
-  {
-    SI opval = tmp_tmp;
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = ORSI (GET_H_DR (((UINT) 5)), 1);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-}
-  {
-    BI opval = EQSI (GET_H_DR (((UINT) 4)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV2) : /* div2 $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-if (EQBI (CPU (h_d1bit), 1)) {
-{
-  tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-} else {
-{
-  tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-}
-if (EQSI (tmp_tmp, 0)) {
-{
-  {
-    BI opval = 1;
-    CPU (h_zbit) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    SI opval = 0;
-    SET_H_DR (((UINT) 4), opval);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_zbit) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV3) : /* div3 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (EQBI (CPU (h_zbit), 1)) {
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1);
-    SET_H_DR (((UINT) 5), opval);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV4S) : /* div4s */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (EQBI (CPU (h_d1bit), 1)) {
-  {
-    SI opval = NEGSI (GET_H_DR (((UINT) 5)));
-    SET_H_DR (((UINT) 5), opval);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LSL) : /* lsl $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ANDSI (* FLD (i_Rj), 31);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LSLI) : /* lsl $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = FLD (f_u4);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LSL2) : /* lsl2 $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ADDSI (FLD (f_u4), 16);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LSR) : /* lsr $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ANDSI (* FLD (i_Rj), 31);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LSRI) : /* lsr $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = FLD (f_u4);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LSR2) : /* lsr2 $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ADDSI (FLD (f_u4), 16);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ASR) : /* asr $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ANDSI (* FLD (i_Rj), 31);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRASI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ASRI) : /* asr $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = FLD (f_u4);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRASI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ASR2) : /* asr2 $u4,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ADDSI (FLD (f_u4), 16);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRASI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDI8) : /* ldi:8 $i8,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldi8.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = FLD (f_i8);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDI20) : /* ldi:20 $i20,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldi20.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = FLD (f_i20);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDI32) : /* ldi:32 $i32,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldi32.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
-
-  {
-    SI opval = FLD (f_i32);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LD) : /* ld @$Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDUH) : /* lduh @$Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDUB) : /* ldub @$Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR13) : /* ld @($R13,$Rj),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR13UH) : /* lduh @($R13,$Rj),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR13UB) : /* ldub @($R13,$Rj),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR14) : /* ld @($R14,$disp10),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr14.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR14UH) : /* lduh @($R14,$disp9),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr14uh.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR14UB) : /* ldub @($R14,$disp8),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr14ub.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR15) : /* ld @($R15,$udisp6),$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr15.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR15GR) : /* ld @$R15+,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr15gr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-if (NESI (FLD (f_Ri), 15)) {
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR15DR) : /* ld @$R15+,$Rs2 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    SET_H_DR (FLD (f_Rs2), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDR15PS) : /* ld @$R15+,$ps */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    SET_H_PS (opval);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ST) : /* st $Ri,@$Rj */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STH) : /* sth $Ri,@$Rj */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = * FLD (i_Ri);
-    SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STB) : /* stb $Ri,@$Rj */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = * FLD (i_Ri);
-    SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR13) : /* st $Ri,@($R13,$Rj) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR13H) : /* sth $Ri,@($R13,$Rj) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = * FLD (i_Ri);
-    SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR13B) : /* stb $Ri,@($R13,$Rj) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = * FLD (i_Ri);
-    SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR14) : /* st $Ri,@($R14,$disp10) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str14.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR14H) : /* sth $Ri,@($R14,$disp9) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str14h.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = * FLD (i_Ri);
-    SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR14B) : /* stb $Ri,@($R14,$disp8) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str14b.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = * FLD (i_Ri);
-    SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR15) : /* st $Ri,@($R15,$udisp6) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str15.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR15GR) : /* st $Ri,@-$R15 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_str15gr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = * FLD (i_Ri);
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR15DR) : /* st $Rs2,@-$R15 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = GET_H_DR (FLD (f_Rs2));
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STR15PS) : /* st $ps,@-$R15 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = GET_H_PS ();
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOV) : /* mov $Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Rj);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVDR) : /* mov $Rs1,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movdr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_DR (FLD (f_Rs1));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVPS) : /* mov $ps,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movdr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_PS ();
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOV2DR) : /* mov $Ri,$Rs1 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SET_H_DR (FLD (f_Rs1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOV2PS) : /* mov $Ri,$ps */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = * FLD (i_Ri);
-    SET_H_PS (opval);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_JMP) : /* jmp @$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_JMPD) : /* jmp:d @$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CALLR) : /* call @$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ADDSI (pc, 2);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CALLRD) : /* call:d @$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDSI (pc, 4);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CALL) : /* call $label12 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_call.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ADDSI (pc, 2);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = FLD (i_label12);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CALLD) : /* call:d $label12 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_call.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDSI (pc, 4);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = FLD (i_label12);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_RET) : /* ret */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = GET_H_DR (((UINT) 1));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_RET_D) : /* ret:d */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = GET_H_DR (((UINT) 1));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_INT) : /* int $u8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_int.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-; /*clobber*/
-; /*clobber*/
-; /*clobber*/
-  {
-    SI opval = fr30_int (current_cpu, pc, FLD (f_u8));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_INTE) : /* inte */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-; /*clobber*/
-; /*clobber*/
-; /*clobber*/
-  {
-    SI opval = fr30_inte (current_cpu, pc);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_RETI) : /* reti */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (EQBI (GET_H_SBIT (), 0)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
-    SET_H_DR (((UINT) 2), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
-    SET_H_PS (opval);
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
-    SET_H_DR (((UINT) 2), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-} else {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
-    SET_H_DR (((UINT) 3), opval);
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
-    SET_H_PS (opval);
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
-    SET_H_DR (((UINT) 3), opval);
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BRAD) : /* bra:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BRA) : /* bra $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNOD) : /* bno:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNO) : /* bno $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BEQD) : /* beq:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_zbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BEQ) : /* beq $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_zbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNED) : /* bne:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNE) : /* bne $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BCD) : /* bc:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_cbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BC) : /* bc $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_cbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNCD) : /* bnc:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_cbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNC) : /* bnc $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_cbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BND) : /* bn:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_nbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BN) : /* bn $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_nbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BPD) : /* bp:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BP) : /* bp $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BVD) : /* bv:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_vbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BV) : /* bv $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_vbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNVD) : /* bnv:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_vbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNV) : /* bnv $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_vbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLTD) : /* blt:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLT) : /* blt $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGED) : /* bge:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGE) : /* bge $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLED) : /* ble:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLE) : /* ble $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGTD) : /* bgt:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGT) : /* bgt $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLSD) : /* bls:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLS) : /* bls $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BHID) : /* bhi:d $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BHI) : /* bhi $label9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_brad.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR13) : /* dmov $R13,@$dir10 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR13H) : /* dmovh $R13,@$dir9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR13B) : /* dmovb $R13,@$dir8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR13PI) : /* dmov @$R13+,@$dir10 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
-    SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR13PIH) : /* dmovh @$R13+,@$dir9 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
-    SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR13PIB) : /* dmovb @$R13+,@$dir8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
-    SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOVR15PI) : /* dmov @$R15+,@$dir10 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R13) : /* dmov @$dir10,$R13 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R13H) : /* dmovh @$dir9,$R13 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R13B) : /* dmovb @$dir8,$R13 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R13PI) : /* dmov @$dir10,@$R13+ */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R13PIH) : /* dmovh @$dir9,@$R13+ */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
-    SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R13PIB) : /* dmovb @$dir8,@$R13+ */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
-    SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMOV2R15PD) : /* dmov @$dir10,@-$R15 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDRES) : /* ldres @$Ri+,$u4 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), 4);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STRES) : /* stres $u4,@$Ri+ */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), 4);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_COPOP) : /* copop $u4c,$ccc,$CRj,$CRi */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_COPLD) : /* copld $u4c,$ccc,$Rjc,$CRi */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_COPST) : /* copst $u4c,$ccc,$CRj,$Ric */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_COPSV) : /* copsv $u4c,$ccc,$CRj,$Ric */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NOP) : /* nop */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDCCR) : /* andccr $u8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_int.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8));
-    SET_H_CCR (opval);
-    TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORCCR) : /* orccr $u8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_int.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = ORQI (GET_H_CCR (), FLD (f_u8));
-    SET_H_CCR (opval);
-    TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STILM) : /* stilm $u8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_int.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = ANDSI (FLD (f_u8), 31);
-    SET_H_ILM (opval);
-    TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDSP) : /* addsp $s10 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10));
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTSB) : /* extsb $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTUB) : /* extub $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTSH) : /* extsh $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTUH) : /* extuh $Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add2.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDM0) : /* ldm0 ($reglist_low_ld) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldm0.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_low_ld), 1)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 0)]) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 2)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 1)]) = opval;
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 4)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 2)]) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 8)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 3)]) = opval;
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 16)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 4)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 32)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 5)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 64)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 6)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 128)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 7)]) = opval;
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDM1) : /* ldm1 ($reglist_hi_ld) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ldm1.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_hi_ld), 1)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 8)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 2)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 9)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 4)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 10)]) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 8)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 11)]) = opval;
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 16)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 12)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 32)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 64)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 14)]) = opval;
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 128)) {
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STM0) : /* stm0 ($reglist_low_st) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_stm0.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_low_st), 1)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 7)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 2)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 6)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 4)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 5)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 8)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 4)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 16)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 3)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 32)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 2)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 64)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 1)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 128)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 0)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STM1) : /* stm1 ($reglist_hi_st) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_stm1.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_hi_st), 1)) {
-{
-  SI tmp_save_r15;
-  tmp_save_r15 = CPU (h_gr[((UINT) 15)]);
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_save_r15;
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 2)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 14)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 4)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 8)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 12)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 16)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 11)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 32)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 10)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 64)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 9)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 128)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 8)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ENTER) : /* enter $u10 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_enter.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-  {
-    SI opval = CPU (h_gr[((UINT) 14)]);
-    SETMEMSI (current_cpu, pc, tmp_tmp, opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    CPU (h_gr[((UINT) 14)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10));
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LEAVE) : /* leave */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_enter.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4));
-    CPU (h_gr[((UINT) 14)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XCHB) : /* xchb @$Rj,$Ri */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = * FLD (i_Ri);
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    UQI opval = tmp_tmp;
-    SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-
-    }
-  ENDSWITCH (sem) /* End of semantic switch.  */
-
-  /* At this point `vpc' contains the next insn to execute.  */
-}
-
-#undef DEFINE_SWITCH
-#endif /* DEFINE_SWITCH */
+// OBSOLETE /* Simulator instruction semantics for fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #ifdef DEFINE_LABELS
+// OBSOLETE 
+// OBSOLETE   /* The labels have the case they have because the enum of insn types
+// OBSOLETE      is all uppercase and in the non-stdc case the insn symbol is built
+// OBSOLETE      into the enum name.  */
+// OBSOLETE 
+// OBSOLETE   static struct {
+// OBSOLETE     int index;
+// OBSOLETE     void *label;
+// OBSOLETE   } labels[] = {
+// OBSOLETE     { FR30BF_INSN_X_INVALID, && case_sem_INSN_X_INVALID },
+// OBSOLETE     { FR30BF_INSN_X_AFTER, && case_sem_INSN_X_AFTER },
+// OBSOLETE     { FR30BF_INSN_X_BEFORE, && case_sem_INSN_X_BEFORE },
+// OBSOLETE     { FR30BF_INSN_X_CTI_CHAIN, && case_sem_INSN_X_CTI_CHAIN },
+// OBSOLETE     { FR30BF_INSN_X_CHAIN, && case_sem_INSN_X_CHAIN },
+// OBSOLETE     { FR30BF_INSN_X_BEGIN, && case_sem_INSN_X_BEGIN },
+// OBSOLETE     { FR30BF_INSN_ADD, && case_sem_INSN_ADD },
+// OBSOLETE     { FR30BF_INSN_ADDI, && case_sem_INSN_ADDI },
+// OBSOLETE     { FR30BF_INSN_ADD2, && case_sem_INSN_ADD2 },
+// OBSOLETE     { FR30BF_INSN_ADDC, && case_sem_INSN_ADDC },
+// OBSOLETE     { FR30BF_INSN_ADDN, && case_sem_INSN_ADDN },
+// OBSOLETE     { FR30BF_INSN_ADDNI, && case_sem_INSN_ADDNI },
+// OBSOLETE     { FR30BF_INSN_ADDN2, && case_sem_INSN_ADDN2 },
+// OBSOLETE     { FR30BF_INSN_SUB, && case_sem_INSN_SUB },
+// OBSOLETE     { FR30BF_INSN_SUBC, && case_sem_INSN_SUBC },
+// OBSOLETE     { FR30BF_INSN_SUBN, && case_sem_INSN_SUBN },
+// OBSOLETE     { FR30BF_INSN_CMP, && case_sem_INSN_CMP },
+// OBSOLETE     { FR30BF_INSN_CMPI, && case_sem_INSN_CMPI },
+// OBSOLETE     { FR30BF_INSN_CMP2, && case_sem_INSN_CMP2 },
+// OBSOLETE     { FR30BF_INSN_AND, && case_sem_INSN_AND },
+// OBSOLETE     { FR30BF_INSN_OR, && case_sem_INSN_OR },
+// OBSOLETE     { FR30BF_INSN_EOR, && case_sem_INSN_EOR },
+// OBSOLETE     { FR30BF_INSN_ANDM, && case_sem_INSN_ANDM },
+// OBSOLETE     { FR30BF_INSN_ANDH, && case_sem_INSN_ANDH },
+// OBSOLETE     { FR30BF_INSN_ANDB, && case_sem_INSN_ANDB },
+// OBSOLETE     { FR30BF_INSN_ORM, && case_sem_INSN_ORM },
+// OBSOLETE     { FR30BF_INSN_ORH, && case_sem_INSN_ORH },
+// OBSOLETE     { FR30BF_INSN_ORB, && case_sem_INSN_ORB },
+// OBSOLETE     { FR30BF_INSN_EORM, && case_sem_INSN_EORM },
+// OBSOLETE     { FR30BF_INSN_EORH, && case_sem_INSN_EORH },
+// OBSOLETE     { FR30BF_INSN_EORB, && case_sem_INSN_EORB },
+// OBSOLETE     { FR30BF_INSN_BANDL, && case_sem_INSN_BANDL },
+// OBSOLETE     { FR30BF_INSN_BORL, && case_sem_INSN_BORL },
+// OBSOLETE     { FR30BF_INSN_BEORL, && case_sem_INSN_BEORL },
+// OBSOLETE     { FR30BF_INSN_BANDH, && case_sem_INSN_BANDH },
+// OBSOLETE     { FR30BF_INSN_BORH, && case_sem_INSN_BORH },
+// OBSOLETE     { FR30BF_INSN_BEORH, && case_sem_INSN_BEORH },
+// OBSOLETE     { FR30BF_INSN_BTSTL, && case_sem_INSN_BTSTL },
+// OBSOLETE     { FR30BF_INSN_BTSTH, && case_sem_INSN_BTSTH },
+// OBSOLETE     { FR30BF_INSN_MUL, && case_sem_INSN_MUL },
+// OBSOLETE     { FR30BF_INSN_MULU, && case_sem_INSN_MULU },
+// OBSOLETE     { FR30BF_INSN_MULH, && case_sem_INSN_MULH },
+// OBSOLETE     { FR30BF_INSN_MULUH, && case_sem_INSN_MULUH },
+// OBSOLETE     { FR30BF_INSN_DIV0S, && case_sem_INSN_DIV0S },
+// OBSOLETE     { FR30BF_INSN_DIV0U, && case_sem_INSN_DIV0U },
+// OBSOLETE     { FR30BF_INSN_DIV1, && case_sem_INSN_DIV1 },
+// OBSOLETE     { FR30BF_INSN_DIV2, && case_sem_INSN_DIV2 },
+// OBSOLETE     { FR30BF_INSN_DIV3, && case_sem_INSN_DIV3 },
+// OBSOLETE     { FR30BF_INSN_DIV4S, && case_sem_INSN_DIV4S },
+// OBSOLETE     { FR30BF_INSN_LSL, && case_sem_INSN_LSL },
+// OBSOLETE     { FR30BF_INSN_LSLI, && case_sem_INSN_LSLI },
+// OBSOLETE     { FR30BF_INSN_LSL2, && case_sem_INSN_LSL2 },
+// OBSOLETE     { FR30BF_INSN_LSR, && case_sem_INSN_LSR },
+// OBSOLETE     { FR30BF_INSN_LSRI, && case_sem_INSN_LSRI },
+// OBSOLETE     { FR30BF_INSN_LSR2, && case_sem_INSN_LSR2 },
+// OBSOLETE     { FR30BF_INSN_ASR, && case_sem_INSN_ASR },
+// OBSOLETE     { FR30BF_INSN_ASRI, && case_sem_INSN_ASRI },
+// OBSOLETE     { FR30BF_INSN_ASR2, && case_sem_INSN_ASR2 },
+// OBSOLETE     { FR30BF_INSN_LDI8, && case_sem_INSN_LDI8 },
+// OBSOLETE     { FR30BF_INSN_LDI20, && case_sem_INSN_LDI20 },
+// OBSOLETE     { FR30BF_INSN_LDI32, && case_sem_INSN_LDI32 },
+// OBSOLETE     { FR30BF_INSN_LD, && case_sem_INSN_LD },
+// OBSOLETE     { FR30BF_INSN_LDUH, && case_sem_INSN_LDUH },
+// OBSOLETE     { FR30BF_INSN_LDUB, && case_sem_INSN_LDUB },
+// OBSOLETE     { FR30BF_INSN_LDR13, && case_sem_INSN_LDR13 },
+// OBSOLETE     { FR30BF_INSN_LDR13UH, && case_sem_INSN_LDR13UH },
+// OBSOLETE     { FR30BF_INSN_LDR13UB, && case_sem_INSN_LDR13UB },
+// OBSOLETE     { FR30BF_INSN_LDR14, && case_sem_INSN_LDR14 },
+// OBSOLETE     { FR30BF_INSN_LDR14UH, && case_sem_INSN_LDR14UH },
+// OBSOLETE     { FR30BF_INSN_LDR14UB, && case_sem_INSN_LDR14UB },
+// OBSOLETE     { FR30BF_INSN_LDR15, && case_sem_INSN_LDR15 },
+// OBSOLETE     { FR30BF_INSN_LDR15GR, && case_sem_INSN_LDR15GR },
+// OBSOLETE     { FR30BF_INSN_LDR15DR, && case_sem_INSN_LDR15DR },
+// OBSOLETE     { FR30BF_INSN_LDR15PS, && case_sem_INSN_LDR15PS },
+// OBSOLETE     { FR30BF_INSN_ST, && case_sem_INSN_ST },
+// OBSOLETE     { FR30BF_INSN_STH, && case_sem_INSN_STH },
+// OBSOLETE     { FR30BF_INSN_STB, && case_sem_INSN_STB },
+// OBSOLETE     { FR30BF_INSN_STR13, && case_sem_INSN_STR13 },
+// OBSOLETE     { FR30BF_INSN_STR13H, && case_sem_INSN_STR13H },
+// OBSOLETE     { FR30BF_INSN_STR13B, && case_sem_INSN_STR13B },
+// OBSOLETE     { FR30BF_INSN_STR14, && case_sem_INSN_STR14 },
+// OBSOLETE     { FR30BF_INSN_STR14H, && case_sem_INSN_STR14H },
+// OBSOLETE     { FR30BF_INSN_STR14B, && case_sem_INSN_STR14B },
+// OBSOLETE     { FR30BF_INSN_STR15, && case_sem_INSN_STR15 },
+// OBSOLETE     { FR30BF_INSN_STR15GR, && case_sem_INSN_STR15GR },
+// OBSOLETE     { FR30BF_INSN_STR15DR, && case_sem_INSN_STR15DR },
+// OBSOLETE     { FR30BF_INSN_STR15PS, && case_sem_INSN_STR15PS },
+// OBSOLETE     { FR30BF_INSN_MOV, && case_sem_INSN_MOV },
+// OBSOLETE     { FR30BF_INSN_MOVDR, && case_sem_INSN_MOVDR },
+// OBSOLETE     { FR30BF_INSN_MOVPS, && case_sem_INSN_MOVPS },
+// OBSOLETE     { FR30BF_INSN_MOV2DR, && case_sem_INSN_MOV2DR },
+// OBSOLETE     { FR30BF_INSN_MOV2PS, && case_sem_INSN_MOV2PS },
+// OBSOLETE     { FR30BF_INSN_JMP, && case_sem_INSN_JMP },
+// OBSOLETE     { FR30BF_INSN_JMPD, && case_sem_INSN_JMPD },
+// OBSOLETE     { FR30BF_INSN_CALLR, && case_sem_INSN_CALLR },
+// OBSOLETE     { FR30BF_INSN_CALLRD, && case_sem_INSN_CALLRD },
+// OBSOLETE     { FR30BF_INSN_CALL, && case_sem_INSN_CALL },
+// OBSOLETE     { FR30BF_INSN_CALLD, && case_sem_INSN_CALLD },
+// OBSOLETE     { FR30BF_INSN_RET, && case_sem_INSN_RET },
+// OBSOLETE     { FR30BF_INSN_RET_D, && case_sem_INSN_RET_D },
+// OBSOLETE     { FR30BF_INSN_INT, && case_sem_INSN_INT },
+// OBSOLETE     { FR30BF_INSN_INTE, && case_sem_INSN_INTE },
+// OBSOLETE     { FR30BF_INSN_RETI, && case_sem_INSN_RETI },
+// OBSOLETE     { FR30BF_INSN_BRAD, && case_sem_INSN_BRAD },
+// OBSOLETE     { FR30BF_INSN_BRA, && case_sem_INSN_BRA },
+// OBSOLETE     { FR30BF_INSN_BNOD, && case_sem_INSN_BNOD },
+// OBSOLETE     { FR30BF_INSN_BNO, && case_sem_INSN_BNO },
+// OBSOLETE     { FR30BF_INSN_BEQD, && case_sem_INSN_BEQD },
+// OBSOLETE     { FR30BF_INSN_BEQ, && case_sem_INSN_BEQ },
+// OBSOLETE     { FR30BF_INSN_BNED, && case_sem_INSN_BNED },
+// OBSOLETE     { FR30BF_INSN_BNE, && case_sem_INSN_BNE },
+// OBSOLETE     { FR30BF_INSN_BCD, && case_sem_INSN_BCD },
+// OBSOLETE     { FR30BF_INSN_BC, && case_sem_INSN_BC },
+// OBSOLETE     { FR30BF_INSN_BNCD, && case_sem_INSN_BNCD },
+// OBSOLETE     { FR30BF_INSN_BNC, && case_sem_INSN_BNC },
+// OBSOLETE     { FR30BF_INSN_BND, && case_sem_INSN_BND },
+// OBSOLETE     { FR30BF_INSN_BN, && case_sem_INSN_BN },
+// OBSOLETE     { FR30BF_INSN_BPD, && case_sem_INSN_BPD },
+// OBSOLETE     { FR30BF_INSN_BP, && case_sem_INSN_BP },
+// OBSOLETE     { FR30BF_INSN_BVD, && case_sem_INSN_BVD },
+// OBSOLETE     { FR30BF_INSN_BV, && case_sem_INSN_BV },
+// OBSOLETE     { FR30BF_INSN_BNVD, && case_sem_INSN_BNVD },
+// OBSOLETE     { FR30BF_INSN_BNV, && case_sem_INSN_BNV },
+// OBSOLETE     { FR30BF_INSN_BLTD, && case_sem_INSN_BLTD },
+// OBSOLETE     { FR30BF_INSN_BLT, && case_sem_INSN_BLT },
+// OBSOLETE     { FR30BF_INSN_BGED, && case_sem_INSN_BGED },
+// OBSOLETE     { FR30BF_INSN_BGE, && case_sem_INSN_BGE },
+// OBSOLETE     { FR30BF_INSN_BLED, && case_sem_INSN_BLED },
+// OBSOLETE     { FR30BF_INSN_BLE, && case_sem_INSN_BLE },
+// OBSOLETE     { FR30BF_INSN_BGTD, && case_sem_INSN_BGTD },
+// OBSOLETE     { FR30BF_INSN_BGT, && case_sem_INSN_BGT },
+// OBSOLETE     { FR30BF_INSN_BLSD, && case_sem_INSN_BLSD },
+// OBSOLETE     { FR30BF_INSN_BLS, && case_sem_INSN_BLS },
+// OBSOLETE     { FR30BF_INSN_BHID, && case_sem_INSN_BHID },
+// OBSOLETE     { FR30BF_INSN_BHI, && case_sem_INSN_BHI },
+// OBSOLETE     { FR30BF_INSN_DMOVR13, && case_sem_INSN_DMOVR13 },
+// OBSOLETE     { FR30BF_INSN_DMOVR13H, && case_sem_INSN_DMOVR13H },
+// OBSOLETE     { FR30BF_INSN_DMOVR13B, && case_sem_INSN_DMOVR13B },
+// OBSOLETE     { FR30BF_INSN_DMOVR13PI, && case_sem_INSN_DMOVR13PI },
+// OBSOLETE     { FR30BF_INSN_DMOVR13PIH, && case_sem_INSN_DMOVR13PIH },
+// OBSOLETE     { FR30BF_INSN_DMOVR13PIB, && case_sem_INSN_DMOVR13PIB },
+// OBSOLETE     { FR30BF_INSN_DMOVR15PI, && case_sem_INSN_DMOVR15PI },
+// OBSOLETE     { FR30BF_INSN_DMOV2R13, && case_sem_INSN_DMOV2R13 },
+// OBSOLETE     { FR30BF_INSN_DMOV2R13H, && case_sem_INSN_DMOV2R13H },
+// OBSOLETE     { FR30BF_INSN_DMOV2R13B, && case_sem_INSN_DMOV2R13B },
+// OBSOLETE     { FR30BF_INSN_DMOV2R13PI, && case_sem_INSN_DMOV2R13PI },
+// OBSOLETE     { FR30BF_INSN_DMOV2R13PIH, && case_sem_INSN_DMOV2R13PIH },
+// OBSOLETE     { FR30BF_INSN_DMOV2R13PIB, && case_sem_INSN_DMOV2R13PIB },
+// OBSOLETE     { FR30BF_INSN_DMOV2R15PD, && case_sem_INSN_DMOV2R15PD },
+// OBSOLETE     { FR30BF_INSN_LDRES, && case_sem_INSN_LDRES },
+// OBSOLETE     { FR30BF_INSN_STRES, && case_sem_INSN_STRES },
+// OBSOLETE     { FR30BF_INSN_COPOP, && case_sem_INSN_COPOP },
+// OBSOLETE     { FR30BF_INSN_COPLD, && case_sem_INSN_COPLD },
+// OBSOLETE     { FR30BF_INSN_COPST, && case_sem_INSN_COPST },
+// OBSOLETE     { FR30BF_INSN_COPSV, && case_sem_INSN_COPSV },
+// OBSOLETE     { FR30BF_INSN_NOP, && case_sem_INSN_NOP },
+// OBSOLETE     { FR30BF_INSN_ANDCCR, && case_sem_INSN_ANDCCR },
+// OBSOLETE     { FR30BF_INSN_ORCCR, && case_sem_INSN_ORCCR },
+// OBSOLETE     { FR30BF_INSN_STILM, && case_sem_INSN_STILM },
+// OBSOLETE     { FR30BF_INSN_ADDSP, && case_sem_INSN_ADDSP },
+// OBSOLETE     { FR30BF_INSN_EXTSB, && case_sem_INSN_EXTSB },
+// OBSOLETE     { FR30BF_INSN_EXTUB, && case_sem_INSN_EXTUB },
+// OBSOLETE     { FR30BF_INSN_EXTSH, && case_sem_INSN_EXTSH },
+// OBSOLETE     { FR30BF_INSN_EXTUH, && case_sem_INSN_EXTUH },
+// OBSOLETE     { FR30BF_INSN_LDM0, && case_sem_INSN_LDM0 },
+// OBSOLETE     { FR30BF_INSN_LDM1, && case_sem_INSN_LDM1 },
+// OBSOLETE     { FR30BF_INSN_STM0, && case_sem_INSN_STM0 },
+// OBSOLETE     { FR30BF_INSN_STM1, && case_sem_INSN_STM1 },
+// OBSOLETE     { FR30BF_INSN_ENTER, && case_sem_INSN_ENTER },
+// OBSOLETE     { FR30BF_INSN_LEAVE, && case_sem_INSN_LEAVE },
+// OBSOLETE     { FR30BF_INSN_XCHB, && case_sem_INSN_XCHB },
+// OBSOLETE     { 0, 0 }
+// OBSOLETE   };
+// OBSOLETE   int i;
+// OBSOLETE 
+// OBSOLETE   for (i = 0; labels[i].label != 0; ++i)
+// OBSOLETE     {
+// OBSOLETE #if FAST_P
+// OBSOLETE       CPU_IDESC (current_cpu) [labels[i].index].sem_fast_lab = labels[i].label;
+// OBSOLETE #else
+// OBSOLETE       CPU_IDESC (current_cpu) [labels[i].index].sem_full_lab = labels[i].label;
+// OBSOLETE #endif
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE #undef DEFINE_LABELS
+// OBSOLETE #endif /* DEFINE_LABELS */
+// OBSOLETE 
+// OBSOLETE #ifdef DEFINE_SWITCH
+// OBSOLETE 
+// OBSOLETE /* If hyper-fast [well not unnecessarily slow] execution is selected, turn
+// OBSOLETE    off frills like tracing and profiling.  */
+// OBSOLETE /* FIXME: A better way would be to have TRACE_RESULT check for something
+// OBSOLETE    that can cause it to be optimized out.  Another way would be to emit
+// OBSOLETE    special handlers into the instruction "stream".  */
+// OBSOLETE 
+// OBSOLETE #if FAST_P
+// OBSOLETE #undef TRACE_RESULT
+// OBSOLETE #define TRACE_RESULT(cpu, abuf, name, type, val)
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE #undef GET_ATTR
+// OBSOLETE #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
+// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
+// OBSOLETE #else
+// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE 
+// OBSOLETE #if WITH_SCACHE_PBB
+// OBSOLETE 
+// OBSOLETE /* Branch to next handler without going around main loop.  */
+// OBSOLETE #define NEXT(vpc) goto * SEM_ARGBUF (vpc) -> semantic.sem_case
+// OBSOLETE SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
+// OBSOLETE 
+// OBSOLETE #else /* ! WITH_SCACHE_PBB */
+// OBSOLETE 
+// OBSOLETE #define NEXT(vpc) BREAK (sem)
+// OBSOLETE #ifdef __GNUC__
+// OBSOLETE #if FAST_P
+// OBSOLETE   SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_fast_lab)
+// OBSOLETE #else
+// OBSOLETE   SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_full_lab)
+// OBSOLETE #endif
+// OBSOLETE #else
+// OBSOLETE   SWITCH (sem, SEM_ARGBUF (sc) -> idesc->num)
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE #endif /* ! WITH_SCACHE_PBB */
+// OBSOLETE 
+// OBSOLETE     {
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_X_INVALID) : /* --invalid-- */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     /* Update the recorded pc in the cpu state struct.
+// OBSOLETE        Only necessary for WITH_SCACHE case, but to avoid the
+// OBSOLETE        conditional compilation ....  */
+// OBSOLETE     SET_H_PC (pc);
+// OBSOLETE     /* Virtual insns have zero size.  Overwrite vpc with address of next insn
+// OBSOLETE        using the default-insn-bitsize spec.  When executing insns in parallel
+// OBSOLETE        we may want to queue the fault and continue execution.  */
+// OBSOLETE     vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE     vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_X_AFTER) : /* --after-- */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE     fr30bf_pbb_after (current_cpu, sem_arg);
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_X_BEFORE) : /* --before-- */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE     fr30bf_pbb_before (current_cpu, sem_arg);
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_X_CTI_CHAIN) : /* --cti-chain-- */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE #ifdef DEFINE_SWITCH
+// OBSOLETE     vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
+// OBSOLETE                           pbb_br_type, pbb_br_npc);
+// OBSOLETE     BREAK (sem);
+// OBSOLETE #else
+// OBSOLETE     /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
+// OBSOLETE     vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
+// OBSOLETE                           CPU_PBB_BR_TYPE (current_cpu),
+// OBSOLETE                           CPU_PBB_BR_NPC (current_cpu));
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_X_CHAIN) : /* --chain-- */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE     vpc = fr30bf_pbb_chain (current_cpu, sem_arg);
+// OBSOLETE #ifdef DEFINE_SWITCH
+// OBSOLETE     BREAK (sem);
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_X_BEGIN) : /* --begin-- */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE #if defined DEFINE_SWITCH || defined FAST_P
+// OBSOLETE     /* In the switch case FAST_P is a constant, allowing several optimizations
+// OBSOLETE        in any called inline functions.  */
+// OBSOLETE     vpc = fr30bf_pbb_begin (current_cpu, FAST_P);
+// OBSOLETE #else
+// OBSOLETE #if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
+// OBSOLETE     vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
+// OBSOLETE #else
+// OBSOLETE     vpc = fr30bf_pbb_begin (current_cpu, 0);
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADD) : /* add $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADDI) : /* add $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADD2) : /* add2 $m4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADDC) : /* addc $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADDN) : /* addn $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADDNI) : /* addn $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADDN2) : /* addn2 $m4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_SUB) : /* sub $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_SUBC) : /* subc $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_SUBN) : /* subn $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CMP) : /* cmp $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp1;
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CMPI) : /* cmp $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp1;
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CMP2) : /* cmp2 $m4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp1;
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_AND) : /* and $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_OR) : /* or $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EOR) : /* eor $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ANDM) : /* and $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ANDH) : /* andh $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   HI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     HI opval = tmp_tmp;
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ANDB) : /* andb $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     QI opval = tmp_tmp;
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ORM) : /* or $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ORH) : /* orh $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   HI tmp_tmp;
+// OBSOLETE   tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     HI opval = tmp_tmp;
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ORB) : /* orb $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     QI opval = tmp_tmp;
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EORM) : /* eor $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EORH) : /* eorh $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   HI tmp_tmp;
+// OBSOLETE   tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     HI opval = tmp_tmp;
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EORB) : /* eorb $Rj,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     QI opval = tmp_tmp;
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BANDL) : /* bandl $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BORL) : /* borl $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BEORL) : /* beorl $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BANDH) : /* bandh $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BORH) : /* borh $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BEORH) : /* beorh $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BTSTL) : /* btstl $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BTSTH) : /* btsth $u4,@$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MUL) : /* mul $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   DI tmp_tmp;
+// OBSOLETE   tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (tmp_tmp);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQDI (tmp_tmp, MAKEDI (0, 0));
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000))));
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MULU) : /* mulu $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   DI tmp_tmp;
+// OBSOLETE   tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (tmp_tmp);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 4)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (GET_H_DR (((UINT) 4)), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MULH) : /* mulh $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri)));
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MULUH) : /* muluh $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535));
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DIV0S) : /* div0s $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_d0bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0));
+// OBSOLETE     CPU (h_d1bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (NEBI (CPU (h_d0bit), 0)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0xffffffff;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DIV0U) : /* div0u $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_d0bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_d1bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DIV1) : /* div1 $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (LTSI (GET_H_DR (((UINT) 5)), 0)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ORSI (GET_H_DR (((UINT) 5)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (GET_H_DR (((UINT) 4)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DIV2) : /* div2 $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (EQSI (tmp_tmp, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 1;
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DIV3) : /* div3 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (EQBI (CPU (h_zbit), 1)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DIV4S) : /* div4s */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = NEGSI (GET_H_DR (((UINT) 5)));
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LSL) : /* lsl $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ANDSI (* FLD (i_Rj), 31);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LSLI) : /* lsl $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = FLD (f_u4);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LSL2) : /* lsl2 $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ADDSI (FLD (f_u4), 16);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LSR) : /* lsr $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ANDSI (* FLD (i_Rj), 31);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LSRI) : /* lsr $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = FLD (f_u4);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LSR2) : /* lsr2 $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ADDSI (FLD (f_u4), 16);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ASR) : /* asr $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ANDSI (* FLD (i_Rj), 31);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRASI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ASRI) : /* asr $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = FLD (f_u4);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRASI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ASR2) : /* asr2 $u4,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ADDSI (FLD (f_u4), 16);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRASI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDI8) : /* ldi:8 $i8,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = FLD (f_i8);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDI20) : /* ldi:20 $i20,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = FLD (f_i20);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDI32) : /* ldi:32 $i32,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = FLD (f_i32);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LD) : /* ld @$Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDUH) : /* lduh @$Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDUB) : /* ldub @$Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR13) : /* ld @($R13,$Rj),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR13UH) : /* lduh @($R13,$Rj),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR13UB) : /* ldub @($R13,$Rj),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR14) : /* ld @($R14,$disp10),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR14UH) : /* lduh @($R14,$disp9),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR14UB) : /* ldub @($R14,$disp8),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR15) : /* ld @($R15,$udisp6),$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR15GR) : /* ld @$R15+,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (NESI (FLD (f_Ri), 15)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR15DR) : /* ld @$R15+,$Rs2 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SET_H_DR (FLD (f_Rs2), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDR15PS) : /* ld @$R15+,$ps */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ST) : /* st $Ri,@$Rj */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STH) : /* sth $Ri,@$Rj */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STB) : /* stb $Ri,@$Rj */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR13) : /* st $Ri,@($R13,$Rj) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR13H) : /* sth $Ri,@($R13,$Rj) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR13B) : /* stb $Ri,@($R13,$Rj) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR14) : /* st $Ri,@($R14,$disp10) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR14H) : /* sth $Ri,@($R14,$disp9) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR14B) : /* stb $Ri,@($R14,$disp8) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR15) : /* st $Ri,@($R15,$udisp6) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR15GR) : /* st $Ri,@-$R15 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = * FLD (i_Ri);
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR15DR) : /* st $Rs2,@-$R15 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = GET_H_DR (FLD (f_Rs2));
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STR15PS) : /* st $ps,@-$R15 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GET_H_PS ();
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MOV) : /* mov $Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Rj);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MOVDR) : /* mov $Rs1,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GET_H_DR (FLD (f_Rs1));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MOVPS) : /* mov $ps,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GET_H_PS ();
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MOV2DR) : /* mov $Ri,$Rs1 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SET_H_DR (FLD (f_Rs1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_MOV2PS) : /* mov $Ri,$ps */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_JMP) : /* jmp @$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_JMPD) : /* jmp:d @$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CALLR) : /* call @$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 2);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CALLRD) : /* call:d @$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 4);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CALL) : /* call $label12 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 2);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label12);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_CALLD) : /* call:d $label12 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 4);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label12);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_RET) : /* ret */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = GET_H_DR (((UINT) 1));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_RET_D) : /* ret:d */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = GET_H_DR (((UINT) 1));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_INT) : /* int $u8 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE   {
+// OBSOLETE     SI opval = fr30_int (current_cpu, pc, FLD (f_u8));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_INTE) : /* inte */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE   {
+// OBSOLETE     SI opval = fr30_inte (current_cpu, pc);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_RETI) : /* reti */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (EQBI (GET_H_SBIT (), 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 2), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 2), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 3), opval);
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 3), opval);
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BRAD) : /* bra:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BRA) : /* bra $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNOD) : /* bno:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNO) : /* bno $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BEQD) : /* beq:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_zbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BEQ) : /* beq $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_zbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNED) : /* bne:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNE) : /* bne $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BCD) : /* bc:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_cbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BC) : /* bc $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_cbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNCD) : /* bnc:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_cbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNC) : /* bnc $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_cbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BND) : /* bn:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_nbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BN) : /* bn $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_nbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BPD) : /* bp:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BP) : /* bp $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BVD) : /* bv:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_vbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BV) : /* bv $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_vbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNVD) : /* bnv:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_vbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BNV) : /* bnv $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_vbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BLTD) : /* blt:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BLT) : /* blt $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BGED) : /* bge:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BGE) : /* bge $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BLED) : /* ble:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BLE) : /* ble $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BGTD) : /* bgt:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BGT) : /* bgt $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BLSD) : /* bls:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BLS) : /* bls $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BHID) : /* bhi:d $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_BHI) : /* bhi $label9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR13) : /* dmov $R13,@$dir10 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR13H) : /* dmovh $R13,@$dir9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR13B) : /* dmovb $R13,@$dir8 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR13PI) : /* dmov @$R13+,@$dir10 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
+// OBSOLETE     SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR13PIH) : /* dmovh @$R13+,@$dir9 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
+// OBSOLETE     SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR13PIB) : /* dmovb @$R13+,@$dir8 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
+// OBSOLETE     SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOVR15PI) : /* dmov @$R15+,@$dir10 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R13) : /* dmov @$dir10,$R13 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R13H) : /* dmovh @$dir9,$R13 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R13B) : /* dmovb @$dir8,$R13 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R13PI) : /* dmov @$dir10,@$R13+ */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R13PIH) : /* dmovh @$dir9,@$R13+ */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
+// OBSOLETE     SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R13PIB) : /* dmovb @$dir8,@$R13+ */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
+// OBSOLETE     SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_DMOV2R15PD) : /* dmov @$dir10,@-$R15 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDRES) : /* ldres @$Ri+,$u4 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), 4);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STRES) : /* stres $u4,@$Ri+ */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), 4);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_COPOP) : /* copop $u4c,$ccc,$CRj,$CRi */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_COPLD) : /* copld $u4c,$ccc,$Rjc,$CRi */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_COPST) : /* copst $u4c,$ccc,$CRj,$Ric */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_COPSV) : /* copsv $u4c,$ccc,$CRj,$Ric */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_NOP) : /* nop */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ANDCCR) : /* andccr $u8 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8));
+// OBSOLETE     SET_H_CCR (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ORCCR) : /* orccr $u8 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     UQI opval = ORQI (GET_H_CCR (), FLD (f_u8));
+// OBSOLETE     SET_H_CCR (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STILM) : /* stilm $u8 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     UQI opval = ANDSI (FLD (f_u8), 31);
+// OBSOLETE     SET_H_ILM (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ADDSP) : /* addsp $s10 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10));
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EXTSB) : /* extsb $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EXTUB) : /* extub $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EXTSH) : /* extsh $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_EXTUH) : /* extuh $Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDM0) : /* ldm0 ($reglist_low_ld) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 1)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 0)]) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 1)]) = opval;
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 2)]) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 3)]) = opval;
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 4)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 5)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 6)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 128)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 7)]) = opval;
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LDM1) : /* ldm1 ($reglist_hi_ld) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 1)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 8)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 9)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 10)]) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 11)]) = opval;
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 12)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 14)]) = opval;
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 128)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STM0) : /* stm0 ($reglist_low_st) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 1)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 7)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 6)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 5)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 4)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 3)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 2)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 1)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 128)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 0)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_STM1) : /* stm1 ($reglist_hi_st) */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 1)) {
+// OBSOLETE {
+// OBSOLETE   SI tmp_save_r15;
+// OBSOLETE   tmp_save_r15 = CPU (h_gr[((UINT) 15)]);
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_save_r15;
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 14)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 12)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 11)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 10)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 9)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 128)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 8)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_ENTER) : /* enter $u10 */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 14)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, tmp_tmp, opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     CPU (h_gr[((UINT) 14)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10));
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_LEAVE) : /* leave */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4));
+// OBSOLETE     CPU (h_gr[((UINT) 14)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE   CASE (sem, INSN_XCHB) : /* xchb @$Rj,$Ri */
+// OBSOLETE {
+// OBSOLETE   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = * FLD (i_Ri);
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     UQI opval = tmp_tmp;
+// OBSOLETE     SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE   NEXT (vpc);
+// OBSOLETE 
+// OBSOLETE 
+// OBSOLETE     }
+// OBSOLETE   ENDSWITCH (sem) /* End of semantic switch.  */
+// OBSOLETE 
+// OBSOLETE   /* At this point `vpc' contains the next insn to execute.  */
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE #undef DEFINE_SWITCH
+// OBSOLETE #endif /* DEFINE_SWITCH */
index fb90a55..de61ba6 100644 (file)
-/* Simulator instruction semantics for fr30bf.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#define WANT_CPU fr30bf
-#define WANT_CPU_FR30BF
-
-#include "sim-main.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
-
-/* This is used so that we can compile two copies of the semantic code,
-   one with full feature support and one without that runs fast(er).
-   FAST_P, when desired, is defined on the command line, -DFAST_P=1.  */
-#if FAST_P
-#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
-#else
-#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
-#endif
-
-/* x-invalid: --invalid-- */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,x_invalid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-    /* Update the recorded pc in the cpu state struct.
-       Only necessary for WITH_SCACHE case, but to avoid the
-       conditional compilation ....  */
-    SET_H_PC (pc);
-    /* Virtual insns have zero size.  Overwrite vpc with address of next insn
-       using the default-insn-bitsize spec.  When executing insns in parallel
-       we may want to queue the fault and continue execution.  */
-    vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-    vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-after: --after-- */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,x_after) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-    fr30bf_pbb_after (current_cpu, sem_arg);
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-before: --before-- */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,x_before) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-    fr30bf_pbb_before (current_cpu, sem_arg);
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-cti-chain: --cti-chain-- */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,x_cti_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-#ifdef DEFINE_SWITCH
-    vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
-                              pbb_br_type, pbb_br_npc);
-    BREAK (sem);
-#else
-    /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
-    vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
-                              CPU_PBB_BR_TYPE (current_cpu),
-                              CPU_PBB_BR_NPC (current_cpu));
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-chain: --chain-- */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,x_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-    vpc = fr30bf_pbb_chain (current_cpu, sem_arg);
-#ifdef DEFINE_SWITCH
-    BREAK (sem);
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-begin: --begin-- */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,x_begin) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_FR30BF
-#if defined DEFINE_SWITCH || defined FAST_P
-    /* In the switch case FAST_P is a constant, allowing several optimizations
-       in any called inline functions.  */
-    vpc = fr30bf_pbb_begin (current_cpu, FAST_P);
-#else
-#if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
-    vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
-#else
-    vpc = fr30bf_pbb_begin (current_cpu, 0);
-#endif
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* add: add $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* addi: add $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* add2: add2 $m4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,add2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* addc: addc $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,addc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-  {
-    BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* addn: addn $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,addn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addni: addn $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,addni) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addn2: addn2 $m4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,addn2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sub: sub $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* subc: subc $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,subc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* subn: subn $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,subn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmp: cmp $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp1;
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp1, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp1, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpi: cmp $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp1;
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4));
-{
-  {
-    BI opval = EQSI (tmp_tmp1, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp1, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* cmp2: cmp2 $m4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,cmp2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp1;
-  {
-    BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-  {
-    BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0);
-    CPU (h_cbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4));
-{
-  {
-    BI opval = EQSI (tmp_tmp1, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp1, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* and: and $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* or: or $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* eor: eor $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,eor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-{
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* andm: and $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,andm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* andh: andh $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,andh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_tmp;
-  tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQHI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTHI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    HI opval = tmp_tmp;
-    SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* andb: andb $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,andb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    QI opval = tmp_tmp;
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* orm: or $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,orm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* orh: orh $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,orh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_tmp;
-  tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQHI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTHI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    HI opval = tmp_tmp;
-    SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* orb: orb $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,orb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    QI opval = tmp_tmp;
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* eorm: eor $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,eorm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQSI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTSI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* eorh: eorh $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,eorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_tmp;
-  tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQHI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTHI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    HI opval = tmp_tmp;
-    SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* eorb: eorb $Rj,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,eorb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
-{
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-  {
-    QI opval = tmp_tmp;
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* bandl: bandl $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bandl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* borl: borl $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,borl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* beorl: beorl $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,beorl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* bandh: bandh $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bandh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* borh: borh $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,borh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* beorh: beorh $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,beorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-    SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* btstl: btstl $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,btstl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* btsth: btsth $u4,@$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,btsth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_tmp;
-  tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
-  {
-    BI opval = EQQI (tmp_tmp, 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = LTQI (tmp_tmp, 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mul: mul $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_tmp;
-  tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri)));
-  {
-    SI opval = TRUNCDISI (tmp_tmp);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQDI (tmp_tmp, MAKEDI (0, 0));
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000))));
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mulu: mulu $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,mulu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_tmp;
-  tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri)));
-  {
-    SI opval = TRUNCDISI (tmp_tmp);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 4)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    BI opval = NESI (GET_H_DR (((UINT) 4)), 0);
-    CPU (h_vbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mulh: mulh $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,mulh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri)));
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* muluh: muluh $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,muluh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535));
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* div0s: div0s $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,div0s) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
-    CPU (h_d0bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
-  }
-  {
-    BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0));
-    CPU (h_d1bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
-  }
-if (NEBI (CPU (h_d0bit), 0)) {
-  {
-    SI opval = 0xffffffff;
-    SET_H_DR (((UINT) 4), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-} else {
-  {
-    SI opval = 0;
-    SET_H_DR (((UINT) 4), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* div0u: div0u $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,div0u) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = 0;
-    CPU (h_d0bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    CPU (h_d1bit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
-  }
-  {
-    SI opval = 0;
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* div1: div1 $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,div1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  {
-    SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1);
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-if (LTSI (GET_H_DR (((UINT) 5)), 0)) {
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1);
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-  {
-    SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-if (EQBI (CPU (h_d1bit), 1)) {
-{
-  tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-} else {
-{
-  tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-}
-if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) {
-{
-  {
-    SI opval = tmp_tmp;
-    SET_H_DR (((UINT) 4), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = ORSI (GET_H_DR (((UINT) 5)), 1);
-    SET_H_DR (((UINT) 5), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-}
-  {
-    BI opval = EQSI (GET_H_DR (((UINT) 4)), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* div2: div2 $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,div2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-if (EQBI (CPU (h_d1bit), 1)) {
-{
-  tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-} else {
-{
-  tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
-  {
-    BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-}
-if (EQSI (tmp_tmp, 0)) {
-{
-  {
-    BI opval = 1;
-    CPU (h_zbit) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-  {
-    SI opval = 0;
-    SET_H_DR (((UINT) 4), opval);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_zbit) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* div3: div3 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,div3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (EQBI (CPU (h_zbit), 1)) {
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1);
-    SET_H_DR (((UINT) 5), opval);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* div4s: div4s */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,div4s) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (EQBI (CPU (h_d1bit), 1)) {
-  {
-    SI opval = NEGSI (GET_H_DR (((UINT) 5)));
-    SET_H_DR (((UINT) 5), opval);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* lsl: lsl $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ANDSI (* FLD (i_Rj), 31);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* lsli: lsl $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lsli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = FLD (f_u4);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* lsl2: lsl2 $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lsl2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ADDSI (FLD (f_u4), 16);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* lsr: lsr $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lsr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ANDSI (* FLD (i_Rj), 31);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* lsri: lsr $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lsri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = FLD (f_u4);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* lsr2: lsr2 $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lsr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ADDSI (FLD (f_u4), 16);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* asr: asr $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,asr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ANDSI (* FLD (i_Rj), 31);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRASI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* asri: asr $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,asri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = FLD (f_u4);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRASI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* asr2: asr2 $u4,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,asr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shift;
-  tmp_shift = ADDSI (FLD (f_u4), 16);
-if (NESI (tmp_shift, 0)) {
-{
-  {
-    BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-  {
-    SI opval = SRASI (* FLD (i_Ri), tmp_shift);
-    * FLD (i_Ri) = opval;
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-} else {
-  {
-    BI opval = 0;
-    CPU (h_cbit) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
-  }
-}
-  {
-    BI opval = LTSI (* FLD (i_Ri), 0);
-    CPU (h_nbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
-  }
-  {
-    BI opval = EQSI (* FLD (i_Ri), 0);
-    CPU (h_zbit) = opval;
-    TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldi8: ldi:8 $i8,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldi8.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = FLD (f_i8);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldi20: ldi:20 $i20,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldi20) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldi20.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = FLD (f_i20);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldi32: ldi:32 $i32,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldi32) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldi32.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
-
-  {
-    SI opval = FLD (f_i32);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ld: ld @$Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* lduh: lduh @$Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldub: ldub @$Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr13: ld @($R13,$Rj),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr13uh: lduh @($R13,$Rj),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr13uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr13ub: ldub @($R13,$Rj),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr13ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr14: ld @($R14,$disp10),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr14) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr14.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr14uh: lduh @($R14,$disp9),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr14uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr14uh.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr14ub: ldub @($R14,$disp8),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr14ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr14ub.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr15: ld @($R15,$udisp6),$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr15) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)])));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr15gr: ld @$R15+,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15gr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-if (NESI (FLD (f_Ri), 15)) {
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldr15dr: ld @$R15+,$Rs2 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    SET_H_DR (FLD (f_Rs2), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ldr15ps: ld @$R15+,$ps */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldr15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    SET_H_PS (opval);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* st: st $Ri,@$Rj */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sth: sth $Ri,@$Rj */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = * FLD (i_Ri);
-    SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stb: stb $Ri,@$Rj */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = * FLD (i_Ri);
-    SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str13: st $Ri,@($R13,$Rj) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str13h: sth $Ri,@($R13,$Rj) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = * FLD (i_Ri);
-    SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str13b: stb $Ri,@($R13,$Rj) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = * FLD (i_Ri);
-    SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str14: st $Ri,@($R14,$disp10) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str14) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str14.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str14h: sth $Ri,@($R14,$disp9) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str14h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str14h.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = * FLD (i_Ri);
-    SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str14b: stb $Ri,@($R14,$disp8) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str14b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str14b.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = * FLD (i_Ri);
-    SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str15: st $Ri,@($R15,$udisp6) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str15) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str15.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* str15gr: st $Ri,@-$R15 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_str15gr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = * FLD (i_Ri);
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* str15dr: st $Rs2,@-$R15 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr15dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = GET_H_DR (FLD (f_Rs2));
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* str15ps: st $ps,@-$R15 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,str15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = GET_H_PS ();
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mov: mov $Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,mov) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldr13.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Rj);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movdr: mov $Rs1,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,movdr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movdr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_DR (FLD (f_Rs1));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movps: mov $ps,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,movps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movdr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_PS ();
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mov2dr: mov $Ri,$Rs1 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,mov2dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = * FLD (i_Ri);
-    SET_H_DR (FLD (f_Rs1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mov2ps: mov $Ri,$ps */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,mov2ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = * FLD (i_Ri);
-    SET_H_PS (opval);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* jmp: jmp @$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* jmpd: jmp:d @$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,jmpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* callr: call @$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,callr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ADDSI (pc, 2);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* callrd: call:d @$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,callrd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_mov2dr.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDSI (pc, 4);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = * FLD (i_Ri);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* call: call $label12 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,call) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_call.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ADDSI (pc, 2);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = FLD (i_label12);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* calld: call:d $label12 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,calld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_call.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDSI (pc, 4);
-    SET_H_DR (((UINT) 1), opval);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    USI opval = FLD (i_label12);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* ret: ret */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ret) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = GET_H_DR (((UINT) 1));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* ret:d: ret:d */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ret_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = GET_H_DR (((UINT) 1));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* int: int $u8 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,int) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-; /*clobber*/
-; /*clobber*/
-; /*clobber*/
-  {
-    SI opval = fr30_int (current_cpu, pc, FLD (f_u8));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* inte: inte */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,inte) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-; /*clobber*/
-; /*clobber*/
-; /*clobber*/
-  {
-    SI opval = fr30_inte (current_cpu, pc);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* reti: reti */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,reti) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (EQBI (GET_H_SBIT (), 0)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
-    SET_H_DR (((UINT) 2), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
-    SET_H_PS (opval);
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
-    SET_H_DR (((UINT) 2), opval);
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-} else {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
-    SET_H_DR (((UINT) 3), opval);
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
-    SET_H_PS (opval);
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
-    SET_H_DR (((UINT) 3), opval);
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* brad: bra:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,brad) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bra: bra $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bnod: bno:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bnod) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* bno: bno $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bno) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* beqd: beq:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,beqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_zbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* beq: beq $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_zbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bned: bne:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bned) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bne: bne $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bcd: bc:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bcd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_cbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bc: bc $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_cbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bncd: bnc:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bncd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_cbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bnc: bnc $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bnc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_cbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bnd: bn:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bnd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_nbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bn: bn $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_nbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bpd: bp:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bp: bp $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bvd: bv:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (CPU (h_vbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bv: bv $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (CPU (h_vbit)) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bnvd: bnv:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bnvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (CPU (h_vbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bnv: bnv $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bnv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (CPU (h_vbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bltd: blt:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bltd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* blt: blt $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,blt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bged: bge:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bged) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bge: bge $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bge) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bled: ble:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bled) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* ble: ble $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ble) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bgtd: bgt:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bgtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bgt: bgt $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* blsd: bls:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,blsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bls: bls $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bhid: bhi:d $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bhid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bhi: bhi $label9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,bhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_brad.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
-  {
-    USI opval = FLD (i_label9);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* dmovr13: dmov $R13,@$dir10 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmovr13h: dmovh $R13,@$dir9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmovr13b: dmovb $R13,@$dir8 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    QI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmovr13pi: dmov @$R13+,@$dir10 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
-    SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmovr13pih: dmovh @$R13+,@$dir9 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
-    SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmovr13pib: dmovb @$R13+,@$dir8 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
-    SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmovr15pi: dmov @$R15+,@$dir10 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmovr15pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r13: dmov @$dir10,$R13 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r13h: dmovh @$dir9,$R13 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r13b: dmovb @$dir8,$R13 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r13pi: dmov @$dir10,@$R13+ */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r13pih: dmovh @$dir9,@$R13+ */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pih.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
-    SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r13pib: dmovb @$dir8,@$R13+ */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr13pib.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
-    SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
-    CPU (h_gr[((UINT) 13)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmov2r15pd: dmov @$dir10,@-$R15 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,dmov2r15pd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_dmovr15pi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ldres: ldres @$Ri+,$u4 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldres) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), 4);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stres: stres $u4,@$Ri+ */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,stres) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (* FLD (i_Ri), 4);
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* copop: copop $u4c,$ccc,$CRj,$CRi */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,copop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* copld: copld $u4c,$ccc,$Rjc,$CRi */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,copld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* copst: copst $u4c,$ccc,$CRj,$Ric */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,copst) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* copsv: copsv $u4c,$ccc,$CRj,$Ric */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,copsv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* nop: nop */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.fmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* andccr: andccr $u8 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,andccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8));
-    SET_H_CCR (opval);
-    TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* orccr: orccr $u8 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,orccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = ORQI (GET_H_CCR (), FLD (f_u8));
-    SET_H_CCR (opval);
-    TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stilm: stilm $u8 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,stilm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_int.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = ANDSI (FLD (f_u8), 31);
-    SET_H_ILM (opval);
-    TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addsp: addsp $s10 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,addsp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addsp.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10));
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extsb: extsb $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,extsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extub: extub $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,extub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extsh: extsh $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,extsh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extuh: extuh $Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,extuh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add2.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldm0: ldm0 ($reglist_low_ld) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldm0.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_low_ld), 1)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 0)]) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 2)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 1)]) = opval;
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 4)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 2)]) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 8)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 3)]) = opval;
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 16)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 4)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 32)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 5)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 64)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 6)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_ld), 128)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 7)]) = opval;
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldm1: ldm1 ($reglist_hi_ld) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,ldm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ldm1.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_hi_ld), 1)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 8)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 2)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 9)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 4)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 10)]) = opval;
-    written |= (1 << 3);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 8)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 11)]) = opval;
-    written |= (1 << 4);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 16)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 12)]) = opval;
-    written |= (1 << 5);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 32)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 13)]) = opval;
-    written |= (1 << 6);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 64)) {
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 14)]) = opval;
-    written |= (1 << 7);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_ld), 128)) {
-  {
-    SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 8);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* stm0: stm0 ($reglist_low_st) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,stm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_stm0.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_low_st), 1)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 7)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 2)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 6)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 4)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 5)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 8)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 4)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 16)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 3)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 32)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 2)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 64)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 1)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_low_st), 128)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 0)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 11);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* stm1: stm1 ($reglist_hi_st) */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,stm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_stm1.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-if (ANDSI (FLD (f_reglist_hi_st), 1)) {
-{
-  SI tmp_save_r15;
-  tmp_save_r15 = CPU (h_gr[((UINT) 15)]);
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = tmp_save_r15;
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 2)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 14)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 4)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 13)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 8)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 12)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 16)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 11)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 32)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 10)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 64)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 9)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-if (ANDSI (FLD (f_reglist_hi_st), 128)) {
-{
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    written |= (1 << 9);
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = CPU (h_gr[((UINT) 8)]);
-    SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
-    written |= (1 << 10);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* enter: enter $u10 */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,enter) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_enter.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
-  {
-    SI opval = CPU (h_gr[((UINT) 14)]);
-    SETMEMSI (current_cpu, pc, tmp_tmp, opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_tmp;
-    CPU (h_gr[((UINT) 14)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10));
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* leave: leave */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,leave) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_enter.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4);
-    CPU (h_gr[((UINT) 15)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4));
-    CPU (h_gr[((UINT) 14)]) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* xchb: xchb @$Rj,$Ri */
-
-static SEM_PC
-SEM_FN_NAME (fr30bf,xchb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmp;
-  tmp_tmp = * FLD (i_Ri);
-  {
-    SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
-    * FLD (i_Ri) = opval;
-    TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
-  }
-  {
-    UQI opval = tmp_tmp;
-    SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval);
-    TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* Table of all semantic fns.  */
-
-static const struct sem_fn_desc sem_fns[] = {
-  { FR30BF_INSN_X_INVALID, SEM_FN_NAME (fr30bf,x_invalid) },
-  { FR30BF_INSN_X_AFTER, SEM_FN_NAME (fr30bf,x_after) },
-  { FR30BF_INSN_X_BEFORE, SEM_FN_NAME (fr30bf,x_before) },
-  { FR30BF_INSN_X_CTI_CHAIN, SEM_FN_NAME (fr30bf,x_cti_chain) },
-  { FR30BF_INSN_X_CHAIN, SEM_FN_NAME (fr30bf,x_chain) },
-  { FR30BF_INSN_X_BEGIN, SEM_FN_NAME (fr30bf,x_begin) },
-  { FR30BF_INSN_ADD, SEM_FN_NAME (fr30bf,add) },
-  { FR30BF_INSN_ADDI, SEM_FN_NAME (fr30bf,addi) },
-  { FR30BF_INSN_ADD2, SEM_FN_NAME (fr30bf,add2) },
-  { FR30BF_INSN_ADDC, SEM_FN_NAME (fr30bf,addc) },
-  { FR30BF_INSN_ADDN, SEM_FN_NAME (fr30bf,addn) },
-  { FR30BF_INSN_ADDNI, SEM_FN_NAME (fr30bf,addni) },
-  { FR30BF_INSN_ADDN2, SEM_FN_NAME (fr30bf,addn2) },
-  { FR30BF_INSN_SUB, SEM_FN_NAME (fr30bf,sub) },
-  { FR30BF_INSN_SUBC, SEM_FN_NAME (fr30bf,subc) },
-  { FR30BF_INSN_SUBN, SEM_FN_NAME (fr30bf,subn) },
-  { FR30BF_INSN_CMP, SEM_FN_NAME (fr30bf,cmp) },
-  { FR30BF_INSN_CMPI, SEM_FN_NAME (fr30bf,cmpi) },
-  { FR30BF_INSN_CMP2, SEM_FN_NAME (fr30bf,cmp2) },
-  { FR30BF_INSN_AND, SEM_FN_NAME (fr30bf,and) },
-  { FR30BF_INSN_OR, SEM_FN_NAME (fr30bf,or) },
-  { FR30BF_INSN_EOR, SEM_FN_NAME (fr30bf,eor) },
-  { FR30BF_INSN_ANDM, SEM_FN_NAME (fr30bf,andm) },
-  { FR30BF_INSN_ANDH, SEM_FN_NAME (fr30bf,andh) },
-  { FR30BF_INSN_ANDB, SEM_FN_NAME (fr30bf,andb) },
-  { FR30BF_INSN_ORM, SEM_FN_NAME (fr30bf,orm) },
-  { FR30BF_INSN_ORH, SEM_FN_NAME (fr30bf,orh) },
-  { FR30BF_INSN_ORB, SEM_FN_NAME (fr30bf,orb) },
-  { FR30BF_INSN_EORM, SEM_FN_NAME (fr30bf,eorm) },
-  { FR30BF_INSN_EORH, SEM_FN_NAME (fr30bf,eorh) },
-  { FR30BF_INSN_EORB, SEM_FN_NAME (fr30bf,eorb) },
-  { FR30BF_INSN_BANDL, SEM_FN_NAME (fr30bf,bandl) },
-  { FR30BF_INSN_BORL, SEM_FN_NAME (fr30bf,borl) },
-  { FR30BF_INSN_BEORL, SEM_FN_NAME (fr30bf,beorl) },
-  { FR30BF_INSN_BANDH, SEM_FN_NAME (fr30bf,bandh) },
-  { FR30BF_INSN_BORH, SEM_FN_NAME (fr30bf,borh) },
-  { FR30BF_INSN_BEORH, SEM_FN_NAME (fr30bf,beorh) },
-  { FR30BF_INSN_BTSTL, SEM_FN_NAME (fr30bf,btstl) },
-  { FR30BF_INSN_BTSTH, SEM_FN_NAME (fr30bf,btsth) },
-  { FR30BF_INSN_MUL, SEM_FN_NAME (fr30bf,mul) },
-  { FR30BF_INSN_MULU, SEM_FN_NAME (fr30bf,mulu) },
-  { FR30BF_INSN_MULH, SEM_FN_NAME (fr30bf,mulh) },
-  { FR30BF_INSN_MULUH, SEM_FN_NAME (fr30bf,muluh) },
-  { FR30BF_INSN_DIV0S, SEM_FN_NAME (fr30bf,div0s) },
-  { FR30BF_INSN_DIV0U, SEM_FN_NAME (fr30bf,div0u) },
-  { FR30BF_INSN_DIV1, SEM_FN_NAME (fr30bf,div1) },
-  { FR30BF_INSN_DIV2, SEM_FN_NAME (fr30bf,div2) },
-  { FR30BF_INSN_DIV3, SEM_FN_NAME (fr30bf,div3) },
-  { FR30BF_INSN_DIV4S, SEM_FN_NAME (fr30bf,div4s) },
-  { FR30BF_INSN_LSL, SEM_FN_NAME (fr30bf,lsl) },
-  { FR30BF_INSN_LSLI, SEM_FN_NAME (fr30bf,lsli) },
-  { FR30BF_INSN_LSL2, SEM_FN_NAME (fr30bf,lsl2) },
-  { FR30BF_INSN_LSR, SEM_FN_NAME (fr30bf,lsr) },
-  { FR30BF_INSN_LSRI, SEM_FN_NAME (fr30bf,lsri) },
-  { FR30BF_INSN_LSR2, SEM_FN_NAME (fr30bf,lsr2) },
-  { FR30BF_INSN_ASR, SEM_FN_NAME (fr30bf,asr) },
-  { FR30BF_INSN_ASRI, SEM_FN_NAME (fr30bf,asri) },
-  { FR30BF_INSN_ASR2, SEM_FN_NAME (fr30bf,asr2) },
-  { FR30BF_INSN_LDI8, SEM_FN_NAME (fr30bf,ldi8) },
-  { FR30BF_INSN_LDI20, SEM_FN_NAME (fr30bf,ldi20) },
-  { FR30BF_INSN_LDI32, SEM_FN_NAME (fr30bf,ldi32) },
-  { FR30BF_INSN_LD, SEM_FN_NAME (fr30bf,ld) },
-  { FR30BF_INSN_LDUH, SEM_FN_NAME (fr30bf,lduh) },
-  { FR30BF_INSN_LDUB, SEM_FN_NAME (fr30bf,ldub) },
-  { FR30BF_INSN_LDR13, SEM_FN_NAME (fr30bf,ldr13) },
-  { FR30BF_INSN_LDR13UH, SEM_FN_NAME (fr30bf,ldr13uh) },
-  { FR30BF_INSN_LDR13UB, SEM_FN_NAME (fr30bf,ldr13ub) },
-  { FR30BF_INSN_LDR14, SEM_FN_NAME (fr30bf,ldr14) },
-  { FR30BF_INSN_LDR14UH, SEM_FN_NAME (fr30bf,ldr14uh) },
-  { FR30BF_INSN_LDR14UB, SEM_FN_NAME (fr30bf,ldr14ub) },
-  { FR30BF_INSN_LDR15, SEM_FN_NAME (fr30bf,ldr15) },
-  { FR30BF_INSN_LDR15GR, SEM_FN_NAME (fr30bf,ldr15gr) },
-  { FR30BF_INSN_LDR15DR, SEM_FN_NAME (fr30bf,ldr15dr) },
-  { FR30BF_INSN_LDR15PS, SEM_FN_NAME (fr30bf,ldr15ps) },
-  { FR30BF_INSN_ST, SEM_FN_NAME (fr30bf,st) },
-  { FR30BF_INSN_STH, SEM_FN_NAME (fr30bf,sth) },
-  { FR30BF_INSN_STB, SEM_FN_NAME (fr30bf,stb) },
-  { FR30BF_INSN_STR13, SEM_FN_NAME (fr30bf,str13) },
-  { FR30BF_INSN_STR13H, SEM_FN_NAME (fr30bf,str13h) },
-  { FR30BF_INSN_STR13B, SEM_FN_NAME (fr30bf,str13b) },
-  { FR30BF_INSN_STR14, SEM_FN_NAME (fr30bf,str14) },
-  { FR30BF_INSN_STR14H, SEM_FN_NAME (fr30bf,str14h) },
-  { FR30BF_INSN_STR14B, SEM_FN_NAME (fr30bf,str14b) },
-  { FR30BF_INSN_STR15, SEM_FN_NAME (fr30bf,str15) },
-  { FR30BF_INSN_STR15GR, SEM_FN_NAME (fr30bf,str15gr) },
-  { FR30BF_INSN_STR15DR, SEM_FN_NAME (fr30bf,str15dr) },
-  { FR30BF_INSN_STR15PS, SEM_FN_NAME (fr30bf,str15ps) },
-  { FR30BF_INSN_MOV, SEM_FN_NAME (fr30bf,mov) },
-  { FR30BF_INSN_MOVDR, SEM_FN_NAME (fr30bf,movdr) },
-  { FR30BF_INSN_MOVPS, SEM_FN_NAME (fr30bf,movps) },
-  { FR30BF_INSN_MOV2DR, SEM_FN_NAME (fr30bf,mov2dr) },
-  { FR30BF_INSN_MOV2PS, SEM_FN_NAME (fr30bf,mov2ps) },
-  { FR30BF_INSN_JMP, SEM_FN_NAME (fr30bf,jmp) },
-  { FR30BF_INSN_JMPD, SEM_FN_NAME (fr30bf,jmpd) },
-  { FR30BF_INSN_CALLR, SEM_FN_NAME (fr30bf,callr) },
-  { FR30BF_INSN_CALLRD, SEM_FN_NAME (fr30bf,callrd) },
-  { FR30BF_INSN_CALL, SEM_FN_NAME (fr30bf,call) },
-  { FR30BF_INSN_CALLD, SEM_FN_NAME (fr30bf,calld) },
-  { FR30BF_INSN_RET, SEM_FN_NAME (fr30bf,ret) },
-  { FR30BF_INSN_RET_D, SEM_FN_NAME (fr30bf,ret_d) },
-  { FR30BF_INSN_INT, SEM_FN_NAME (fr30bf,int) },
-  { FR30BF_INSN_INTE, SEM_FN_NAME (fr30bf,inte) },
-  { FR30BF_INSN_RETI, SEM_FN_NAME (fr30bf,reti) },
-  { FR30BF_INSN_BRAD, SEM_FN_NAME (fr30bf,brad) },
-  { FR30BF_INSN_BRA, SEM_FN_NAME (fr30bf,bra) },
-  { FR30BF_INSN_BNOD, SEM_FN_NAME (fr30bf,bnod) },
-  { FR30BF_INSN_BNO, SEM_FN_NAME (fr30bf,bno) },
-  { FR30BF_INSN_BEQD, SEM_FN_NAME (fr30bf,beqd) },
-  { FR30BF_INSN_BEQ, SEM_FN_NAME (fr30bf,beq) },
-  { FR30BF_INSN_BNED, SEM_FN_NAME (fr30bf,bned) },
-  { FR30BF_INSN_BNE, SEM_FN_NAME (fr30bf,bne) },
-  { FR30BF_INSN_BCD, SEM_FN_NAME (fr30bf,bcd) },
-  { FR30BF_INSN_BC, SEM_FN_NAME (fr30bf,bc) },
-  { FR30BF_INSN_BNCD, SEM_FN_NAME (fr30bf,bncd) },
-  { FR30BF_INSN_BNC, SEM_FN_NAME (fr30bf,bnc) },
-  { FR30BF_INSN_BND, SEM_FN_NAME (fr30bf,bnd) },
-  { FR30BF_INSN_BN, SEM_FN_NAME (fr30bf,bn) },
-  { FR30BF_INSN_BPD, SEM_FN_NAME (fr30bf,bpd) },
-  { FR30BF_INSN_BP, SEM_FN_NAME (fr30bf,bp) },
-  { FR30BF_INSN_BVD, SEM_FN_NAME (fr30bf,bvd) },
-  { FR30BF_INSN_BV, SEM_FN_NAME (fr30bf,bv) },
-  { FR30BF_INSN_BNVD, SEM_FN_NAME (fr30bf,bnvd) },
-  { FR30BF_INSN_BNV, SEM_FN_NAME (fr30bf,bnv) },
-  { FR30BF_INSN_BLTD, SEM_FN_NAME (fr30bf,bltd) },
-  { FR30BF_INSN_BLT, SEM_FN_NAME (fr30bf,blt) },
-  { FR30BF_INSN_BGED, SEM_FN_NAME (fr30bf,bged) },
-  { FR30BF_INSN_BGE, SEM_FN_NAME (fr30bf,bge) },
-  { FR30BF_INSN_BLED, SEM_FN_NAME (fr30bf,bled) },
-  { FR30BF_INSN_BLE, SEM_FN_NAME (fr30bf,ble) },
-  { FR30BF_INSN_BGTD, SEM_FN_NAME (fr30bf,bgtd) },
-  { FR30BF_INSN_BGT, SEM_FN_NAME (fr30bf,bgt) },
-  { FR30BF_INSN_BLSD, SEM_FN_NAME (fr30bf,blsd) },
-  { FR30BF_INSN_BLS, SEM_FN_NAME (fr30bf,bls) },
-  { FR30BF_INSN_BHID, SEM_FN_NAME (fr30bf,bhid) },
-  { FR30BF_INSN_BHI, SEM_FN_NAME (fr30bf,bhi) },
-  { FR30BF_INSN_DMOVR13, SEM_FN_NAME (fr30bf,dmovr13) },
-  { FR30BF_INSN_DMOVR13H, SEM_FN_NAME (fr30bf,dmovr13h) },
-  { FR30BF_INSN_DMOVR13B, SEM_FN_NAME (fr30bf,dmovr13b) },
-  { FR30BF_INSN_DMOVR13PI, SEM_FN_NAME (fr30bf,dmovr13pi) },
-  { FR30BF_INSN_DMOVR13PIH, SEM_FN_NAME (fr30bf,dmovr13pih) },
-  { FR30BF_INSN_DMOVR13PIB, SEM_FN_NAME (fr30bf,dmovr13pib) },
-  { FR30BF_INSN_DMOVR15PI, SEM_FN_NAME (fr30bf,dmovr15pi) },
-  { FR30BF_INSN_DMOV2R13, SEM_FN_NAME (fr30bf,dmov2r13) },
-  { FR30BF_INSN_DMOV2R13H, SEM_FN_NAME (fr30bf,dmov2r13h) },
-  { FR30BF_INSN_DMOV2R13B, SEM_FN_NAME (fr30bf,dmov2r13b) },
-  { FR30BF_INSN_DMOV2R13PI, SEM_FN_NAME (fr30bf,dmov2r13pi) },
-  { FR30BF_INSN_DMOV2R13PIH, SEM_FN_NAME (fr30bf,dmov2r13pih) },
-  { FR30BF_INSN_DMOV2R13PIB, SEM_FN_NAME (fr30bf,dmov2r13pib) },
-  { FR30BF_INSN_DMOV2R15PD, SEM_FN_NAME (fr30bf,dmov2r15pd) },
-  { FR30BF_INSN_LDRES, SEM_FN_NAME (fr30bf,ldres) },
-  { FR30BF_INSN_STRES, SEM_FN_NAME (fr30bf,stres) },
-  { FR30BF_INSN_COPOP, SEM_FN_NAME (fr30bf,copop) },
-  { FR30BF_INSN_COPLD, SEM_FN_NAME (fr30bf,copld) },
-  { FR30BF_INSN_COPST, SEM_FN_NAME (fr30bf,copst) },
-  { FR30BF_INSN_COPSV, SEM_FN_NAME (fr30bf,copsv) },
-  { FR30BF_INSN_NOP, SEM_FN_NAME (fr30bf,nop) },
-  { FR30BF_INSN_ANDCCR, SEM_FN_NAME (fr30bf,andccr) },
-  { FR30BF_INSN_ORCCR, SEM_FN_NAME (fr30bf,orccr) },
-  { FR30BF_INSN_STILM, SEM_FN_NAME (fr30bf,stilm) },
-  { FR30BF_INSN_ADDSP, SEM_FN_NAME (fr30bf,addsp) },
-  { FR30BF_INSN_EXTSB, SEM_FN_NAME (fr30bf,extsb) },
-  { FR30BF_INSN_EXTUB, SEM_FN_NAME (fr30bf,extub) },
-  { FR30BF_INSN_EXTSH, SEM_FN_NAME (fr30bf,extsh) },
-  { FR30BF_INSN_EXTUH, SEM_FN_NAME (fr30bf,extuh) },
-  { FR30BF_INSN_LDM0, SEM_FN_NAME (fr30bf,ldm0) },
-  { FR30BF_INSN_LDM1, SEM_FN_NAME (fr30bf,ldm1) },
-  { FR30BF_INSN_STM0, SEM_FN_NAME (fr30bf,stm0) },
-  { FR30BF_INSN_STM1, SEM_FN_NAME (fr30bf,stm1) },
-  { FR30BF_INSN_ENTER, SEM_FN_NAME (fr30bf,enter) },
-  { FR30BF_INSN_LEAVE, SEM_FN_NAME (fr30bf,leave) },
-  { FR30BF_INSN_XCHB, SEM_FN_NAME (fr30bf,xchb) },
-  { 0, 0 }
-};
-
-/* Add the semantic fns to IDESC_TABLE.  */
-
-void
-SEM_FN_NAME (fr30bf,init_idesc_table) (SIM_CPU *current_cpu)
-{
-  IDESC *idesc_table = CPU_IDESC (current_cpu);
-  const struct sem_fn_desc *sf;
-  int mach_num = MACH_NUM (CPU_MACH (current_cpu));
-
-  for (sf = &sem_fns[0]; sf->fn != 0; ++sf)
-    {
-      const CGEN_INSN *insn = idesc_table[sf->index].idata;
-      int valid_p = (CGEN_INSN_VIRTUAL_P (insn)
-                    || CGEN_INSN_MACH_HAS_P (insn, mach_num));
-#if FAST_P
-      if (valid_p)
-       idesc_table[sf->index].sem_fast = sf->fn;
-      else
-       idesc_table[sf->index].sem_fast = SEM_FN_NAME (fr30bf,x_invalid);
-#else
-      if (valid_p)
-       idesc_table[sf->index].sem_full = sf->fn;
-      else
-       idesc_table[sf->index].sem_full = SEM_FN_NAME (fr30bf,x_invalid);
-#endif
-    }
-}
-
+// OBSOLETE /* Simulator instruction semantics for fr30bf.
+// OBSOLETE 
+// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
+// OBSOLETE 
+// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+// OBSOLETE 
+// OBSOLETE */
+// OBSOLETE 
+// OBSOLETE #define WANT_CPU fr30bf
+// OBSOLETE #define WANT_CPU_FR30BF
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #include "cgen-mem.h"
+// OBSOLETE #include "cgen-ops.h"
+// OBSOLETE 
+// OBSOLETE #undef GET_ATTR
+// OBSOLETE #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
+// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
+// OBSOLETE #else
+// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE /* This is used so that we can compile two copies of the semantic code,
+// OBSOLETE    one with full feature support and one without that runs fast(er).
+// OBSOLETE    FAST_P, when desired, is defined on the command line, -DFAST_P=1.  */
+// OBSOLETE #if FAST_P
+// OBSOLETE #define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
+// OBSOLETE #undef TRACE_RESULT
+// OBSOLETE #define TRACE_RESULT(cpu, abuf, name, type, val)
+// OBSOLETE #else
+// OBSOLETE #define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE /* x-invalid: --invalid-- */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,x_invalid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     /* Update the recorded pc in the cpu state struct.
+// OBSOLETE        Only necessary for WITH_SCACHE case, but to avoid the
+// OBSOLETE        conditional compilation ....  */
+// OBSOLETE     SET_H_PC (pc);
+// OBSOLETE     /* Virtual insns have zero size.  Overwrite vpc with address of next insn
+// OBSOLETE        using the default-insn-bitsize spec.  When executing insns in parallel
+// OBSOLETE        we may want to queue the fault and continue execution.  */
+// OBSOLETE     vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE     vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* x-after: --after-- */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,x_after) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE     fr30bf_pbb_after (current_cpu, sem_arg);
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* x-before: --before-- */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,x_before) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE     fr30bf_pbb_before (current_cpu, sem_arg);
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* x-cti-chain: --cti-chain-- */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,x_cti_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE #ifdef DEFINE_SWITCH
+// OBSOLETE     vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
+// OBSOLETE                           pbb_br_type, pbb_br_npc);
+// OBSOLETE     BREAK (sem);
+// OBSOLETE #else
+// OBSOLETE     /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
+// OBSOLETE     vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
+// OBSOLETE                           CPU_PBB_BR_TYPE (current_cpu),
+// OBSOLETE                           CPU_PBB_BR_NPC (current_cpu));
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* x-chain: --chain-- */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,x_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE     vpc = fr30bf_pbb_chain (current_cpu, sem_arg);
+// OBSOLETE #ifdef DEFINE_SWITCH
+// OBSOLETE     BREAK (sem);
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* x-begin: --begin-- */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,x_begin) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE #if WITH_SCACHE_PBB_FR30BF
+// OBSOLETE #if defined DEFINE_SWITCH || defined FAST_P
+// OBSOLETE     /* In the switch case FAST_P is a constant, allowing several optimizations
+// OBSOLETE        in any called inline functions.  */
+// OBSOLETE     vpc = fr30bf_pbb_begin (current_cpu, FAST_P);
+// OBSOLETE #else
+// OBSOLETE #if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
+// OBSOLETE     vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
+// OBSOLETE #else
+// OBSOLETE     vpc = fr30bf_pbb_begin (current_cpu, 0);
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE #endif
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* add: add $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* addi: add $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* add2: add2 $m4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,add2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* addc: addc $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,addc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* addn: addn $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,addn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* addni: addn $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,addni) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* addn2: addn2 $m4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,addn2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* sub: sub $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* subc: subc $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,subc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* subn: subn $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,subn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* cmp: cmp $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp1;
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* cmpi: cmp $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp1;
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* cmp2: cmp2 $m4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,cmp2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp1;
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp1, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* and: and $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* or: or $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* eor: eor $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,eor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* andm: and $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,andm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* andh: andh $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,andh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   HI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     HI opval = tmp_tmp;
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* andb: andb $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,andb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     QI opval = tmp_tmp;
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* orm: or $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,orm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* orh: orh $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,orh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   HI tmp_tmp;
+// OBSOLETE   tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     HI opval = tmp_tmp;
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* orb: orb $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,orb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     QI opval = tmp_tmp;
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* eorm: eor $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,eorm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* eorh: eorh $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,eorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   HI tmp_tmp;
+// OBSOLETE   tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTHI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     HI opval = tmp_tmp;
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* eorb: eorb $Rj,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,eorb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     QI opval = tmp_tmp;
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bandl: bandl $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bandl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* borl: borl $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,borl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* beorl: beorl $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,beorl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bandh: bandh $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bandh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* borh: borh $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,borh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* beorh: beorh $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,beorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* btstl: btstl $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,btstl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* btsth: btsth $u4,@$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,btsth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   QI tmp_tmp;
+// OBSOLETE   tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTQI (tmp_tmp, 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* mul: mul $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   DI tmp_tmp;
+// OBSOLETE   tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (tmp_tmp);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQDI (tmp_tmp, MAKEDI (0, 0));
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000))));
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* mulu: mulu $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,mulu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   DI tmp_tmp;
+// OBSOLETE   tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri)));
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (tmp_tmp);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 4)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (GET_H_DR (((UINT) 4)), 0);
+// OBSOLETE     CPU (h_vbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* mulh: mulh $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,mulh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri)));
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* muluh: muluh $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,muluh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535));
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* div0s: div0s $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,div0s) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
+// OBSOLETE     CPU (h_d0bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0));
+// OBSOLETE     CPU (h_d1bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (NEBI (CPU (h_d0bit), 0)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0xffffffff;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* div0u: div0u $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,div0u) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_d0bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_d1bit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* div1: div1 $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,div1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (LTSI (GET_H_DR (((UINT) 5)), 0)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ORSI (GET_H_DR (((UINT) 5)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (GET_H_DR (((UINT) 4)), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* div2: div2 $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,div2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE {
+// OBSOLETE   tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
+// OBSOLETE   {
+// OBSOLETE     BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (EQSI (tmp_tmp, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 1;
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = 0;
+// OBSOLETE     SET_H_DR (((UINT) 4), opval);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* div3: div3 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,div3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (EQBI (CPU (h_zbit), 1)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1);
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* div4s: div4s */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,div4s) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = NEGSI (GET_H_DR (((UINT) 5)));
+// OBSOLETE     SET_H_DR (((UINT) 5), opval);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lsl: lsl $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ANDSI (* FLD (i_Rj), 31);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lsli: lsl $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lsli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = FLD (f_u4);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lsl2: lsl2 $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lsl2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ADDSI (FLD (f_u4), 16);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lsr: lsr $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lsr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ANDSI (* FLD (i_Rj), 31);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lsri: lsr $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lsri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = FLD (f_u4);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lsr2: lsr2 $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lsr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ADDSI (FLD (f_u4), 16);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* asr: asr $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,asr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ANDSI (* FLD (i_Rj), 31);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRASI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* asri: asr $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,asri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = FLD (f_u4);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRASI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* asr2: asr2 $u4,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,asr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_shift;
+// OBSOLETE   tmp_shift = ADDSI (FLD (f_u4), 16);
+// OBSOLETE if (NESI (tmp_shift, 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SRASI (* FLD (i_Ri), tmp_shift);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE   {
+// OBSOLETE     BI opval = 0;
+// OBSOLETE     CPU (h_cbit) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE   {
+// OBSOLETE     BI opval = LTSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_nbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     BI opval = EQSI (* FLD (i_Ri), 0);
+// OBSOLETE     CPU (h_zbit) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldi8: ldi:8 $i8,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = FLD (f_i8);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldi20: ldi:20 $i20,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldi20) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = FLD (f_i20);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldi32: ldi:32 $i32,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldi32) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = FLD (f_i32);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ld: ld @$Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* lduh: lduh @$Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldub: ldub @$Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr13: ld @($R13,$Rj),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr13uh: lduh @($R13,$Rj),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr13uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr13ub: ldub @($R13,$Rj),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr13ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr14: ld @($R14,$disp10),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr14) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr14uh: lduh @($R14,$disp9),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr14uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr14ub: ldub @($R14,$disp8),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr14ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr15: ld @($R15,$udisp6),$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr15) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)])));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr15gr: ld @$R15+,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE if (NESI (FLD (f_Ri), 15)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr15dr: ld @$R15+,$Rs2 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SET_H_DR (FLD (f_Rs2), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldr15ps: ld @$R15+,$ps */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldr15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* st: st $Ri,@$Rj */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* sth: sth $Ri,@$Rj */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* stb: stb $Ri,@$Rj */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str13: st $Ri,@($R13,$Rj) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str13h: sth $Ri,@($R13,$Rj) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str13b: stb $Ri,@($R13,$Rj) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str14: st $Ri,@($R14,$disp10) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str14) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str14h: sth $Ri,@($R14,$disp9) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str14h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str14b: stb $Ri,@($R14,$disp8) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str14b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str15: st $Ri,@($R15,$udisp6) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str15) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str15gr: st $Ri,@-$R15 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = * FLD (i_Ri);
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str15dr: st $Rs2,@-$R15 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = GET_H_DR (FLD (f_Rs2));
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* str15ps: st $ps,@-$R15 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,str15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GET_H_PS ();
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* mov: mov $Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,mov) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Rj);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* movdr: mov $Rs1,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,movdr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GET_H_DR (FLD (f_Rs1));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* movps: mov $ps,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,movps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GET_H_PS ();
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* mov2dr: mov $Ri,$Rs1 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,mov2dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = * FLD (i_Ri);
+// OBSOLETE     SET_H_DR (FLD (f_Rs1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* mov2ps: mov $Ri,$ps */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,mov2ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* jmp: jmp @$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* jmpd: jmp:d @$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,jmpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* callr: call @$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,callr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 2);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* callrd: call:d @$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,callrd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 4);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = * FLD (i_Ri);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* call: call $label12 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,call) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 2);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label12);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* calld: call:d $label12 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,calld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (pc, 4);
+// OBSOLETE     SET_H_DR (((UINT) 1), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label12);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ret: ret */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ret) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = GET_H_DR (((UINT) 1));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ret:d: ret:d */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ret_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = GET_H_DR (((UINT) 1));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* int: int $u8 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,int) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE   {
+// OBSOLETE     SI opval = fr30_int (current_cpu, pc, FLD (f_u8));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* inte: inte */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,inte) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE ; /*clobber*/
+// OBSOLETE   {
+// OBSOLETE     SI opval = fr30_inte (current_cpu, pc);
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* reti: reti */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,reti) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (EQBI (GET_H_SBIT (), 0)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 2), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 2), opval);
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE } else {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
+// OBSOLETE     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 3), opval);
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
+// OBSOLETE     SET_H_PS (opval);
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
+// OBSOLETE     SET_H_DR (((UINT) 3), opval);
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* brad: bra:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,brad) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bra: bra $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bnod: bno:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bnod) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bno: bno $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bno) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* beqd: beq:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,beqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_zbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* beq: beq $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_zbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bned: bne:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bned) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bne: bne $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bcd: bc:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bcd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_cbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bc: bc $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_cbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bncd: bnc:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bncd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_cbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bnc: bnc $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bnc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_cbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bnd: bn:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bnd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_nbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bn: bn $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_nbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bpd: bp:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bp: bp $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bvd: bv:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (CPU (h_vbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bv: bv $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (CPU (h_vbit)) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bnvd: bnv:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bnvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (CPU (h_vbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bnv: bnv $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bnv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (CPU (h_vbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 2);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bltd: blt:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bltd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* blt: blt $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,blt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bged: bge:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bged) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bge: bge $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bge) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bled: ble:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bled) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ble: ble $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ble) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bgtd: bgt:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bgtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bgt: bgt $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* blsd: bls:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,blsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bls: bls $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bhid: bhi:d $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bhid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* bhi: bhi $label9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,bhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_BRANCH_INIT
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
+// OBSOLETE   {
+// OBSOLETE     USI opval = FLD (i_label9);
+// OBSOLETE     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   SEM_BRANCH_FINI (vpc);
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr13: dmov $R13,@$dir10 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr13h: dmovh $R13,@$dir9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     HI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr13b: dmovb $R13,@$dir8 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     QI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr13pi: dmov @$R13+,@$dir10 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
+// OBSOLETE     SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr13pih: dmovh @$R13+,@$dir9 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
+// OBSOLETE     SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr13pib: dmovb @$R13+,@$dir8 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
+// OBSOLETE     SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmovr15pi: dmov @$R15+,@$dir10 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmovr15pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r13: dmov @$dir10,$R13 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r13h: dmovh @$dir9,$R13 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r13b: dmovb @$dir8,$R13 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r13pi: dmov @$dir10,@$R13+ */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r13pih: dmovh @$dir9,@$R13+ */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
+// OBSOLETE     SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r13pib: dmovb @$dir8,@$R13+ */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
+// OBSOLETE     SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* dmov2r15pd: dmov @$dir10,@-$R15 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r15pd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldres: ldres @$Ri+,$u4 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldres) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), 4);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* stres: stres $u4,@$Ri+ */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,stres) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (* FLD (i_Ri), 4);
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* copop: copop $u4c,$ccc,$CRj,$CRi */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,copop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* copld: copld $u4c,$ccc,$Rjc,$CRi */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,copld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* copst: copst $u4c,$ccc,$CRj,$Ric */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,copst) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* copsv: copsv $u4c,$ccc,$CRj,$Ric */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,copsv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* nop: nop */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE ((void) 0); /*nop*/
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* andccr: andccr $u8 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,andccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8));
+// OBSOLETE     SET_H_CCR (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* orccr: orccr $u8 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,orccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     UQI opval = ORQI (GET_H_CCR (), FLD (f_u8));
+// OBSOLETE     SET_H_CCR (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* stilm: stilm $u8 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,stilm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     UQI opval = ANDSI (FLD (f_u8), 31);
+// OBSOLETE     SET_H_ILM (opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* addsp: addsp $s10 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,addsp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10));
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* extsb: extsb $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,extsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* extub: extub $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,extub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* extsh: extsh $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,extsh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* extuh: extuh $Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,extuh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE   {
+// OBSOLETE     SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldm0: ldm0 ($reglist_low_ld) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 1)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 0)]) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 1)]) = opval;
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 2)]) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 3)]) = opval;
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 4)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 5)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 6)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 128)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 7)]) = opval;
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* ldm1: ldm1 ($reglist_hi_ld) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,ldm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 1)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 8)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 9)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 10)]) = opval;
+// OBSOLETE     written |= (1 << 3);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 11)]) = opval;
+// OBSOLETE     written |= (1 << 4);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 12)]) = opval;
+// OBSOLETE     written |= (1 << 5);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 13)]) = opval;
+// OBSOLETE     written |= (1 << 6);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 14)]) = opval;
+// OBSOLETE     written |= (1 << 7);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 128)) {
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 8);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* stm0: stm0 ($reglist_low_st) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,stm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 1)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 7)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 6)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 5)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 4)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 3)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 2)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 1)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 128)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 0)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 11);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* stm1: stm1 ($reglist_hi_st) */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,stm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 1)) {
+// OBSOLETE {
+// OBSOLETE   SI tmp_save_r15;
+// OBSOLETE   tmp_save_r15 = CPU (h_gr[((UINT) 15)]);
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_save_r15;
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 2)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 14)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 4)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 13)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 8)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 12)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 16)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 11)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 32)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 10)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 64)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 9)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 128)) {
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     written |= (1 << 9);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 8)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
+// OBSOLETE     written |= (1 << 10);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   abuf->written = written;
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* enter: enter $u10 */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,enter) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
+// OBSOLETE   {
+// OBSOLETE     SI opval = CPU (h_gr[((UINT) 14)]);
+// OBSOLETE     SETMEMSI (current_cpu, pc, tmp_tmp, opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = tmp_tmp;
+// OBSOLETE     CPU (h_gr[((UINT) 14)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10));
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* leave: leave */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,leave) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   {
+// OBSOLETE     SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4);
+// OBSOLETE     CPU (h_gr[((UINT) 15)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4));
+// OBSOLETE     CPU (h_gr[((UINT) 14)]) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* xchb: xchb @$Rj,$Ri */
+// OBSOLETE 
+// OBSOLETE static SEM_PC
+// OBSOLETE SEM_FN_NAME (fr30bf,xchb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
+// OBSOLETE {
+// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
+// OBSOLETE   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
+// OBSOLETE   int UNUSED written = 0;
+// OBSOLETE   IADDR UNUSED pc = abuf->addr;
+// OBSOLETE   SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
+// OBSOLETE 
+// OBSOLETE {
+// OBSOLETE   SI tmp_tmp;
+// OBSOLETE   tmp_tmp = * FLD (i_Ri);
+// OBSOLETE   {
+// OBSOLETE     SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
+// OBSOLETE     * FLD (i_Ri) = opval;
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE   {
+// OBSOLETE     UQI opval = tmp_tmp;
+// OBSOLETE     SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval);
+// OBSOLETE     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+// OBSOLETE   }
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE   return vpc;
+// OBSOLETE #undef FLD
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Table of all semantic fns.  */
+// OBSOLETE 
+// OBSOLETE static const struct sem_fn_desc sem_fns[] = {
+// OBSOLETE   { FR30BF_INSN_X_INVALID, SEM_FN_NAME (fr30bf,x_invalid) },
+// OBSOLETE   { FR30BF_INSN_X_AFTER, SEM_FN_NAME (fr30bf,x_after) },
+// OBSOLETE   { FR30BF_INSN_X_BEFORE, SEM_FN_NAME (fr30bf,x_before) },
+// OBSOLETE   { FR30BF_INSN_X_CTI_CHAIN, SEM_FN_NAME (fr30bf,x_cti_chain) },
+// OBSOLETE   { FR30BF_INSN_X_CHAIN, SEM_FN_NAME (fr30bf,x_chain) },
+// OBSOLETE   { FR30BF_INSN_X_BEGIN, SEM_FN_NAME (fr30bf,x_begin) },
+// OBSOLETE   { FR30BF_INSN_ADD, SEM_FN_NAME (fr30bf,add) },
+// OBSOLETE   { FR30BF_INSN_ADDI, SEM_FN_NAME (fr30bf,addi) },
+// OBSOLETE   { FR30BF_INSN_ADD2, SEM_FN_NAME (fr30bf,add2) },
+// OBSOLETE   { FR30BF_INSN_ADDC, SEM_FN_NAME (fr30bf,addc) },
+// OBSOLETE   { FR30BF_INSN_ADDN, SEM_FN_NAME (fr30bf,addn) },
+// OBSOLETE   { FR30BF_INSN_ADDNI, SEM_FN_NAME (fr30bf,addni) },
+// OBSOLETE   { FR30BF_INSN_ADDN2, SEM_FN_NAME (fr30bf,addn2) },
+// OBSOLETE   { FR30BF_INSN_SUB, SEM_FN_NAME (fr30bf,sub) },
+// OBSOLETE   { FR30BF_INSN_SUBC, SEM_FN_NAME (fr30bf,subc) },
+// OBSOLETE   { FR30BF_INSN_SUBN, SEM_FN_NAME (fr30bf,subn) },
+// OBSOLETE   { FR30BF_INSN_CMP, SEM_FN_NAME (fr30bf,cmp) },
+// OBSOLETE   { FR30BF_INSN_CMPI, SEM_FN_NAME (fr30bf,cmpi) },
+// OBSOLETE   { FR30BF_INSN_CMP2, SEM_FN_NAME (fr30bf,cmp2) },
+// OBSOLETE   { FR30BF_INSN_AND, SEM_FN_NAME (fr30bf,and) },
+// OBSOLETE   { FR30BF_INSN_OR, SEM_FN_NAME (fr30bf,or) },
+// OBSOLETE   { FR30BF_INSN_EOR, SEM_FN_NAME (fr30bf,eor) },
+// OBSOLETE   { FR30BF_INSN_ANDM, SEM_FN_NAME (fr30bf,andm) },
+// OBSOLETE   { FR30BF_INSN_ANDH, SEM_FN_NAME (fr30bf,andh) },
+// OBSOLETE   { FR30BF_INSN_ANDB, SEM_FN_NAME (fr30bf,andb) },
+// OBSOLETE   { FR30BF_INSN_ORM, SEM_FN_NAME (fr30bf,orm) },
+// OBSOLETE   { FR30BF_INSN_ORH, SEM_FN_NAME (fr30bf,orh) },
+// OBSOLETE   { FR30BF_INSN_ORB, SEM_FN_NAME (fr30bf,orb) },
+// OBSOLETE   { FR30BF_INSN_EORM, SEM_FN_NAME (fr30bf,eorm) },
+// OBSOLETE   { FR30BF_INSN_EORH, SEM_FN_NAME (fr30bf,eorh) },
+// OBSOLETE   { FR30BF_INSN_EORB, SEM_FN_NAME (fr30bf,eorb) },
+// OBSOLETE   { FR30BF_INSN_BANDL, SEM_FN_NAME (fr30bf,bandl) },
+// OBSOLETE   { FR30BF_INSN_BORL, SEM_FN_NAME (fr30bf,borl) },
+// OBSOLETE   { FR30BF_INSN_BEORL, SEM_FN_NAME (fr30bf,beorl) },
+// OBSOLETE   { FR30BF_INSN_BANDH, SEM_FN_NAME (fr30bf,bandh) },
+// OBSOLETE   { FR30BF_INSN_BORH, SEM_FN_NAME (fr30bf,borh) },
+// OBSOLETE   { FR30BF_INSN_BEORH, SEM_FN_NAME (fr30bf,beorh) },
+// OBSOLETE   { FR30BF_INSN_BTSTL, SEM_FN_NAME (fr30bf,btstl) },
+// OBSOLETE   { FR30BF_INSN_BTSTH, SEM_FN_NAME (fr30bf,btsth) },
+// OBSOLETE   { FR30BF_INSN_MUL, SEM_FN_NAME (fr30bf,mul) },
+// OBSOLETE   { FR30BF_INSN_MULU, SEM_FN_NAME (fr30bf,mulu) },
+// OBSOLETE   { FR30BF_INSN_MULH, SEM_FN_NAME (fr30bf,mulh) },
+// OBSOLETE   { FR30BF_INSN_MULUH, SEM_FN_NAME (fr30bf,muluh) },
+// OBSOLETE   { FR30BF_INSN_DIV0S, SEM_FN_NAME (fr30bf,div0s) },
+// OBSOLETE   { FR30BF_INSN_DIV0U, SEM_FN_NAME (fr30bf,div0u) },
+// OBSOLETE   { FR30BF_INSN_DIV1, SEM_FN_NAME (fr30bf,div1) },
+// OBSOLETE   { FR30BF_INSN_DIV2, SEM_FN_NAME (fr30bf,div2) },
+// OBSOLETE   { FR30BF_INSN_DIV3, SEM_FN_NAME (fr30bf,div3) },
+// OBSOLETE   { FR30BF_INSN_DIV4S, SEM_FN_NAME (fr30bf,div4s) },
+// OBSOLETE   { FR30BF_INSN_LSL, SEM_FN_NAME (fr30bf,lsl) },
+// OBSOLETE   { FR30BF_INSN_LSLI, SEM_FN_NAME (fr30bf,lsli) },
+// OBSOLETE   { FR30BF_INSN_LSL2, SEM_FN_NAME (fr30bf,lsl2) },
+// OBSOLETE   { FR30BF_INSN_LSR, SEM_FN_NAME (fr30bf,lsr) },
+// OBSOLETE   { FR30BF_INSN_LSRI, SEM_FN_NAME (fr30bf,lsri) },
+// OBSOLETE   { FR30BF_INSN_LSR2, SEM_FN_NAME (fr30bf,lsr2) },
+// OBSOLETE   { FR30BF_INSN_ASR, SEM_FN_NAME (fr30bf,asr) },
+// OBSOLETE   { FR30BF_INSN_ASRI, SEM_FN_NAME (fr30bf,asri) },
+// OBSOLETE   { FR30BF_INSN_ASR2, SEM_FN_NAME (fr30bf,asr2) },
+// OBSOLETE   { FR30BF_INSN_LDI8, SEM_FN_NAME (fr30bf,ldi8) },
+// OBSOLETE   { FR30BF_INSN_LDI20, SEM_FN_NAME (fr30bf,ldi20) },
+// OBSOLETE   { FR30BF_INSN_LDI32, SEM_FN_NAME (fr30bf,ldi32) },
+// OBSOLETE   { FR30BF_INSN_LD, SEM_FN_NAME (fr30bf,ld) },
+// OBSOLETE   { FR30BF_INSN_LDUH, SEM_FN_NAME (fr30bf,lduh) },
+// OBSOLETE   { FR30BF_INSN_LDUB, SEM_FN_NAME (fr30bf,ldub) },
+// OBSOLETE   { FR30BF_INSN_LDR13, SEM_FN_NAME (fr30bf,ldr13) },
+// OBSOLETE   { FR30BF_INSN_LDR13UH, SEM_FN_NAME (fr30bf,ldr13uh) },
+// OBSOLETE   { FR30BF_INSN_LDR13UB, SEM_FN_NAME (fr30bf,ldr13ub) },
+// OBSOLETE   { FR30BF_INSN_LDR14, SEM_FN_NAME (fr30bf,ldr14) },
+// OBSOLETE   { FR30BF_INSN_LDR14UH, SEM_FN_NAME (fr30bf,ldr14uh) },
+// OBSOLETE   { FR30BF_INSN_LDR14UB, SEM_FN_NAME (fr30bf,ldr14ub) },
+// OBSOLETE   { FR30BF_INSN_LDR15, SEM_FN_NAME (fr30bf,ldr15) },
+// OBSOLETE   { FR30BF_INSN_LDR15GR, SEM_FN_NAME (fr30bf,ldr15gr) },
+// OBSOLETE   { FR30BF_INSN_LDR15DR, SEM_FN_NAME (fr30bf,ldr15dr) },
+// OBSOLETE   { FR30BF_INSN_LDR15PS, SEM_FN_NAME (fr30bf,ldr15ps) },
+// OBSOLETE   { FR30BF_INSN_ST, SEM_FN_NAME (fr30bf,st) },
+// OBSOLETE   { FR30BF_INSN_STH, SEM_FN_NAME (fr30bf,sth) },
+// OBSOLETE   { FR30BF_INSN_STB, SEM_FN_NAME (fr30bf,stb) },
+// OBSOLETE   { FR30BF_INSN_STR13, SEM_FN_NAME (fr30bf,str13) },
+// OBSOLETE   { FR30BF_INSN_STR13H, SEM_FN_NAME (fr30bf,str13h) },
+// OBSOLETE   { FR30BF_INSN_STR13B, SEM_FN_NAME (fr30bf,str13b) },
+// OBSOLETE   { FR30BF_INSN_STR14, SEM_FN_NAME (fr30bf,str14) },
+// OBSOLETE   { FR30BF_INSN_STR14H, SEM_FN_NAME (fr30bf,str14h) },
+// OBSOLETE   { FR30BF_INSN_STR14B, SEM_FN_NAME (fr30bf,str14b) },
+// OBSOLETE   { FR30BF_INSN_STR15, SEM_FN_NAME (fr30bf,str15) },
+// OBSOLETE   { FR30BF_INSN_STR15GR, SEM_FN_NAME (fr30bf,str15gr) },
+// OBSOLETE   { FR30BF_INSN_STR15DR, SEM_FN_NAME (fr30bf,str15dr) },
+// OBSOLETE   { FR30BF_INSN_STR15PS, SEM_FN_NAME (fr30bf,str15ps) },
+// OBSOLETE   { FR30BF_INSN_MOV, SEM_FN_NAME (fr30bf,mov) },
+// OBSOLETE   { FR30BF_INSN_MOVDR, SEM_FN_NAME (fr30bf,movdr) },
+// OBSOLETE   { FR30BF_INSN_MOVPS, SEM_FN_NAME (fr30bf,movps) },
+// OBSOLETE   { FR30BF_INSN_MOV2DR, SEM_FN_NAME (fr30bf,mov2dr) },
+// OBSOLETE   { FR30BF_INSN_MOV2PS, SEM_FN_NAME (fr30bf,mov2ps) },
+// OBSOLETE   { FR30BF_INSN_JMP, SEM_FN_NAME (fr30bf,jmp) },
+// OBSOLETE   { FR30BF_INSN_JMPD, SEM_FN_NAME (fr30bf,jmpd) },
+// OBSOLETE   { FR30BF_INSN_CALLR, SEM_FN_NAME (fr30bf,callr) },
+// OBSOLETE   { FR30BF_INSN_CALLRD, SEM_FN_NAME (fr30bf,callrd) },
+// OBSOLETE   { FR30BF_INSN_CALL, SEM_FN_NAME (fr30bf,call) },
+// OBSOLETE   { FR30BF_INSN_CALLD, SEM_FN_NAME (fr30bf,calld) },
+// OBSOLETE   { FR30BF_INSN_RET, SEM_FN_NAME (fr30bf,ret) },
+// OBSOLETE   { FR30BF_INSN_RET_D, SEM_FN_NAME (fr30bf,ret_d) },
+// OBSOLETE   { FR30BF_INSN_INT, SEM_FN_NAME (fr30bf,int) },
+// OBSOLETE   { FR30BF_INSN_INTE, SEM_FN_NAME (fr30bf,inte) },
+// OBSOLETE   { FR30BF_INSN_RETI, SEM_FN_NAME (fr30bf,reti) },
+// OBSOLETE   { FR30BF_INSN_BRAD, SEM_FN_NAME (fr30bf,brad) },
+// OBSOLETE   { FR30BF_INSN_BRA, SEM_FN_NAME (fr30bf,bra) },
+// OBSOLETE   { FR30BF_INSN_BNOD, SEM_FN_NAME (fr30bf,bnod) },
+// OBSOLETE   { FR30BF_INSN_BNO, SEM_FN_NAME (fr30bf,bno) },
+// OBSOLETE   { FR30BF_INSN_BEQD, SEM_FN_NAME (fr30bf,beqd) },
+// OBSOLETE   { FR30BF_INSN_BEQ, SEM_FN_NAME (fr30bf,beq) },
+// OBSOLETE   { FR30BF_INSN_BNED, SEM_FN_NAME (fr30bf,bned) },
+// OBSOLETE   { FR30BF_INSN_BNE, SEM_FN_NAME (fr30bf,bne) },
+// OBSOLETE   { FR30BF_INSN_BCD, SEM_FN_NAME (fr30bf,bcd) },
+// OBSOLETE   { FR30BF_INSN_BC, SEM_FN_NAME (fr30bf,bc) },
+// OBSOLETE   { FR30BF_INSN_BNCD, SEM_FN_NAME (fr30bf,bncd) },
+// OBSOLETE   { FR30BF_INSN_BNC, SEM_FN_NAME (fr30bf,bnc) },
+// OBSOLETE   { FR30BF_INSN_BND, SEM_FN_NAME (fr30bf,bnd) },
+// OBSOLETE   { FR30BF_INSN_BN, SEM_FN_NAME (fr30bf,bn) },
+// OBSOLETE   { FR30BF_INSN_BPD, SEM_FN_NAME (fr30bf,bpd) },
+// OBSOLETE   { FR30BF_INSN_BP, SEM_FN_NAME (fr30bf,bp) },
+// OBSOLETE   { FR30BF_INSN_BVD, SEM_FN_NAME (fr30bf,bvd) },
+// OBSOLETE   { FR30BF_INSN_BV, SEM_FN_NAME (fr30bf,bv) },
+// OBSOLETE   { FR30BF_INSN_BNVD, SEM_FN_NAME (fr30bf,bnvd) },
+// OBSOLETE   { FR30BF_INSN_BNV, SEM_FN_NAME (fr30bf,bnv) },
+// OBSOLETE   { FR30BF_INSN_BLTD, SEM_FN_NAME (fr30bf,bltd) },
+// OBSOLETE   { FR30BF_INSN_BLT, SEM_FN_NAME (fr30bf,blt) },
+// OBSOLETE   { FR30BF_INSN_BGED, SEM_FN_NAME (fr30bf,bged) },
+// OBSOLETE   { FR30BF_INSN_BGE, SEM_FN_NAME (fr30bf,bge) },
+// OBSOLETE   { FR30BF_INSN_BLED, SEM_FN_NAME (fr30bf,bled) },
+// OBSOLETE   { FR30BF_INSN_BLE, SEM_FN_NAME (fr30bf,ble) },
+// OBSOLETE   { FR30BF_INSN_BGTD, SEM_FN_NAME (fr30bf,bgtd) },
+// OBSOLETE   { FR30BF_INSN_BGT, SEM_FN_NAME (fr30bf,bgt) },
+// OBSOLETE   { FR30BF_INSN_BLSD, SEM_FN_NAME (fr30bf,blsd) },
+// OBSOLETE   { FR30BF_INSN_BLS, SEM_FN_NAME (fr30bf,bls) },
+// OBSOLETE   { FR30BF_INSN_BHID, SEM_FN_NAME (fr30bf,bhid) },
+// OBSOLETE   { FR30BF_INSN_BHI, SEM_FN_NAME (fr30bf,bhi) },
+// OBSOLETE   { FR30BF_INSN_DMOVR13, SEM_FN_NAME (fr30bf,dmovr13) },
+// OBSOLETE   { FR30BF_INSN_DMOVR13H, SEM_FN_NAME (fr30bf,dmovr13h) },
+// OBSOLETE   { FR30BF_INSN_DMOVR13B, SEM_FN_NAME (fr30bf,dmovr13b) },
+// OBSOLETE   { FR30BF_INSN_DMOVR13PI, SEM_FN_NAME (fr30bf,dmovr13pi) },
+// OBSOLETE   { FR30BF_INSN_DMOVR13PIH, SEM_FN_NAME (fr30bf,dmovr13pih) },
+// OBSOLETE   { FR30BF_INSN_DMOVR13PIB, SEM_FN_NAME (fr30bf,dmovr13pib) },
+// OBSOLETE   { FR30BF_INSN_DMOVR15PI, SEM_FN_NAME (fr30bf,dmovr15pi) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13, SEM_FN_NAME (fr30bf,dmov2r13) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13H, SEM_FN_NAME (fr30bf,dmov2r13h) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13B, SEM_FN_NAME (fr30bf,dmov2r13b) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13PI, SEM_FN_NAME (fr30bf,dmov2r13pi) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13PIH, SEM_FN_NAME (fr30bf,dmov2r13pih) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R13PIB, SEM_FN_NAME (fr30bf,dmov2r13pib) },
+// OBSOLETE   { FR30BF_INSN_DMOV2R15PD, SEM_FN_NAME (fr30bf,dmov2r15pd) },
+// OBSOLETE   { FR30BF_INSN_LDRES, SEM_FN_NAME (fr30bf,ldres) },
+// OBSOLETE   { FR30BF_INSN_STRES, SEM_FN_NAME (fr30bf,stres) },
+// OBSOLETE   { FR30BF_INSN_COPOP, SEM_FN_NAME (fr30bf,copop) },
+// OBSOLETE   { FR30BF_INSN_COPLD, SEM_FN_NAME (fr30bf,copld) },
+// OBSOLETE   { FR30BF_INSN_COPST, SEM_FN_NAME (fr30bf,copst) },
+// OBSOLETE   { FR30BF_INSN_COPSV, SEM_FN_NAME (fr30bf,copsv) },
+// OBSOLETE   { FR30BF_INSN_NOP, SEM_FN_NAME (fr30bf,nop) },
+// OBSOLETE   { FR30BF_INSN_ANDCCR, SEM_FN_NAME (fr30bf,andccr) },
+// OBSOLETE   { FR30BF_INSN_ORCCR, SEM_FN_NAME (fr30bf,orccr) },
+// OBSOLETE   { FR30BF_INSN_STILM, SEM_FN_NAME (fr30bf,stilm) },
+// OBSOLETE   { FR30BF_INSN_ADDSP, SEM_FN_NAME (fr30bf,addsp) },
+// OBSOLETE   { FR30BF_INSN_EXTSB, SEM_FN_NAME (fr30bf,extsb) },
+// OBSOLETE   { FR30BF_INSN_EXTUB, SEM_FN_NAME (fr30bf,extub) },
+// OBSOLETE   { FR30BF_INSN_EXTSH, SEM_FN_NAME (fr30bf,extsh) },
+// OBSOLETE   { FR30BF_INSN_EXTUH, SEM_FN_NAME (fr30bf,extuh) },
+// OBSOLETE   { FR30BF_INSN_LDM0, SEM_FN_NAME (fr30bf,ldm0) },
+// OBSOLETE   { FR30BF_INSN_LDM1, SEM_FN_NAME (fr30bf,ldm1) },
+// OBSOLETE   { FR30BF_INSN_STM0, SEM_FN_NAME (fr30bf,stm0) },
+// OBSOLETE   { FR30BF_INSN_STM1, SEM_FN_NAME (fr30bf,stm1) },
+// OBSOLETE   { FR30BF_INSN_ENTER, SEM_FN_NAME (fr30bf,enter) },
+// OBSOLETE   { FR30BF_INSN_LEAVE, SEM_FN_NAME (fr30bf,leave) },
+// OBSOLETE   { FR30BF_INSN_XCHB, SEM_FN_NAME (fr30bf,xchb) },
+// OBSOLETE   { 0, 0 }
+// OBSOLETE };
+// OBSOLETE 
+// OBSOLETE /* Add the semantic fns to IDESC_TABLE.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE SEM_FN_NAME (fr30bf,init_idesc_table) (SIM_CPU *current_cpu)
+// OBSOLETE {
+// OBSOLETE   IDESC *idesc_table = CPU_IDESC (current_cpu);
+// OBSOLETE   const struct sem_fn_desc *sf;
+// OBSOLETE   int mach_num = MACH_NUM (CPU_MACH (current_cpu));
+// OBSOLETE 
+// OBSOLETE   for (sf = &sem_fns[0]; sf->fn != 0; ++sf)
+// OBSOLETE     {
+// OBSOLETE       const CGEN_INSN *insn = idesc_table[sf->index].idata;
+// OBSOLETE       int valid_p = (CGEN_INSN_VIRTUAL_P (insn)
+// OBSOLETE                 || CGEN_INSN_MACH_HAS_P (insn, mach_num));
+// OBSOLETE #if FAST_P
+// OBSOLETE       if (valid_p)
+// OBSOLETE    idesc_table[sf->index].sem_fast = sf->fn;
+// OBSOLETE       else
+// OBSOLETE    idesc_table[sf->index].sem_fast = SEM_FN_NAME (fr30bf,x_invalid);
+// OBSOLETE #else
+// OBSOLETE       if (valid_p)
+// OBSOLETE    idesc_table[sf->index].sem_full = sf->fn;
+// OBSOLETE       else
+// OBSOLETE    idesc_table[sf->index].sem_full = SEM_FN_NAME (fr30bf,x_invalid);
+// OBSOLETE #endif
+// OBSOLETE     }
+// OBSOLETE }
index 28b344d..e5c5c57 100644 (file)
-/* Main simulator entry points specific to the FR30.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#include "sim-main.h"
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#include "sim-options.h"
-#include "libiberty.h"
-#include "bfd.h"
-
-static void free_state (SIM_DESC);
-static void print_fr30_misc_cpu (SIM_CPU *cpu, int verbose);
-
-/* Records simulator descriptor so utilities like fr30_dump_regs can be
-   called from gdb.  */
-SIM_DESC current_state;
-\f
-/* Cover function of sim_state_free to free the cpu buffers as well.  */
-
-static void
-free_state (SIM_DESC sd)
-{
-  if (STATE_MODULES (sd) != NULL)
-    sim_module_uninstall (sd);
-  sim_cpu_free_all (sd);
-  sim_state_free (sd);
-}
-
-/* Create an instance of the simulator.  */
-
-SIM_DESC
-sim_open (kind, callback, abfd, argv)
-     SIM_OPEN_KIND kind;
-     host_callback *callback;
-     struct _bfd *abfd;
-     char **argv;
-{
-  char c;
-  int i;
-  SIM_DESC sd = sim_state_alloc (kind, callback);
-
-  /* The cpu data is kept in a separately allocated chunk of memory.  */
-  if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-#if 0 /* FIXME: pc is in mach-specific struct */
-  /* FIXME: watchpoints code shouldn't need this */
-  {
-    SIM_CPU *current_cpu = STATE_CPU (sd, 0);
-    STATE_WATCHPOINTS (sd)->pc = &(PC);
-    STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
-  }
-#endif
-
-  if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-#if 0 /* FIXME: 'twould be nice if we could do this */
-  /* These options override any module options.
-     Obviously ambiguity should be avoided, however the caller may wish to
-     augment the meaning of an option.  */
-  if (extra_options != NULL)
-    sim_add_option_table (sd, extra_options);
-#endif
-
-  /* getopt will print the error message so we just have to exit if this fails.
-     FIXME: Hmmm...  in the case of gdb we need getopt to call
-     print_filtered.  */
-  if (sim_parse_args (sd, argv) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-#if 0
-  /* Allocate a handler for the control registers and other devices
-     if no memory for that range has been allocated by the user.
-     All are allocated in one chunk to keep things from being
-     unnecessarily complicated.  */
-  if (sim_core_read_buffer (sd, NULL, read_map, &c, FR30_DEVICE_ADDR, 1) == 0)
-    sim_core_attach (sd, NULL,
-                    0 /*level*/,
-                    access_read_write,
-                    0 /*space ???*/,
-                    FR30_DEVICE_ADDR, FR30_DEVICE_LEN /*nr_bytes*/,
-                    0 /*modulo*/,
-                    &fr30_devices,
-                    NULL /*buffer*/);
-#endif
-
-  /* Allocate core managed memory if none specified by user.
-     Use address 4 here in case the user wanted address 0 unmapped.  */
-  if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0)
-    sim_do_commandf (sd, "memory region 0,0x%lx", FR30_DEFAULT_MEM_SIZE);
-
-  /* check for/establish the reference program image */
-  if (sim_analyze_program (sd,
-                          (STATE_PROG_ARGV (sd) != NULL
-                           ? *STATE_PROG_ARGV (sd)
-                           : NULL),
-                          abfd) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  /* Establish any remaining configuration options.  */
-  if (sim_config (sd) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  if (sim_post_argv_init (sd) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  /* Open a copy of the cpu descriptor table.  */
-  {
-    CGEN_CPU_DESC cd = fr30_cgen_cpu_open_1 (STATE_ARCHITECTURE (sd)->printable_name,
-                                            CGEN_ENDIAN_BIG);
-    for (i = 0; i < MAX_NR_PROCESSORS; ++i)
-      {
-       SIM_CPU *cpu = STATE_CPU (sd, i);
-       CPU_CPU_DESC (cpu) = cd;
-       CPU_DISASSEMBLER (cpu) = sim_cgen_disassemble_insn;
-      }
-    fr30_cgen_init_dis (cd);
-  }
-
-  /* Initialize various cgen things not done by common framework.
-     Must be done after fr30_cgen_cpu_open.  */
-  cgen_init (sd);
-
-  /* Store in a global so things like sparc32_dump_regs can be invoked
-     from the gdb command line.  */
-  current_state = sd;
-
-  return sd;
-}
-
-void
-sim_close (sd, quitting)
-     SIM_DESC sd;
-     int quitting;
-{
-  fr30_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
-  sim_module_uninstall (sd);
-}
-\f
-SIM_RC
-sim_create_inferior (sd, abfd, argv, envp)
-     SIM_DESC sd;
-     struct _bfd *abfd;
-     char **argv;
-     char **envp;
-{
-  SIM_CPU *current_cpu = STATE_CPU (sd, 0);
-  SIM_ADDR addr;
-
-  if (abfd != NULL)
-    addr = bfd_get_start_address (abfd);
-  else
-    addr = 0;
-  sim_pc_set (current_cpu, addr);
-
-#if 0
-  STATE_ARGV (sd) = sim_copy_argv (argv);
-  STATE_ENVP (sd) = sim_copy_argv (envp);
-#endif
-
-  return SIM_RC_OK;
-}
-
-void
-sim_do_command (sd, cmd)
-     SIM_DESC sd;
-     char *cmd;
-{ 
-  if (sim_args_command (sd, cmd) != SIM_RC_OK)
-    sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
-}
+// OBSOLETE /* Main simulator entry points specific to the FR30.
+// OBSOLETE    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+// OBSOLETE    Contributed by Cygnus Solutions.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #ifdef HAVE_STDLIB_H
+// OBSOLETE #include <stdlib.h>
+// OBSOLETE #endif
+// OBSOLETE #include "sim-options.h"
+// OBSOLETE #include "libiberty.h"
+// OBSOLETE #include "bfd.h"
+// OBSOLETE 
+// OBSOLETE static void free_state (SIM_DESC);
+// OBSOLETE static void print_fr30_misc_cpu (SIM_CPU *cpu, int verbose);
+// OBSOLETE 
+// OBSOLETE /* Records simulator descriptor so utilities like fr30_dump_regs can be
+// OBSOLETE    called from gdb.  */
+// OBSOLETE SIM_DESC current_state;
+// OBSOLETE \f
+// OBSOLETE /* Cover function of sim_state_free to free the cpu buffers as well.  */
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE free_state (SIM_DESC sd)
+// OBSOLETE {
+// OBSOLETE   if (STATE_MODULES (sd) != NULL)
+// OBSOLETE     sim_module_uninstall (sd);
+// OBSOLETE   sim_cpu_free_all (sd);
+// OBSOLETE   sim_state_free (sd);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Create an instance of the simulator.  */
+// OBSOLETE 
+// OBSOLETE SIM_DESC
+// OBSOLETE sim_open (kind, callback, abfd, argv)
+// OBSOLETE      SIM_OPEN_KIND kind;
+// OBSOLETE      host_callback *callback;
+// OBSOLETE      struct _bfd *abfd;
+// OBSOLETE      char **argv;
+// OBSOLETE {
+// OBSOLETE   char c;
+// OBSOLETE   int i;
+// OBSOLETE   SIM_DESC sd = sim_state_alloc (kind, callback);
+// OBSOLETE 
+// OBSOLETE   /* The cpu data is kept in a separately allocated chunk of memory.  */
+// OBSOLETE   if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
+// OBSOLETE     {
+// OBSOLETE       free_state (sd);
+// OBSOLETE       return 0;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE #if 0 /* FIXME: pc is in mach-specific struct */
+// OBSOLETE   /* FIXME: watchpoints code shouldn't need this */
+// OBSOLETE   {
+// OBSOLETE     SIM_CPU *current_cpu = STATE_CPU (sd, 0);
+// OBSOLETE     STATE_WATCHPOINTS (sd)->pc = &(PC);
+// OBSOLETE     STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
+// OBSOLETE   }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
+// OBSOLETE     {
+// OBSOLETE       free_state (sd);
+// OBSOLETE       return 0;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE #if 0 /* FIXME: 'twould be nice if we could do this */
+// OBSOLETE   /* These options override any module options.
+// OBSOLETE      Obviously ambiguity should be avoided, however the caller may wish to
+// OBSOLETE      augment the meaning of an option.  */
+// OBSOLETE   if (extra_options != NULL)
+// OBSOLETE     sim_add_option_table (sd, extra_options);
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   /* getopt will print the error message so we just have to exit if this fails.
+// OBSOLETE      FIXME: Hmmm...  in the case of gdb we need getopt to call
+// OBSOLETE      print_filtered.  */
+// OBSOLETE   if (sim_parse_args (sd, argv) != SIM_RC_OK)
+// OBSOLETE     {
+// OBSOLETE       free_state (sd);
+// OBSOLETE       return 0;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE #if 0
+// OBSOLETE   /* Allocate a handler for the control registers and other devices
+// OBSOLETE      if no memory for that range has been allocated by the user.
+// OBSOLETE      All are allocated in one chunk to keep things from being
+// OBSOLETE      unnecessarily complicated.  */
+// OBSOLETE   if (sim_core_read_buffer (sd, NULL, read_map, &c, FR30_DEVICE_ADDR, 1) == 0)
+// OBSOLETE     sim_core_attach (sd, NULL,
+// OBSOLETE                 0 /*level*/,
+// OBSOLETE                 access_read_write,
+// OBSOLETE                 0 /*space ???*/,
+// OBSOLETE                 FR30_DEVICE_ADDR, FR30_DEVICE_LEN /*nr_bytes*/,
+// OBSOLETE                 0 /*modulo*/,
+// OBSOLETE                 &fr30_devices,
+// OBSOLETE                 NULL /*buffer*/);
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   /* Allocate core managed memory if none specified by user.
+// OBSOLETE      Use address 4 here in case the user wanted address 0 unmapped.  */
+// OBSOLETE   if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0)
+// OBSOLETE     sim_do_commandf (sd, "memory region 0,0x%lx", FR30_DEFAULT_MEM_SIZE);
+// OBSOLETE 
+// OBSOLETE   /* check for/establish the reference program image */
+// OBSOLETE   if (sim_analyze_program (sd,
+// OBSOLETE                       (STATE_PROG_ARGV (sd) != NULL
+// OBSOLETE                        ? *STATE_PROG_ARGV (sd)
+// OBSOLETE                        : NULL),
+// OBSOLETE                       abfd) != SIM_RC_OK)
+// OBSOLETE     {
+// OBSOLETE       free_state (sd);
+// OBSOLETE       return 0;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* Establish any remaining configuration options.  */
+// OBSOLETE   if (sim_config (sd) != SIM_RC_OK)
+// OBSOLETE     {
+// OBSOLETE       free_state (sd);
+// OBSOLETE       return 0;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   if (sim_post_argv_init (sd) != SIM_RC_OK)
+// OBSOLETE     {
+// OBSOLETE       free_state (sd);
+// OBSOLETE       return 0;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* Open a copy of the cpu descriptor table.  */
+// OBSOLETE   {
+// OBSOLETE     CGEN_CPU_DESC cd = fr30_cgen_cpu_open_1 (STATE_ARCHITECTURE (sd)->printable_name,
+// OBSOLETE                                         CGEN_ENDIAN_BIG);
+// OBSOLETE     for (i = 0; i < MAX_NR_PROCESSORS; ++i)
+// OBSOLETE       {
+// OBSOLETE    SIM_CPU *cpu = STATE_CPU (sd, i);
+// OBSOLETE    CPU_CPU_DESC (cpu) = cd;
+// OBSOLETE    CPU_DISASSEMBLER (cpu) = sim_cgen_disassemble_insn;
+// OBSOLETE       }
+// OBSOLETE     fr30_cgen_init_dis (cd);
+// OBSOLETE   }
+// OBSOLETE 
+// OBSOLETE   /* Initialize various cgen things not done by common framework.
+// OBSOLETE      Must be done after fr30_cgen_cpu_open.  */
+// OBSOLETE   cgen_init (sd);
+// OBSOLETE 
+// OBSOLETE   /* Store in a global so things like sparc32_dump_regs can be invoked
+// OBSOLETE      from the gdb command line.  */
+// OBSOLETE   current_state = sd;
+// OBSOLETE 
+// OBSOLETE   return sd;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE sim_close (sd, quitting)
+// OBSOLETE      SIM_DESC sd;
+// OBSOLETE      int quitting;
+// OBSOLETE {
+// OBSOLETE   fr30_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
+// OBSOLETE   sim_module_uninstall (sd);
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE SIM_RC
+// OBSOLETE sim_create_inferior (sd, abfd, argv, envp)
+// OBSOLETE      SIM_DESC sd;
+// OBSOLETE      struct _bfd *abfd;
+// OBSOLETE      char **argv;
+// OBSOLETE      char **envp;
+// OBSOLETE {
+// OBSOLETE   SIM_CPU *current_cpu = STATE_CPU (sd, 0);
+// OBSOLETE   SIM_ADDR addr;
+// OBSOLETE 
+// OBSOLETE   if (abfd != NULL)
+// OBSOLETE     addr = bfd_get_start_address (abfd);
+// OBSOLETE   else
+// OBSOLETE     addr = 0;
+// OBSOLETE   sim_pc_set (current_cpu, addr);
+// OBSOLETE 
+// OBSOLETE #if 0
+// OBSOLETE   STATE_ARGV (sd) = sim_copy_argv (argv);
+// OBSOLETE   STATE_ENVP (sd) = sim_copy_argv (envp);
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   return SIM_RC_OK;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE sim_do_command (sd, cmd)
+// OBSOLETE      SIM_DESC sd;
+// OBSOLETE      char *cmd;
+// OBSOLETE 
+// OBSOLETE   if (sim_args_command (sd, cmd) != SIM_RC_OK)
+// OBSOLETE     sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
+// OBSOLETE }
index 8cbf085..91700fb 100644 (file)
@@ -1,70 +1,70 @@
-/* Main header for the fr30.  */
-
-#define USING_SIM_BASE_H /* FIXME: quick hack */
-
-struct _sim_cpu; /* FIXME: should be in sim-basics.h */
-typedef struct _sim_cpu SIM_CPU;
-
-/* sim-basics.h includes config.h but cgen-types.h must be included before
-   sim-basics.h and cgen-types.h needs config.h.  */
-#include "config.h"
-
-#include "symcat.h"
-#include "sim-basics.h"
-#include "cgen-types.h"
-#include "fr30-desc.h"
-#include "fr30-opc.h"
-#include "arch.h"
-
-/* These must be defined before sim-base.h.  */
-typedef USI sim_cia;
-
-#define CIA_GET(cpu)     CPU_PC_GET (cpu)
-#define CIA_SET(cpu,val) CPU_PC_SET ((cpu), (val))
-
-#include "sim-base.h"
-#include "cgen-sim.h"
-#include "fr30-sim.h"
-\f
-/* The _sim_cpu struct.  */
-
-struct _sim_cpu {
-  /* sim/common cpu base.  */
-  sim_cpu_base base;
-
-  /* Static parts of cgen.  */
-  CGEN_CPU cgen_cpu;
-
-  /* CPU specific parts go here.
-     Note that in files that don't need to access these pieces WANT_CPU_FOO
-     won't be defined and thus these parts won't appear.  This is ok in the
-     sense that things work.  It is a source of bugs though.
-     One has to of course be careful to not take the size of this
-     struct and no structure members accessed in non-cpu specific files can
-     go after here.  Oh for a better language.  */
-#if defined (WANT_CPU_FR30BF)
-  FR30BF_CPU_DATA cpu_data;
-#endif
-};
-\f
-/* The sim_state struct.  */
-
-struct sim_state {
-  sim_cpu *cpu;
-#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu)
-
-  CGEN_STATE cgen_state;
-
-  sim_state_base base;
-};
-\f
-/* Misc.  */
-
-/* Catch address exceptions.  */
-extern SIM_CORE_SIGNAL_FN fr30_core_signal;
-#define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
-fr30_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), \
-                 (TRANSFER), (ERROR))
-
-/* Default memory size.  */
-#define FR30_DEFAULT_MEM_SIZE 0x800000 /* 8M */
+// OBSOLETE /* Main header for the fr30.  */
+// OBSOLETE 
+// OBSOLETE #define USING_SIM_BASE_H /* FIXME: quick hack */
+// OBSOLETE 
+// OBSOLETE struct _sim_cpu; /* FIXME: should be in sim-basics.h */
+// OBSOLETE typedef struct _sim_cpu SIM_CPU;
+// OBSOLETE 
+// OBSOLETE /* sim-basics.h includes config.h but cgen-types.h must be included before
+// OBSOLETE    sim-basics.h and cgen-types.h needs config.h.  */
+// OBSOLETE #include "config.h"
+// OBSOLETE 
+// OBSOLETE #include "symcat.h"
+// OBSOLETE #include "sim-basics.h"
+// OBSOLETE #include "cgen-types.h"
+// OBSOLETE #include "fr30-desc.h"
+// OBSOLETE #include "fr30-opc.h"
+// OBSOLETE #include "arch.h"
+// OBSOLETE 
+// OBSOLETE /* These must be defined before sim-base.h.  */
+// OBSOLETE typedef USI sim_cia;
+// OBSOLETE 
+// OBSOLETE #define CIA_GET(cpu)     CPU_PC_GET (cpu)
+// OBSOLETE #define CIA_SET(cpu,val) CPU_PC_SET ((cpu), (val))
+// OBSOLETE 
+// OBSOLETE #include "sim-base.h"
+// OBSOLETE #include "cgen-sim.h"
+// OBSOLETE #include "fr30-sim.h"
+// OBSOLETE \f
+// OBSOLETE /* The _sim_cpu struct.  */
+// OBSOLETE 
+// OBSOLETE struct _sim_cpu {
+// OBSOLETE   /* sim/common cpu base.  */
+// OBSOLETE   sim_cpu_base base;
+// OBSOLETE 
+// OBSOLETE   /* Static parts of cgen.  */
+// OBSOLETE   CGEN_CPU cgen_cpu;
+// OBSOLETE 
+// OBSOLETE   /* CPU specific parts go here.
+// OBSOLETE      Note that in files that don't need to access these pieces WANT_CPU_FOO
+// OBSOLETE      won't be defined and thus these parts won't appear.  This is ok in the
+// OBSOLETE      sense that things work.  It is a source of bugs though.
+// OBSOLETE      One has to of course be careful to not take the size of this
+// OBSOLETE      struct and no structure members accessed in non-cpu specific files can
+// OBSOLETE      go after here.  Oh for a better language.  */
+// OBSOLETE #if defined (WANT_CPU_FR30BF)
+// OBSOLETE   FR30BF_CPU_DATA cpu_data;
+// OBSOLETE #endif
+// OBSOLETE };
+// OBSOLETE \f
+// OBSOLETE /* The sim_state struct.  */
+// OBSOLETE 
+// OBSOLETE struct sim_state {
+// OBSOLETE   sim_cpu *cpu;
+// OBSOLETE #define STATE_CPU(sd, n) (/*&*/ (sd)->cpu)
+// OBSOLETE 
+// OBSOLETE   CGEN_STATE cgen_state;
+// OBSOLETE 
+// OBSOLETE   sim_state_base base;
+// OBSOLETE };
+// OBSOLETE \f
+// OBSOLETE /* Misc.  */
+// OBSOLETE 
+// OBSOLETE /* Catch address exceptions.  */
+// OBSOLETE extern SIM_CORE_SIGNAL_FN fr30_core_signal;
+// OBSOLETE #define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
+// OBSOLETE fr30_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), \
+// OBSOLETE              (TRANSFER), (ERROR))
+// OBSOLETE 
+// OBSOLETE /* Default memory size.  */
+// OBSOLETE #define FR30_DEFAULT_MEM_SIZE 0x800000 /* 8M */
index 25cd7b9..6852359 100644 (file)
-/* fr30 exception, interrupt, and trap (EIT) support
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of the GNU simulators.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
-
-#include "sim-main.h"
-#include "targ-vals.h"
-#include "cgen-engine.h"
-
-/* The semantic code invokes this for invalid (unrecognized) instructions.  */
-
-SEM_PC
-sim_engine_invalid_insn (SIM_CPU *current_cpu, IADDR cia, SEM_PC vpc)
-{
-  SIM_DESC sd = CPU_STATE (current_cpu);
-
-#if 0
-  if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
-    {
-      h_bsm_set (current_cpu, h_sm_get (current_cpu));
-      h_bie_set (current_cpu, h_ie_get (current_cpu));
-      h_bcond_set (current_cpu, h_cond_get (current_cpu));
-      /* sm not changed */
-      h_ie_set (current_cpu, 0);
-      h_cond_set (current_cpu, 0);
-
-      h_bpc_set (current_cpu, cia);
-
-      sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL,
-                         EIT_RSVD_INSN_ADDR);
-    }
-  else
-#endif
-    sim_engine_halt (sd, current_cpu, NULL, cia, sim_stopped, SIM_SIGILL);
-  return vpc;
-}
-
-/* Process an address exception.  */
-
-void
-fr30_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
-                 unsigned int map, int nr_bytes, address_word addr,
-                 transfer_type transfer, sim_core_signals sig)
-{
-#if 0
-  if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
-    {
-      h_bsm_set (current_cpu, h_sm_get (current_cpu));
-      h_bie_set (current_cpu, h_ie_get (current_cpu));
-      h_bcond_set (current_cpu, h_cond_get (current_cpu));
-      /* sm not changed */
-      h_ie_set (current_cpu, 0);
-      h_cond_set (current_cpu, 0);
-
-      h_bpc_set (current_cpu, cia);
-
-      sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL,
-                         EIT_ADDR_EXCP_ADDR);
-    }
-  else
-#endif
-    sim_core_signal (sd, current_cpu, cia, map, nr_bytes, addr,
-                    transfer, sig);
-}
-\f
-/* Read/write functions for system call interface.  */
-
-static int
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
-                 unsigned long taddr, char *buf, int bytes)
-{
-  SIM_DESC sd = (SIM_DESC) sc->p1;
-  SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
-  return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
-                  unsigned long taddr, const char *buf, int bytes)
-{
-  SIM_DESC sd = (SIM_DESC) sc->p1;
-  SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
-  return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
-/* Subroutine of fr30_int to save the PS and PC and setup for INT and INTE.  */
-
-static void
-setup_int (SIM_CPU *current_cpu, PCADDR pc)
-{
-  USI ssp = fr30bf_h_dr_get (current_cpu, H_DR_SSP);
-  USI ps = fr30bf_h_ps_get (current_cpu);
-
-  ssp -= 4;
-  SETMEMSI (current_cpu, pc, ssp, ps);
-  ssp -= 4;
-  SETMEMSI (current_cpu, pc, ssp, pc + 2);
-  fr30bf_h_dr_set (current_cpu, H_DR_SSP, ssp);
-  fr30bf_h_sbit_set (current_cpu, 0);
-}
-
-/* Trap support.
-   The result is the pc address to continue at.
-   Preprocessing like saving the various registers has already been done.  */
-
-USI
-fr30_int (SIM_CPU *current_cpu, PCADDR pc, int num)
-{
-  SIM_DESC sd = CPU_STATE (current_cpu);
-  host_callback *cb = STATE_CALLBACK (sd);
-
-#ifdef SIM_HAVE_BREAKPOINTS
-  /* Check for breakpoints "owned" by the simulator first, regardless
-     of --environment.  */
-  if (num == TRAP_BREAKPOINT)
-    {
-      /* First try sim-break.c.  If it's a breakpoint the simulator "owns"
-        it doesn't return.  Otherwise it returns and let's us try.  */
-      sim_handle_breakpoint (sd, current_cpu, pc);
-      /* Fall through.  */
-    }
-#endif
-
-  if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
-    {
-      /* The new pc is the trap vector entry.
-        We assume there's a branch there to some handler.  */
-      USI new_pc;
-      setup_int (current_cpu, pc);
-      fr30bf_h_ibit_set (current_cpu, 0);
-      new_pc = GETMEMSI (current_cpu, pc,
-                        fr30bf_h_dr_get (current_cpu, H_DR_TBR)
-                        + 1024 - ((num + 1) * 4));
-      return new_pc;
-    }
-
-  switch (num)
-    {
-    case TRAP_SYSCALL :
-      {
-       /* TODO: find out what the ABI for this is */
-       CB_SYSCALL s;
-
-       CB_SYSCALL_INIT (&s);
-       s.func = fr30bf_h_gr_get (current_cpu, 0);
-       s.arg1 = fr30bf_h_gr_get (current_cpu, 4);
-       s.arg2 = fr30bf_h_gr_get (current_cpu, 5);
-       s.arg3 = fr30bf_h_gr_get (current_cpu, 6);
-
-       if (s.func == TARGET_SYS_exit)
-         {
-           sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1);
-         }
-
-       s.p1 = (PTR) sd;
-       s.p2 = (PTR) current_cpu;
-       s.read_mem = syscall_read_mem;
-       s.write_mem = syscall_write_mem;
-       cb_syscall (cb, &s);
-       fr30bf_h_gr_set (current_cpu, 2, s.errcode); /* TODO: check this one */
-       fr30bf_h_gr_set (current_cpu, 4, s.result);
-       fr30bf_h_gr_set (current_cpu, 1, s.result2); /* TODO: check this one */
-       break;
-      }
-
-    case TRAP_BREAKPOINT:
-      sim_engine_halt (sd, current_cpu, NULL, pc,
-                      sim_stopped, SIM_SIGTRAP);
-      break;
-
-    default :
-      {
-       USI new_pc;
-       setup_int (current_cpu, pc);
-       fr30bf_h_ibit_set (current_cpu, 0);
-       new_pc = GETMEMSI (current_cpu, pc,
-                          fr30bf_h_dr_get (current_cpu, H_DR_TBR)
-                          + 1024 - ((num + 1) * 4));
-       return new_pc;
-      }
-    }
-
-  /* Fake an "reti" insn.
-     Since we didn't push anything to stack, all we need to do is
-     update pc.  */
-  return pc + 2;
-}
-
-USI
-fr30_inte (SIM_CPU *current_cpu, PCADDR pc, int num)
-{
-  /* The new pc is the trap #9 vector entry.
-     We assume there's a branch there to some handler.  */
-  USI new_pc;
-  setup_int (current_cpu, pc);
-  fr30bf_h_ilm_set (current_cpu, 4);
-  new_pc = GETMEMSI (current_cpu, pc,
-                    fr30bf_h_dr_get (current_cpu, H_DR_TBR)
-                    + 1024 - ((9 + 1) * 4));
-  return new_pc;
-}
+// OBSOLETE /* fr30 exception, interrupt, and trap (EIT) support
+// OBSOLETE    Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+// OBSOLETE    Contributed by Cygnus Solutions.
+// OBSOLETE 
+// OBSOLETE This file is part of the GNU simulators.
+// OBSOLETE 
+// OBSOLETE This program is free software; you can redistribute it and/or modify
+// OBSOLETE it under the terms of the GNU General Public License as published by
+// OBSOLETE the Free Software Foundation; either version 2, or (at your option)
+// OBSOLETE any later version.
+// OBSOLETE 
+// OBSOLETE This program is distributed in the hope that it will be useful,
+// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
+// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// OBSOLETE GNU General Public License for more details.
+// OBSOLETE 
+// OBSOLETE You should have received a copy of the GNU General Public License along
+// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
+// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+// OBSOLETE 
+// OBSOLETE #include "sim-main.h"
+// OBSOLETE #include "targ-vals.h"
+// OBSOLETE #include "cgen-engine.h"
+// OBSOLETE 
+// OBSOLETE /* The semantic code invokes this for invalid (unrecognized) instructions.  */
+// OBSOLETE 
+// OBSOLETE SEM_PC
+// OBSOLETE sim_engine_invalid_insn (SIM_CPU *current_cpu, IADDR cia, SEM_PC vpc)
+// OBSOLETE {
+// OBSOLETE   SIM_DESC sd = CPU_STATE (current_cpu);
+// OBSOLETE 
+// OBSOLETE #if 0
+// OBSOLETE   if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
+// OBSOLETE     {
+// OBSOLETE       h_bsm_set (current_cpu, h_sm_get (current_cpu));
+// OBSOLETE       h_bie_set (current_cpu, h_ie_get (current_cpu));
+// OBSOLETE       h_bcond_set (current_cpu, h_cond_get (current_cpu));
+// OBSOLETE       /* sm not changed */
+// OBSOLETE       h_ie_set (current_cpu, 0);
+// OBSOLETE       h_cond_set (current_cpu, 0);
+// OBSOLETE 
+// OBSOLETE       h_bpc_set (current_cpu, cia);
+// OBSOLETE 
+// OBSOLETE       sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL,
+// OBSOLETE                      EIT_RSVD_INSN_ADDR);
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE #endif
+// OBSOLETE     sim_engine_halt (sd, current_cpu, NULL, cia, sim_stopped, SIM_SIGILL);
+// OBSOLETE   return vpc;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Process an address exception.  */
+// OBSOLETE 
+// OBSOLETE void
+// OBSOLETE fr30_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
+// OBSOLETE              unsigned int map, int nr_bytes, address_word addr,
+// OBSOLETE              transfer_type transfer, sim_core_signals sig)
+// OBSOLETE {
+// OBSOLETE #if 0
+// OBSOLETE   if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
+// OBSOLETE     {
+// OBSOLETE       h_bsm_set (current_cpu, h_sm_get (current_cpu));
+// OBSOLETE       h_bie_set (current_cpu, h_ie_get (current_cpu));
+// OBSOLETE       h_bcond_set (current_cpu, h_cond_get (current_cpu));
+// OBSOLETE       /* sm not changed */
+// OBSOLETE       h_ie_set (current_cpu, 0);
+// OBSOLETE       h_cond_set (current_cpu, 0);
+// OBSOLETE 
+// OBSOLETE       h_bpc_set (current_cpu, cia);
+// OBSOLETE 
+// OBSOLETE       sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL,
+// OBSOLETE                      EIT_ADDR_EXCP_ADDR);
+// OBSOLETE     }
+// OBSOLETE   else
+// OBSOLETE #endif
+// OBSOLETE     sim_core_signal (sd, current_cpu, cia, map, nr_bytes, addr,
+// OBSOLETE                 transfer, sig);
+// OBSOLETE }
+// OBSOLETE \f
+// OBSOLETE /* Read/write functions for system call interface.  */
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
+// OBSOLETE              unsigned long taddr, char *buf, int bytes)
+// OBSOLETE {
+// OBSOLETE   SIM_DESC sd = (SIM_DESC) sc->p1;
+// OBSOLETE   SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+// OBSOLETE 
+// OBSOLETE   return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE static int
+// OBSOLETE syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
+// OBSOLETE               unsigned long taddr, const char *buf, int bytes)
+// OBSOLETE {
+// OBSOLETE   SIM_DESC sd = (SIM_DESC) sc->p1;
+// OBSOLETE   SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+// OBSOLETE 
+// OBSOLETE   return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Subroutine of fr30_int to save the PS and PC and setup for INT and INTE.  */
+// OBSOLETE 
+// OBSOLETE static void
+// OBSOLETE setup_int (SIM_CPU *current_cpu, PCADDR pc)
+// OBSOLETE {
+// OBSOLETE   USI ssp = fr30bf_h_dr_get (current_cpu, H_DR_SSP);
+// OBSOLETE   USI ps = fr30bf_h_ps_get (current_cpu);
+// OBSOLETE 
+// OBSOLETE   ssp -= 4;
+// OBSOLETE   SETMEMSI (current_cpu, pc, ssp, ps);
+// OBSOLETE   ssp -= 4;
+// OBSOLETE   SETMEMSI (current_cpu, pc, ssp, pc + 2);
+// OBSOLETE   fr30bf_h_dr_set (current_cpu, H_DR_SSP, ssp);
+// OBSOLETE   fr30bf_h_sbit_set (current_cpu, 0);
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE /* Trap support.
+// OBSOLETE    The result is the pc address to continue at.
+// OBSOLETE    Preprocessing like saving the various registers has already been done.  */
+// OBSOLETE 
+// OBSOLETE USI
+// OBSOLETE fr30_int (SIM_CPU *current_cpu, PCADDR pc, int num)
+// OBSOLETE {
+// OBSOLETE   SIM_DESC sd = CPU_STATE (current_cpu);
+// OBSOLETE   host_callback *cb = STATE_CALLBACK (sd);
+// OBSOLETE 
+// OBSOLETE #ifdef SIM_HAVE_BREAKPOINTS
+// OBSOLETE   /* Check for breakpoints "owned" by the simulator first, regardless
+// OBSOLETE      of --environment.  */
+// OBSOLETE   if (num == TRAP_BREAKPOINT)
+// OBSOLETE     {
+// OBSOLETE       /* First try sim-break.c.  If it's a breakpoint the simulator "owns"
+// OBSOLETE     it doesn't return.  Otherwise it returns and let's us try.  */
+// OBSOLETE       sim_handle_breakpoint (sd, current_cpu, pc);
+// OBSOLETE       /* Fall through.  */
+// OBSOLETE     }
+// OBSOLETE #endif
+// OBSOLETE 
+// OBSOLETE   if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT)
+// OBSOLETE     {
+// OBSOLETE       /* The new pc is the trap vector entry.
+// OBSOLETE     We assume there's a branch there to some handler.  */
+// OBSOLETE       USI new_pc;
+// OBSOLETE       setup_int (current_cpu, pc);
+// OBSOLETE       fr30bf_h_ibit_set (current_cpu, 0);
+// OBSOLETE       new_pc = GETMEMSI (current_cpu, pc,
+// OBSOLETE                     fr30bf_h_dr_get (current_cpu, H_DR_TBR)
+// OBSOLETE                     + 1024 - ((num + 1) * 4));
+// OBSOLETE       return new_pc;
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   switch (num)
+// OBSOLETE     {
+// OBSOLETE     case TRAP_SYSCALL :
+// OBSOLETE       {
+// OBSOLETE    /* TODO: find out what the ABI for this is */
+// OBSOLETE    CB_SYSCALL s;
+// OBSOLETE 
+// OBSOLETE    CB_SYSCALL_INIT (&s);
+// OBSOLETE    s.func = fr30bf_h_gr_get (current_cpu, 0);
+// OBSOLETE    s.arg1 = fr30bf_h_gr_get (current_cpu, 4);
+// OBSOLETE    s.arg2 = fr30bf_h_gr_get (current_cpu, 5);
+// OBSOLETE    s.arg3 = fr30bf_h_gr_get (current_cpu, 6);
+// OBSOLETE 
+// OBSOLETE    if (s.func == TARGET_SYS_exit)
+// OBSOLETE      {
+// OBSOLETE        sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1);
+// OBSOLETE      }
+// OBSOLETE 
+// OBSOLETE    s.p1 = (PTR) sd;
+// OBSOLETE    s.p2 = (PTR) current_cpu;
+// OBSOLETE    s.read_mem = syscall_read_mem;
+// OBSOLETE    s.write_mem = syscall_write_mem;
+// OBSOLETE    cb_syscall (cb, &s);
+// OBSOLETE    fr30bf_h_gr_set (current_cpu, 2, s.errcode); /* TODO: check this one */
+// OBSOLETE    fr30bf_h_gr_set (current_cpu, 4, s.result);
+// OBSOLETE    fr30bf_h_gr_set (current_cpu, 1, s.result2); /* TODO: check this one */
+// OBSOLETE    break;
+// OBSOLETE       }
+// OBSOLETE 
+// OBSOLETE     case TRAP_BREAKPOINT:
+// OBSOLETE       sim_engine_halt (sd, current_cpu, NULL, pc,
+// OBSOLETE                   sim_stopped, SIM_SIGTRAP);
+// OBSOLETE       break;
+// OBSOLETE 
+// OBSOLETE     default :
+// OBSOLETE       {
+// OBSOLETE    USI new_pc;
+// OBSOLETE    setup_int (current_cpu, pc);
+// OBSOLETE    fr30bf_h_ibit_set (current_cpu, 0);
+// OBSOLETE    new_pc = GETMEMSI (current_cpu, pc,
+// OBSOLETE                       fr30bf_h_dr_get (current_cpu, H_DR_TBR)
+// OBSOLETE                       + 1024 - ((num + 1) * 4));
+// OBSOLETE    return new_pc;
+// OBSOLETE       }
+// OBSOLETE     }
+// OBSOLETE 
+// OBSOLETE   /* Fake an "reti" insn.
+// OBSOLETE      Since we didn't push anything to stack, all we need to do is
+// OBSOLETE      update pc.  */
+// OBSOLETE   return pc + 2;
+// OBSOLETE }
+// OBSOLETE 
+// OBSOLETE USI
+// OBSOLETE fr30_inte (SIM_CPU *current_cpu, PCADDR pc, int num)
+// OBSOLETE {
+// OBSOLETE   /* The new pc is the trap #9 vector entry.
+// OBSOLETE      We assume there's a branch there to some handler.  */
+// OBSOLETE   USI new_pc;
+// OBSOLETE   setup_int (current_cpu, pc);
+// OBSOLETE   fr30bf_h_ilm_set (current_cpu, 4);
+// OBSOLETE   new_pc = GETMEMSI (current_cpu, pc,
+// OBSOLETE                 fr30bf_h_dr_get (current_cpu, H_DR_TBR)
+// OBSOLETE                 + 1024 - ((9 + 1) * 4));
+// OBSOLETE   return new_pc;
+// OBSOLETE }