Home | History | Annotate | Line # | Download | only in m32r
model.c revision 1.1.1.6
      1 /* Simulator model support for m32rbf.
      2 
      3 THIS FILE IS MACHINE GENERATED WITH CGEN.
      4 
      5 Copyright 1996-2020 Free Software Foundation, Inc.
      6 
      7 This file is part of the GNU simulators.
      8 
      9    This file is free software; you can redistribute it and/or modify
     10    it under the terms of the GNU General Public License as published by
     11    the Free Software Foundation; either version 3, or (at your option)
     12    any later version.
     13 
     14    It is distributed in the hope that it will be useful, but WITHOUT
     15    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     16    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
     17    License for more details.
     18 
     19    You should have received a copy of the GNU General Public License along
     20    with this program; if not, see <http://www.gnu.org/licenses/>.
     21 
     22 */
     23 
     24 #define WANT_CPU m32rbf
     25 #define WANT_CPU_M32RBF
     26 
     27 #include "sim-main.h"
     28 
     29 /* The profiling data is recorded here, but is accessed via the profiling
     30    mechanism.  After all, this is information for profiling.  */
     31 
     32 #if WITH_PROFILE_MODEL_P
     33 
     34 /* Model handlers for each insn.  */
     35 
     36 static int
     37 model_m32r_d_add (SIM_CPU *current_cpu, void *sem_arg)
     38 {
     39 #define FLD(f) abuf->fields.sfmt_add.f
     40   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
     41   const IDESC * UNUSED idesc = abuf->idesc;
     42   int cycles = 0;
     43   {
     44     int referenced = 0;
     45     int UNUSED insn_referenced = abuf->written;
     46     INT in_sr = -1;
     47     INT in_dr = -1;
     48     INT out_dr = -1;
     49     in_sr = FLD (in_sr);
     50     in_dr = FLD (in_dr);
     51     out_dr = FLD (out_dr);
     52     referenced |= 1 << 0;
     53     referenced |= 1 << 1;
     54     referenced |= 1 << 2;
     55     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
     56   }
     57   return cycles;
     58 #undef FLD
     59 }
     60 
     61 static int
     62 model_m32r_d_add3 (SIM_CPU *current_cpu, void *sem_arg)
     63 {
     64 #define FLD(f) abuf->fields.sfmt_add3.f
     65   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
     66   const IDESC * UNUSED idesc = abuf->idesc;
     67   int cycles = 0;
     68   {
     69     int referenced = 0;
     70     int UNUSED insn_referenced = abuf->written;
     71     INT in_sr = -1;
     72     INT in_dr = -1;
     73     INT out_dr = -1;
     74     in_sr = FLD (in_sr);
     75     out_dr = FLD (out_dr);
     76     referenced |= 1 << 0;
     77     referenced |= 1 << 2;
     78     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
     79   }
     80   return cycles;
     81 #undef FLD
     82 }
     83 
     84 static int
     85 model_m32r_d_and (SIM_CPU *current_cpu, void *sem_arg)
     86 {
     87 #define FLD(f) abuf->fields.sfmt_add.f
     88   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
     89   const IDESC * UNUSED idesc = abuf->idesc;
     90   int cycles = 0;
     91   {
     92     int referenced = 0;
     93     int UNUSED insn_referenced = abuf->written;
     94     INT in_sr = -1;
     95     INT in_dr = -1;
     96     INT out_dr = -1;
     97     in_sr = FLD (in_sr);
     98     in_dr = FLD (in_dr);
     99     out_dr = FLD (out_dr);
    100     referenced |= 1 << 0;
    101     referenced |= 1 << 1;
    102     referenced |= 1 << 2;
    103     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    104   }
    105   return cycles;
    106 #undef FLD
    107 }
    108 
    109 static int
    110 model_m32r_d_and3 (SIM_CPU *current_cpu, void *sem_arg)
    111 {
    112 #define FLD(f) abuf->fields.sfmt_and3.f
    113   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    114   const IDESC * UNUSED idesc = abuf->idesc;
    115   int cycles = 0;
    116   {
    117     int referenced = 0;
    118     int UNUSED insn_referenced = abuf->written;
    119     INT in_sr = -1;
    120     INT in_dr = -1;
    121     INT out_dr = -1;
    122     in_sr = FLD (in_sr);
    123     out_dr = FLD (out_dr);
    124     referenced |= 1 << 0;
    125     referenced |= 1 << 2;
    126     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    127   }
    128   return cycles;
    129 #undef FLD
    130 }
    131 
    132 static int
    133 model_m32r_d_or (SIM_CPU *current_cpu, void *sem_arg)
    134 {
    135 #define FLD(f) abuf->fields.sfmt_add.f
    136   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    137   const IDESC * UNUSED idesc = abuf->idesc;
    138   int cycles = 0;
    139   {
    140     int referenced = 0;
    141     int UNUSED insn_referenced = abuf->written;
    142     INT in_sr = -1;
    143     INT in_dr = -1;
    144     INT out_dr = -1;
    145     in_sr = FLD (in_sr);
    146     in_dr = FLD (in_dr);
    147     out_dr = FLD (out_dr);
    148     referenced |= 1 << 0;
    149     referenced |= 1 << 1;
    150     referenced |= 1 << 2;
    151     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    152   }
    153   return cycles;
    154 #undef FLD
    155 }
    156 
    157 static int
    158 model_m32r_d_or3 (SIM_CPU *current_cpu, void *sem_arg)
    159 {
    160 #define FLD(f) abuf->fields.sfmt_and3.f
    161   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    162   const IDESC * UNUSED idesc = abuf->idesc;
    163   int cycles = 0;
    164   {
    165     int referenced = 0;
    166     int UNUSED insn_referenced = abuf->written;
    167     INT in_sr = -1;
    168     INT in_dr = -1;
    169     INT out_dr = -1;
    170     in_sr = FLD (in_sr);
    171     out_dr = FLD (out_dr);
    172     referenced |= 1 << 0;
    173     referenced |= 1 << 2;
    174     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    175   }
    176   return cycles;
    177 #undef FLD
    178 }
    179 
    180 static int
    181 model_m32r_d_xor (SIM_CPU *current_cpu, void *sem_arg)
    182 {
    183 #define FLD(f) abuf->fields.sfmt_add.f
    184   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    185   const IDESC * UNUSED idesc = abuf->idesc;
    186   int cycles = 0;
    187   {
    188     int referenced = 0;
    189     int UNUSED insn_referenced = abuf->written;
    190     INT in_sr = -1;
    191     INT in_dr = -1;
    192     INT out_dr = -1;
    193     in_sr = FLD (in_sr);
    194     in_dr = FLD (in_dr);
    195     out_dr = FLD (out_dr);
    196     referenced |= 1 << 0;
    197     referenced |= 1 << 1;
    198     referenced |= 1 << 2;
    199     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    200   }
    201   return cycles;
    202 #undef FLD
    203 }
    204 
    205 static int
    206 model_m32r_d_xor3 (SIM_CPU *current_cpu, void *sem_arg)
    207 {
    208 #define FLD(f) abuf->fields.sfmt_and3.f
    209   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    210   const IDESC * UNUSED idesc = abuf->idesc;
    211   int cycles = 0;
    212   {
    213     int referenced = 0;
    214     int UNUSED insn_referenced = abuf->written;
    215     INT in_sr = -1;
    216     INT in_dr = -1;
    217     INT out_dr = -1;
    218     in_sr = FLD (in_sr);
    219     out_dr = FLD (out_dr);
    220     referenced |= 1 << 0;
    221     referenced |= 1 << 2;
    222     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    223   }
    224   return cycles;
    225 #undef FLD
    226 }
    227 
    228 static int
    229 model_m32r_d_addi (SIM_CPU *current_cpu, void *sem_arg)
    230 {
    231 #define FLD(f) abuf->fields.sfmt_addi.f
    232   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    233   const IDESC * UNUSED idesc = abuf->idesc;
    234   int cycles = 0;
    235   {
    236     int referenced = 0;
    237     int UNUSED insn_referenced = abuf->written;
    238     INT in_sr = -1;
    239     INT in_dr = -1;
    240     INT out_dr = -1;
    241     in_dr = FLD (in_dr);
    242     out_dr = FLD (out_dr);
    243     referenced |= 1 << 1;
    244     referenced |= 1 << 2;
    245     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    246   }
    247   return cycles;
    248 #undef FLD
    249 }
    250 
    251 static int
    252 model_m32r_d_addv (SIM_CPU *current_cpu, void *sem_arg)
    253 {
    254 #define FLD(f) abuf->fields.sfmt_add.f
    255   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    256   const IDESC * UNUSED idesc = abuf->idesc;
    257   int cycles = 0;
    258   {
    259     int referenced = 0;
    260     int UNUSED insn_referenced = abuf->written;
    261     INT in_sr = -1;
    262     INT in_dr = -1;
    263     INT out_dr = -1;
    264     in_sr = FLD (in_sr);
    265     in_dr = FLD (in_dr);
    266     out_dr = FLD (out_dr);
    267     referenced |= 1 << 0;
    268     referenced |= 1 << 1;
    269     referenced |= 1 << 2;
    270     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    271   }
    272   return cycles;
    273 #undef FLD
    274 }
    275 
    276 static int
    277 model_m32r_d_addv3 (SIM_CPU *current_cpu, void *sem_arg)
    278 {
    279 #define FLD(f) abuf->fields.sfmt_add3.f
    280   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    281   const IDESC * UNUSED idesc = abuf->idesc;
    282   int cycles = 0;
    283   {
    284     int referenced = 0;
    285     int UNUSED insn_referenced = abuf->written;
    286     INT in_sr = -1;
    287     INT in_dr = -1;
    288     INT out_dr = -1;
    289     in_sr = FLD (in_sr);
    290     out_dr = FLD (out_dr);
    291     referenced |= 1 << 0;
    292     referenced |= 1 << 2;
    293     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    294   }
    295   return cycles;
    296 #undef FLD
    297 }
    298 
    299 static int
    300 model_m32r_d_addx (SIM_CPU *current_cpu, void *sem_arg)
    301 {
    302 #define FLD(f) abuf->fields.sfmt_add.f
    303   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    304   const IDESC * UNUSED idesc = abuf->idesc;
    305   int cycles = 0;
    306   {
    307     int referenced = 0;
    308     int UNUSED insn_referenced = abuf->written;
    309     INT in_sr = -1;
    310     INT in_dr = -1;
    311     INT out_dr = -1;
    312     in_sr = FLD (in_sr);
    313     in_dr = FLD (in_dr);
    314     out_dr = FLD (out_dr);
    315     referenced |= 1 << 0;
    316     referenced |= 1 << 1;
    317     referenced |= 1 << 2;
    318     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    319   }
    320   return cycles;
    321 #undef FLD
    322 }
    323 
    324 static int
    325 model_m32r_d_bc8 (SIM_CPU *current_cpu, void *sem_arg)
    326 {
    327 #define FLD(f) abuf->fields.sfmt_bl8.f
    328   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    329   const IDESC * UNUSED idesc = abuf->idesc;
    330   int cycles = 0;
    331   {
    332     int referenced = 0;
    333     int UNUSED insn_referenced = abuf->written;
    334     INT in_sr = -1;
    335     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    336     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    337   }
    338   return cycles;
    339 #undef FLD
    340 }
    341 
    342 static int
    343 model_m32r_d_bc24 (SIM_CPU *current_cpu, void *sem_arg)
    344 {
    345 #define FLD(f) abuf->fields.sfmt_bl24.f
    346   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    347   const IDESC * UNUSED idesc = abuf->idesc;
    348   int cycles = 0;
    349   {
    350     int referenced = 0;
    351     int UNUSED insn_referenced = abuf->written;
    352     INT in_sr = -1;
    353     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    354     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    355   }
    356   return cycles;
    357 #undef FLD
    358 }
    359 
    360 static int
    361 model_m32r_d_beq (SIM_CPU *current_cpu, void *sem_arg)
    362 {
    363 #define FLD(f) abuf->fields.sfmt_beq.f
    364   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    365   const IDESC * UNUSED idesc = abuf->idesc;
    366   int cycles = 0;
    367   {
    368     int referenced = 0;
    369     int UNUSED insn_referenced = abuf->written;
    370     INT in_sr = -1;
    371     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
    372     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    373   }
    374   {
    375     int referenced = 0;
    376     int UNUSED insn_referenced = abuf->written;
    377     INT in_src1 = -1;
    378     INT in_src2 = -1;
    379     in_src1 = FLD (in_src1);
    380     in_src2 = FLD (in_src2);
    381     referenced |= 1 << 0;
    382     referenced |= 1 << 1;
    383     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    384   }
    385   return cycles;
    386 #undef FLD
    387 }
    388 
    389 static int
    390 model_m32r_d_beqz (SIM_CPU *current_cpu, void *sem_arg)
    391 {
    392 #define FLD(f) abuf->fields.sfmt_beq.f
    393   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    394   const IDESC * UNUSED idesc = abuf->idesc;
    395   int cycles = 0;
    396   {
    397     int referenced = 0;
    398     int UNUSED insn_referenced = abuf->written;
    399     INT in_sr = -1;
    400     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    401     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    402   }
    403   {
    404     int referenced = 0;
    405     int UNUSED insn_referenced = abuf->written;
    406     INT in_src1 = -1;
    407     INT in_src2 = -1;
    408     in_src2 = FLD (in_src2);
    409     referenced |= 1 << 1;
    410     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    411   }
    412   return cycles;
    413 #undef FLD
    414 }
    415 
    416 static int
    417 model_m32r_d_bgez (SIM_CPU *current_cpu, void *sem_arg)
    418 {
    419 #define FLD(f) abuf->fields.sfmt_beq.f
    420   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    421   const IDESC * UNUSED idesc = abuf->idesc;
    422   int cycles = 0;
    423   {
    424     int referenced = 0;
    425     int UNUSED insn_referenced = abuf->written;
    426     INT in_sr = -1;
    427     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    428     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    429   }
    430   {
    431     int referenced = 0;
    432     int UNUSED insn_referenced = abuf->written;
    433     INT in_src1 = -1;
    434     INT in_src2 = -1;
    435     in_src2 = FLD (in_src2);
    436     referenced |= 1 << 1;
    437     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    438   }
    439   return cycles;
    440 #undef FLD
    441 }
    442 
    443 static int
    444 model_m32r_d_bgtz (SIM_CPU *current_cpu, void *sem_arg)
    445 {
    446 #define FLD(f) abuf->fields.sfmt_beq.f
    447   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    448   const IDESC * UNUSED idesc = abuf->idesc;
    449   int cycles = 0;
    450   {
    451     int referenced = 0;
    452     int UNUSED insn_referenced = abuf->written;
    453     INT in_sr = -1;
    454     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    455     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    456   }
    457   {
    458     int referenced = 0;
    459     int UNUSED insn_referenced = abuf->written;
    460     INT in_src1 = -1;
    461     INT in_src2 = -1;
    462     in_src2 = FLD (in_src2);
    463     referenced |= 1 << 1;
    464     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    465   }
    466   return cycles;
    467 #undef FLD
    468 }
    469 
    470 static int
    471 model_m32r_d_blez (SIM_CPU *current_cpu, void *sem_arg)
    472 {
    473 #define FLD(f) abuf->fields.sfmt_beq.f
    474   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    475   const IDESC * UNUSED idesc = abuf->idesc;
    476   int cycles = 0;
    477   {
    478     int referenced = 0;
    479     int UNUSED insn_referenced = abuf->written;
    480     INT in_sr = -1;
    481     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    482     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    483   }
    484   {
    485     int referenced = 0;
    486     int UNUSED insn_referenced = abuf->written;
    487     INT in_src1 = -1;
    488     INT in_src2 = -1;
    489     in_src2 = FLD (in_src2);
    490     referenced |= 1 << 1;
    491     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    492   }
    493   return cycles;
    494 #undef FLD
    495 }
    496 
    497 static int
    498 model_m32r_d_bltz (SIM_CPU *current_cpu, void *sem_arg)
    499 {
    500 #define FLD(f) abuf->fields.sfmt_beq.f
    501   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    502   const IDESC * UNUSED idesc = abuf->idesc;
    503   int cycles = 0;
    504   {
    505     int referenced = 0;
    506     int UNUSED insn_referenced = abuf->written;
    507     INT in_sr = -1;
    508     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    509     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    510   }
    511   {
    512     int referenced = 0;
    513     int UNUSED insn_referenced = abuf->written;
    514     INT in_src1 = -1;
    515     INT in_src2 = -1;
    516     in_src2 = FLD (in_src2);
    517     referenced |= 1 << 1;
    518     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    519   }
    520   return cycles;
    521 #undef FLD
    522 }
    523 
    524 static int
    525 model_m32r_d_bnez (SIM_CPU *current_cpu, void *sem_arg)
    526 {
    527 #define FLD(f) abuf->fields.sfmt_beq.f
    528   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    529   const IDESC * UNUSED idesc = abuf->idesc;
    530   int cycles = 0;
    531   {
    532     int referenced = 0;
    533     int UNUSED insn_referenced = abuf->written;
    534     INT in_sr = -1;
    535     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    536     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    537   }
    538   {
    539     int referenced = 0;
    540     int UNUSED insn_referenced = abuf->written;
    541     INT in_src1 = -1;
    542     INT in_src2 = -1;
    543     in_src2 = FLD (in_src2);
    544     referenced |= 1 << 1;
    545     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    546   }
    547   return cycles;
    548 #undef FLD
    549 }
    550 
    551 static int
    552 model_m32r_d_bl8 (SIM_CPU *current_cpu, void *sem_arg)
    553 {
    554 #define FLD(f) abuf->fields.sfmt_bl8.f
    555   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    556   const IDESC * UNUSED idesc = abuf->idesc;
    557   int cycles = 0;
    558   {
    559     int referenced = 0;
    560     int UNUSED insn_referenced = abuf->written;
    561     INT in_sr = -1;
    562     referenced |= 1 << 1;
    563     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    564   }
    565   return cycles;
    566 #undef FLD
    567 }
    568 
    569 static int
    570 model_m32r_d_bl24 (SIM_CPU *current_cpu, void *sem_arg)
    571 {
    572 #define FLD(f) abuf->fields.sfmt_bl24.f
    573   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    574   const IDESC * UNUSED idesc = abuf->idesc;
    575   int cycles = 0;
    576   {
    577     int referenced = 0;
    578     int UNUSED insn_referenced = abuf->written;
    579     INT in_sr = -1;
    580     referenced |= 1 << 1;
    581     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    582   }
    583   return cycles;
    584 #undef FLD
    585 }
    586 
    587 static int
    588 model_m32r_d_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
    589 {
    590 #define FLD(f) abuf->fields.sfmt_bl8.f
    591   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    592   const IDESC * UNUSED idesc = abuf->idesc;
    593   int cycles = 0;
    594   {
    595     int referenced = 0;
    596     int UNUSED insn_referenced = abuf->written;
    597     INT in_sr = -1;
    598     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    599     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    600   }
    601   return cycles;
    602 #undef FLD
    603 }
    604 
    605 static int
    606 model_m32r_d_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
    607 {
    608 #define FLD(f) abuf->fields.sfmt_bl24.f
    609   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    610   const IDESC * UNUSED idesc = abuf->idesc;
    611   int cycles = 0;
    612   {
    613     int referenced = 0;
    614     int UNUSED insn_referenced = abuf->written;
    615     INT in_sr = -1;
    616     if (insn_referenced & (1 << 2)) referenced |= 1 << 1;
    617     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    618   }
    619   return cycles;
    620 #undef FLD
    621 }
    622 
    623 static int
    624 model_m32r_d_bne (SIM_CPU *current_cpu, void *sem_arg)
    625 {
    626 #define FLD(f) abuf->fields.sfmt_beq.f
    627   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    628   const IDESC * UNUSED idesc = abuf->idesc;
    629   int cycles = 0;
    630   {
    631     int referenced = 0;
    632     int UNUSED insn_referenced = abuf->written;
    633     INT in_sr = -1;
    634     if (insn_referenced & (1 << 3)) referenced |= 1 << 1;
    635     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    636   }
    637   {
    638     int referenced = 0;
    639     int UNUSED insn_referenced = abuf->written;
    640     INT in_src1 = -1;
    641     INT in_src2 = -1;
    642     in_src1 = FLD (in_src1);
    643     in_src2 = FLD (in_src2);
    644     referenced |= 1 << 0;
    645     referenced |= 1 << 1;
    646     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 1, referenced, in_src1, in_src2);
    647   }
    648   return cycles;
    649 #undef FLD
    650 }
    651 
    652 static int
    653 model_m32r_d_bra8 (SIM_CPU *current_cpu, void *sem_arg)
    654 {
    655 #define FLD(f) abuf->fields.sfmt_bl8.f
    656   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    657   const IDESC * UNUSED idesc = abuf->idesc;
    658   int cycles = 0;
    659   {
    660     int referenced = 0;
    661     int UNUSED insn_referenced = abuf->written;
    662     INT in_sr = -1;
    663     referenced |= 1 << 1;
    664     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    665   }
    666   return cycles;
    667 #undef FLD
    668 }
    669 
    670 static int
    671 model_m32r_d_bra24 (SIM_CPU *current_cpu, void *sem_arg)
    672 {
    673 #define FLD(f) abuf->fields.sfmt_bl24.f
    674   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    675   const IDESC * UNUSED idesc = abuf->idesc;
    676   int cycles = 0;
    677   {
    678     int referenced = 0;
    679     int UNUSED insn_referenced = abuf->written;
    680     INT in_sr = -1;
    681     referenced |= 1 << 1;
    682     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    683   }
    684   return cycles;
    685 #undef FLD
    686 }
    687 
    688 static int
    689 model_m32r_d_cmp (SIM_CPU *current_cpu, void *sem_arg)
    690 {
    691 #define FLD(f) abuf->fields.sfmt_st_plus.f
    692   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    693   const IDESC * UNUSED idesc = abuf->idesc;
    694   int cycles = 0;
    695   {
    696     int referenced = 0;
    697     int UNUSED insn_referenced = abuf->written;
    698     INT in_src1 = -1;
    699     INT in_src2 = -1;
    700     in_src1 = FLD (in_src1);
    701     in_src2 = FLD (in_src2);
    702     referenced |= 1 << 0;
    703     referenced |= 1 << 1;
    704     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
    705   }
    706   return cycles;
    707 #undef FLD
    708 }
    709 
    710 static int
    711 model_m32r_d_cmpi (SIM_CPU *current_cpu, void *sem_arg)
    712 {
    713 #define FLD(f) abuf->fields.sfmt_st_d.f
    714   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    715   const IDESC * UNUSED idesc = abuf->idesc;
    716   int cycles = 0;
    717   {
    718     int referenced = 0;
    719     int UNUSED insn_referenced = abuf->written;
    720     INT in_src1 = -1;
    721     INT in_src2 = -1;
    722     in_src2 = FLD (in_src2);
    723     referenced |= 1 << 1;
    724     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
    725   }
    726   return cycles;
    727 #undef FLD
    728 }
    729 
    730 static int
    731 model_m32r_d_cmpu (SIM_CPU *current_cpu, void *sem_arg)
    732 {
    733 #define FLD(f) abuf->fields.sfmt_st_plus.f
    734   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    735   const IDESC * UNUSED idesc = abuf->idesc;
    736   int cycles = 0;
    737   {
    738     int referenced = 0;
    739     int UNUSED insn_referenced = abuf->written;
    740     INT in_src1 = -1;
    741     INT in_src2 = -1;
    742     in_src1 = FLD (in_src1);
    743     in_src2 = FLD (in_src2);
    744     referenced |= 1 << 0;
    745     referenced |= 1 << 1;
    746     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
    747   }
    748   return cycles;
    749 #undef FLD
    750 }
    751 
    752 static int
    753 model_m32r_d_cmpui (SIM_CPU *current_cpu, void *sem_arg)
    754 {
    755 #define FLD(f) abuf->fields.sfmt_st_d.f
    756   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    757   const IDESC * UNUSED idesc = abuf->idesc;
    758   int cycles = 0;
    759   {
    760     int referenced = 0;
    761     int UNUSED insn_referenced = abuf->written;
    762     INT in_src1 = -1;
    763     INT in_src2 = -1;
    764     in_src2 = FLD (in_src2);
    765     referenced |= 1 << 1;
    766     cycles += m32rbf_model_m32r_d_u_cmp (current_cpu, idesc, 0, referenced, in_src1, in_src2);
    767   }
    768   return cycles;
    769 #undef FLD
    770 }
    771 
    772 static int
    773 model_m32r_d_div (SIM_CPU *current_cpu, void *sem_arg)
    774 {
    775 #define FLD(f) abuf->fields.sfmt_add.f
    776   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    777   const IDESC * UNUSED idesc = abuf->idesc;
    778   int cycles = 0;
    779   {
    780     int referenced = 0;
    781     int UNUSED insn_referenced = abuf->written;
    782     INT in_sr = -1;
    783     INT in_dr = -1;
    784     INT out_dr = -1;
    785     in_sr = FLD (in_sr);
    786     in_dr = FLD (in_dr);
    787     out_dr = FLD (out_dr);
    788     referenced |= 1 << 0;
    789     if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
    790     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
    791     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    792   }
    793   return cycles;
    794 #undef FLD
    795 }
    796 
    797 static int
    798 model_m32r_d_divu (SIM_CPU *current_cpu, void *sem_arg)
    799 {
    800 #define FLD(f) abuf->fields.sfmt_add.f
    801   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    802   const IDESC * UNUSED idesc = abuf->idesc;
    803   int cycles = 0;
    804   {
    805     int referenced = 0;
    806     int UNUSED insn_referenced = abuf->written;
    807     INT in_sr = -1;
    808     INT in_dr = -1;
    809     INT out_dr = -1;
    810     in_sr = FLD (in_sr);
    811     in_dr = FLD (in_dr);
    812     out_dr = FLD (out_dr);
    813     referenced |= 1 << 0;
    814     if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
    815     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
    816     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    817   }
    818   return cycles;
    819 #undef FLD
    820 }
    821 
    822 static int
    823 model_m32r_d_rem (SIM_CPU *current_cpu, void *sem_arg)
    824 {
    825 #define FLD(f) abuf->fields.sfmt_add.f
    826   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    827   const IDESC * UNUSED idesc = abuf->idesc;
    828   int cycles = 0;
    829   {
    830     int referenced = 0;
    831     int UNUSED insn_referenced = abuf->written;
    832     INT in_sr = -1;
    833     INT in_dr = -1;
    834     INT out_dr = -1;
    835     in_sr = FLD (in_sr);
    836     in_dr = FLD (in_dr);
    837     out_dr = FLD (out_dr);
    838     referenced |= 1 << 0;
    839     if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
    840     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
    841     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    842   }
    843   return cycles;
    844 #undef FLD
    845 }
    846 
    847 static int
    848 model_m32r_d_remu (SIM_CPU *current_cpu, void *sem_arg)
    849 {
    850 #define FLD(f) abuf->fields.sfmt_add.f
    851   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    852   const IDESC * UNUSED idesc = abuf->idesc;
    853   int cycles = 0;
    854   {
    855     int referenced = 0;
    856     int UNUSED insn_referenced = abuf->written;
    857     INT in_sr = -1;
    858     INT in_dr = -1;
    859     INT out_dr = -1;
    860     in_sr = FLD (in_sr);
    861     in_dr = FLD (in_dr);
    862     out_dr = FLD (out_dr);
    863     referenced |= 1 << 0;
    864     if (insn_referenced & (1 << 0)) referenced |= 1 << 1;
    865     if (insn_referenced & (1 << 2)) referenced |= 1 << 2;
    866     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
    867   }
    868   return cycles;
    869 #undef FLD
    870 }
    871 
    872 static int
    873 model_m32r_d_jl (SIM_CPU *current_cpu, void *sem_arg)
    874 {
    875 #define FLD(f) abuf->fields.sfmt_jl.f
    876   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    877   const IDESC * UNUSED idesc = abuf->idesc;
    878   int cycles = 0;
    879   {
    880     int referenced = 0;
    881     int UNUSED insn_referenced = abuf->written;
    882     INT in_sr = -1;
    883     in_sr = FLD (in_sr);
    884     referenced |= 1 << 0;
    885     referenced |= 1 << 1;
    886     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    887   }
    888   return cycles;
    889 #undef FLD
    890 }
    891 
    892 static int
    893 model_m32r_d_jmp (SIM_CPU *current_cpu, void *sem_arg)
    894 {
    895 #define FLD(f) abuf->fields.sfmt_jl.f
    896   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    897   const IDESC * UNUSED idesc = abuf->idesc;
    898   int cycles = 0;
    899   {
    900     int referenced = 0;
    901     int UNUSED insn_referenced = abuf->written;
    902     INT in_sr = -1;
    903     in_sr = FLD (in_sr);
    904     referenced |= 1 << 0;
    905     referenced |= 1 << 1;
    906     cycles += m32rbf_model_m32r_d_u_cti (current_cpu, idesc, 0, referenced, in_sr);
    907   }
    908   return cycles;
    909 #undef FLD
    910 }
    911 
    912 static int
    913 model_m32r_d_ld (SIM_CPU *current_cpu, void *sem_arg)
    914 {
    915 #define FLD(f) abuf->fields.sfmt_ld_plus.f
    916   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    917   const IDESC * UNUSED idesc = abuf->idesc;
    918   int cycles = 0;
    919   {
    920     int referenced = 0;
    921     int UNUSED insn_referenced = abuf->written;
    922     INT in_sr = 0;
    923     INT out_dr = 0;
    924     in_sr = FLD (in_sr);
    925     out_dr = FLD (out_dr);
    926     referenced |= 1 << 0;
    927     referenced |= 1 << 1;
    928     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
    929   }
    930   return cycles;
    931 #undef FLD
    932 }
    933 
    934 static int
    935 model_m32r_d_ld_d (SIM_CPU *current_cpu, void *sem_arg)
    936 {
    937 #define FLD(f) abuf->fields.sfmt_add3.f
    938   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    939   const IDESC * UNUSED idesc = abuf->idesc;
    940   int cycles = 0;
    941   {
    942     int referenced = 0;
    943     int UNUSED insn_referenced = abuf->written;
    944     INT in_sr = 0;
    945     INT out_dr = 0;
    946     in_sr = FLD (in_sr);
    947     out_dr = FLD (out_dr);
    948     referenced |= 1 << 0;
    949     referenced |= 1 << 1;
    950     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
    951   }
    952   return cycles;
    953 #undef FLD
    954 }
    955 
    956 static int
    957 model_m32r_d_ldb (SIM_CPU *current_cpu, void *sem_arg)
    958 {
    959 #define FLD(f) abuf->fields.sfmt_ld_plus.f
    960   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    961   const IDESC * UNUSED idesc = abuf->idesc;
    962   int cycles = 0;
    963   {
    964     int referenced = 0;
    965     int UNUSED insn_referenced = abuf->written;
    966     INT in_sr = 0;
    967     INT out_dr = 0;
    968     in_sr = FLD (in_sr);
    969     out_dr = FLD (out_dr);
    970     referenced |= 1 << 0;
    971     referenced |= 1 << 1;
    972     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
    973   }
    974   return cycles;
    975 #undef FLD
    976 }
    977 
    978 static int
    979 model_m32r_d_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
    980 {
    981 #define FLD(f) abuf->fields.sfmt_add3.f
    982   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
    983   const IDESC * UNUSED idesc = abuf->idesc;
    984   int cycles = 0;
    985   {
    986     int referenced = 0;
    987     int UNUSED insn_referenced = abuf->written;
    988     INT in_sr = 0;
    989     INT out_dr = 0;
    990     in_sr = FLD (in_sr);
    991     out_dr = FLD (out_dr);
    992     referenced |= 1 << 0;
    993     referenced |= 1 << 1;
    994     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
    995   }
    996   return cycles;
    997 #undef FLD
    998 }
    999 
   1000 static int
   1001 model_m32r_d_ldh (SIM_CPU *current_cpu, void *sem_arg)
   1002 {
   1003 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1004   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1005   const IDESC * UNUSED idesc = abuf->idesc;
   1006   int cycles = 0;
   1007   {
   1008     int referenced = 0;
   1009     int UNUSED insn_referenced = abuf->written;
   1010     INT in_sr = 0;
   1011     INT out_dr = 0;
   1012     in_sr = FLD (in_sr);
   1013     out_dr = FLD (out_dr);
   1014     referenced |= 1 << 0;
   1015     referenced |= 1 << 1;
   1016     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1017   }
   1018   return cycles;
   1019 #undef FLD
   1020 }
   1021 
   1022 static int
   1023 model_m32r_d_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
   1024 {
   1025 #define FLD(f) abuf->fields.sfmt_add3.f
   1026   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1027   const IDESC * UNUSED idesc = abuf->idesc;
   1028   int cycles = 0;
   1029   {
   1030     int referenced = 0;
   1031     int UNUSED insn_referenced = abuf->written;
   1032     INT in_sr = 0;
   1033     INT out_dr = 0;
   1034     in_sr = FLD (in_sr);
   1035     out_dr = FLD (out_dr);
   1036     referenced |= 1 << 0;
   1037     referenced |= 1 << 1;
   1038     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1039   }
   1040   return cycles;
   1041 #undef FLD
   1042 }
   1043 
   1044 static int
   1045 model_m32r_d_ldub (SIM_CPU *current_cpu, void *sem_arg)
   1046 {
   1047 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1048   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1049   const IDESC * UNUSED idesc = abuf->idesc;
   1050   int cycles = 0;
   1051   {
   1052     int referenced = 0;
   1053     int UNUSED insn_referenced = abuf->written;
   1054     INT in_sr = 0;
   1055     INT out_dr = 0;
   1056     in_sr = FLD (in_sr);
   1057     out_dr = FLD (out_dr);
   1058     referenced |= 1 << 0;
   1059     referenced |= 1 << 1;
   1060     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1061   }
   1062   return cycles;
   1063 #undef FLD
   1064 }
   1065 
   1066 static int
   1067 model_m32r_d_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
   1068 {
   1069 #define FLD(f) abuf->fields.sfmt_add3.f
   1070   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1071   const IDESC * UNUSED idesc = abuf->idesc;
   1072   int cycles = 0;
   1073   {
   1074     int referenced = 0;
   1075     int UNUSED insn_referenced = abuf->written;
   1076     INT in_sr = 0;
   1077     INT out_dr = 0;
   1078     in_sr = FLD (in_sr);
   1079     out_dr = FLD (out_dr);
   1080     referenced |= 1 << 0;
   1081     referenced |= 1 << 1;
   1082     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1083   }
   1084   return cycles;
   1085 #undef FLD
   1086 }
   1087 
   1088 static int
   1089 model_m32r_d_lduh (SIM_CPU *current_cpu, void *sem_arg)
   1090 {
   1091 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1092   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1093   const IDESC * UNUSED idesc = abuf->idesc;
   1094   int cycles = 0;
   1095   {
   1096     int referenced = 0;
   1097     int UNUSED insn_referenced = abuf->written;
   1098     INT in_sr = 0;
   1099     INT out_dr = 0;
   1100     in_sr = FLD (in_sr);
   1101     out_dr = FLD (out_dr);
   1102     referenced |= 1 << 0;
   1103     referenced |= 1 << 1;
   1104     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1105   }
   1106   return cycles;
   1107 #undef FLD
   1108 }
   1109 
   1110 static int
   1111 model_m32r_d_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
   1112 {
   1113 #define FLD(f) abuf->fields.sfmt_add3.f
   1114   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1115   const IDESC * UNUSED idesc = abuf->idesc;
   1116   int cycles = 0;
   1117   {
   1118     int referenced = 0;
   1119     int UNUSED insn_referenced = abuf->written;
   1120     INT in_sr = 0;
   1121     INT out_dr = 0;
   1122     in_sr = FLD (in_sr);
   1123     out_dr = FLD (out_dr);
   1124     referenced |= 1 << 0;
   1125     referenced |= 1 << 1;
   1126     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1127   }
   1128   return cycles;
   1129 #undef FLD
   1130 }
   1131 
   1132 static int
   1133 model_m32r_d_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
   1134 {
   1135 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1136   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1137   const IDESC * UNUSED idesc = abuf->idesc;
   1138   int cycles = 0;
   1139   {
   1140     int referenced = 0;
   1141     int UNUSED insn_referenced = abuf->written;
   1142     INT in_sr = 0;
   1143     INT out_dr = 0;
   1144     in_sr = FLD (in_sr);
   1145     out_dr = FLD (out_dr);
   1146     referenced |= 1 << 0;
   1147     referenced |= 1 << 1;
   1148     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1149   }
   1150   {
   1151     int referenced = 0;
   1152     int UNUSED insn_referenced = abuf->written;
   1153     INT in_sr = -1;
   1154     INT in_dr = -1;
   1155     INT out_dr = -1;
   1156     in_dr = FLD (in_sr);
   1157     out_dr = FLD (out_sr);
   1158     referenced |= 1 << 0;
   1159     referenced |= 1 << 2;
   1160     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, in_sr, in_dr, out_dr);
   1161   }
   1162   return cycles;
   1163 #undef FLD
   1164 }
   1165 
   1166 static int
   1167 model_m32r_d_ld24 (SIM_CPU *current_cpu, void *sem_arg)
   1168 {
   1169 #define FLD(f) abuf->fields.sfmt_ld24.f
   1170   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1171   const IDESC * UNUSED idesc = abuf->idesc;
   1172   int cycles = 0;
   1173   {
   1174     int referenced = 0;
   1175     int UNUSED insn_referenced = abuf->written;
   1176     INT in_sr = -1;
   1177     INT in_dr = -1;
   1178     INT out_dr = -1;
   1179     out_dr = FLD (out_dr);
   1180     referenced |= 1 << 2;
   1181     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1182   }
   1183   return cycles;
   1184 #undef FLD
   1185 }
   1186 
   1187 static int
   1188 model_m32r_d_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
   1189 {
   1190 #define FLD(f) abuf->fields.sfmt_addi.f
   1191   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1192   const IDESC * UNUSED idesc = abuf->idesc;
   1193   int cycles = 0;
   1194   {
   1195     int referenced = 0;
   1196     int UNUSED insn_referenced = abuf->written;
   1197     INT in_sr = -1;
   1198     INT in_dr = -1;
   1199     INT out_dr = -1;
   1200     out_dr = FLD (out_dr);
   1201     referenced |= 1 << 2;
   1202     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1203   }
   1204   return cycles;
   1205 #undef FLD
   1206 }
   1207 
   1208 static int
   1209 model_m32r_d_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
   1210 {
   1211 #define FLD(f) abuf->fields.sfmt_add3.f
   1212   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1213   const IDESC * UNUSED idesc = abuf->idesc;
   1214   int cycles = 0;
   1215   {
   1216     int referenced = 0;
   1217     int UNUSED insn_referenced = abuf->written;
   1218     INT in_sr = -1;
   1219     INT in_dr = -1;
   1220     INT out_dr = -1;
   1221     out_dr = FLD (out_dr);
   1222     referenced |= 1 << 2;
   1223     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1224   }
   1225   return cycles;
   1226 #undef FLD
   1227 }
   1228 
   1229 static int
   1230 model_m32r_d_lock (SIM_CPU *current_cpu, void *sem_arg)
   1231 {
   1232 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1233   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1234   const IDESC * UNUSED idesc = abuf->idesc;
   1235   int cycles = 0;
   1236   {
   1237     int referenced = 0;
   1238     int UNUSED insn_referenced = abuf->written;
   1239     INT in_sr = 0;
   1240     INT out_dr = 0;
   1241     in_sr = FLD (in_sr);
   1242     out_dr = FLD (out_dr);
   1243     referenced |= 1 << 0;
   1244     referenced |= 1 << 1;
   1245     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   1246   }
   1247   return cycles;
   1248 #undef FLD
   1249 }
   1250 
   1251 static int
   1252 model_m32r_d_machi (SIM_CPU *current_cpu, void *sem_arg)
   1253 {
   1254 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1255   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1256   const IDESC * UNUSED idesc = abuf->idesc;
   1257   int cycles = 0;
   1258   {
   1259     int referenced = 0;
   1260     int UNUSED insn_referenced = abuf->written;
   1261     INT in_src1 = -1;
   1262     INT in_src2 = -1;
   1263     in_src1 = FLD (in_src1);
   1264     in_src2 = FLD (in_src2);
   1265     referenced |= 1 << 0;
   1266     referenced |= 1 << 1;
   1267     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1268   }
   1269   return cycles;
   1270 #undef FLD
   1271 }
   1272 
   1273 static int
   1274 model_m32r_d_maclo (SIM_CPU *current_cpu, void *sem_arg)
   1275 {
   1276 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1277   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1278   const IDESC * UNUSED idesc = abuf->idesc;
   1279   int cycles = 0;
   1280   {
   1281     int referenced = 0;
   1282     int UNUSED insn_referenced = abuf->written;
   1283     INT in_src1 = -1;
   1284     INT in_src2 = -1;
   1285     in_src1 = FLD (in_src1);
   1286     in_src2 = FLD (in_src2);
   1287     referenced |= 1 << 0;
   1288     referenced |= 1 << 1;
   1289     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1290   }
   1291   return cycles;
   1292 #undef FLD
   1293 }
   1294 
   1295 static int
   1296 model_m32r_d_macwhi (SIM_CPU *current_cpu, void *sem_arg)
   1297 {
   1298 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1299   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1300   const IDESC * UNUSED idesc = abuf->idesc;
   1301   int cycles = 0;
   1302   {
   1303     int referenced = 0;
   1304     int UNUSED insn_referenced = abuf->written;
   1305     INT in_src1 = -1;
   1306     INT in_src2 = -1;
   1307     in_src1 = FLD (in_src1);
   1308     in_src2 = FLD (in_src2);
   1309     referenced |= 1 << 0;
   1310     referenced |= 1 << 1;
   1311     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1312   }
   1313   return cycles;
   1314 #undef FLD
   1315 }
   1316 
   1317 static int
   1318 model_m32r_d_macwlo (SIM_CPU *current_cpu, void *sem_arg)
   1319 {
   1320 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1321   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1322   const IDESC * UNUSED idesc = abuf->idesc;
   1323   int cycles = 0;
   1324   {
   1325     int referenced = 0;
   1326     int UNUSED insn_referenced = abuf->written;
   1327     INT in_src1 = -1;
   1328     INT in_src2 = -1;
   1329     in_src1 = FLD (in_src1);
   1330     in_src2 = FLD (in_src2);
   1331     referenced |= 1 << 0;
   1332     referenced |= 1 << 1;
   1333     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1334   }
   1335   return cycles;
   1336 #undef FLD
   1337 }
   1338 
   1339 static int
   1340 model_m32r_d_mul (SIM_CPU *current_cpu, void *sem_arg)
   1341 {
   1342 #define FLD(f) abuf->fields.sfmt_add.f
   1343   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1344   const IDESC * UNUSED idesc = abuf->idesc;
   1345   int cycles = 0;
   1346   {
   1347     int referenced = 0;
   1348     int UNUSED insn_referenced = abuf->written;
   1349     INT in_sr = -1;
   1350     INT in_dr = -1;
   1351     INT out_dr = -1;
   1352     in_sr = FLD (in_sr);
   1353     in_dr = FLD (in_dr);
   1354     out_dr = FLD (out_dr);
   1355     referenced |= 1 << 0;
   1356     referenced |= 1 << 1;
   1357     referenced |= 1 << 2;
   1358     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1359   }
   1360   return cycles;
   1361 #undef FLD
   1362 }
   1363 
   1364 static int
   1365 model_m32r_d_mulhi (SIM_CPU *current_cpu, void *sem_arg)
   1366 {
   1367 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1368   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1369   const IDESC * UNUSED idesc = abuf->idesc;
   1370   int cycles = 0;
   1371   {
   1372     int referenced = 0;
   1373     int UNUSED insn_referenced = abuf->written;
   1374     INT in_src1 = -1;
   1375     INT in_src2 = -1;
   1376     in_src1 = FLD (in_src1);
   1377     in_src2 = FLD (in_src2);
   1378     referenced |= 1 << 0;
   1379     referenced |= 1 << 1;
   1380     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1381   }
   1382   return cycles;
   1383 #undef FLD
   1384 }
   1385 
   1386 static int
   1387 model_m32r_d_mullo (SIM_CPU *current_cpu, void *sem_arg)
   1388 {
   1389 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1390   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1391   const IDESC * UNUSED idesc = abuf->idesc;
   1392   int cycles = 0;
   1393   {
   1394     int referenced = 0;
   1395     int UNUSED insn_referenced = abuf->written;
   1396     INT in_src1 = -1;
   1397     INT in_src2 = -1;
   1398     in_src1 = FLD (in_src1);
   1399     in_src2 = FLD (in_src2);
   1400     referenced |= 1 << 0;
   1401     referenced |= 1 << 1;
   1402     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1403   }
   1404   return cycles;
   1405 #undef FLD
   1406 }
   1407 
   1408 static int
   1409 model_m32r_d_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
   1410 {
   1411 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1412   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1413   const IDESC * UNUSED idesc = abuf->idesc;
   1414   int cycles = 0;
   1415   {
   1416     int referenced = 0;
   1417     int UNUSED insn_referenced = abuf->written;
   1418     INT in_src1 = -1;
   1419     INT in_src2 = -1;
   1420     in_src1 = FLD (in_src1);
   1421     in_src2 = FLD (in_src2);
   1422     referenced |= 1 << 0;
   1423     referenced |= 1 << 1;
   1424     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1425   }
   1426   return cycles;
   1427 #undef FLD
   1428 }
   1429 
   1430 static int
   1431 model_m32r_d_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
   1432 {
   1433 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1434   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1435   const IDESC * UNUSED idesc = abuf->idesc;
   1436   int cycles = 0;
   1437   {
   1438     int referenced = 0;
   1439     int UNUSED insn_referenced = abuf->written;
   1440     INT in_src1 = -1;
   1441     INT in_src2 = -1;
   1442     in_src1 = FLD (in_src1);
   1443     in_src2 = FLD (in_src2);
   1444     referenced |= 1 << 0;
   1445     referenced |= 1 << 1;
   1446     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1447   }
   1448   return cycles;
   1449 #undef FLD
   1450 }
   1451 
   1452 static int
   1453 model_m32r_d_mv (SIM_CPU *current_cpu, void *sem_arg)
   1454 {
   1455 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1456   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1457   const IDESC * UNUSED idesc = abuf->idesc;
   1458   int cycles = 0;
   1459   {
   1460     int referenced = 0;
   1461     int UNUSED insn_referenced = abuf->written;
   1462     INT in_sr = -1;
   1463     INT in_dr = -1;
   1464     INT out_dr = -1;
   1465     in_sr = FLD (in_sr);
   1466     out_dr = FLD (out_dr);
   1467     referenced |= 1 << 0;
   1468     referenced |= 1 << 2;
   1469     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1470   }
   1471   return cycles;
   1472 #undef FLD
   1473 }
   1474 
   1475 static int
   1476 model_m32r_d_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
   1477 {
   1478 #define FLD(f) abuf->fields.sfmt_seth.f
   1479   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1480   const IDESC * UNUSED idesc = abuf->idesc;
   1481   int cycles = 0;
   1482   {
   1483     int referenced = 0;
   1484     int UNUSED insn_referenced = abuf->written;
   1485     INT in_sr = -1;
   1486     INT in_dr = -1;
   1487     INT out_dr = -1;
   1488     out_dr = FLD (out_dr);
   1489     referenced |= 1 << 2;
   1490     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1491   }
   1492   return cycles;
   1493 #undef FLD
   1494 }
   1495 
   1496 static int
   1497 model_m32r_d_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
   1498 {
   1499 #define FLD(f) abuf->fields.sfmt_seth.f
   1500   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1501   const IDESC * UNUSED idesc = abuf->idesc;
   1502   int cycles = 0;
   1503   {
   1504     int referenced = 0;
   1505     int UNUSED insn_referenced = abuf->written;
   1506     INT in_sr = -1;
   1507     INT in_dr = -1;
   1508     INT out_dr = -1;
   1509     out_dr = FLD (out_dr);
   1510     referenced |= 1 << 2;
   1511     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1512   }
   1513   return cycles;
   1514 #undef FLD
   1515 }
   1516 
   1517 static int
   1518 model_m32r_d_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
   1519 {
   1520 #define FLD(f) abuf->fields.sfmt_seth.f
   1521   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1522   const IDESC * UNUSED idesc = abuf->idesc;
   1523   int cycles = 0;
   1524   {
   1525     int referenced = 0;
   1526     int UNUSED insn_referenced = abuf->written;
   1527     INT in_sr = -1;
   1528     INT in_dr = -1;
   1529     INT out_dr = -1;
   1530     out_dr = FLD (out_dr);
   1531     referenced |= 1 << 2;
   1532     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1533   }
   1534   return cycles;
   1535 #undef FLD
   1536 }
   1537 
   1538 static int
   1539 model_m32r_d_mvfc (SIM_CPU *current_cpu, void *sem_arg)
   1540 {
   1541 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1542   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1543   const IDESC * UNUSED idesc = abuf->idesc;
   1544   int cycles = 0;
   1545   {
   1546     int referenced = 0;
   1547     int UNUSED insn_referenced = abuf->written;
   1548     INT in_sr = -1;
   1549     INT in_dr = -1;
   1550     INT out_dr = -1;
   1551     out_dr = FLD (out_dr);
   1552     referenced |= 1 << 2;
   1553     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1554   }
   1555   return cycles;
   1556 #undef FLD
   1557 }
   1558 
   1559 static int
   1560 model_m32r_d_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
   1561 {
   1562 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1563   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1564   const IDESC * UNUSED idesc = abuf->idesc;
   1565   int cycles = 0;
   1566   {
   1567     int referenced = 0;
   1568     int UNUSED insn_referenced = abuf->written;
   1569     INT in_sr = -1;
   1570     INT in_dr = -1;
   1571     INT out_dr = -1;
   1572     in_sr = FLD (in_src1);
   1573     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1574   }
   1575   return cycles;
   1576 #undef FLD
   1577 }
   1578 
   1579 static int
   1580 model_m32r_d_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
   1581 {
   1582 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1583   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1584   const IDESC * UNUSED idesc = abuf->idesc;
   1585   int cycles = 0;
   1586   {
   1587     int referenced = 0;
   1588     int UNUSED insn_referenced = abuf->written;
   1589     INT in_sr = -1;
   1590     INT in_dr = -1;
   1591     INT out_dr = -1;
   1592     in_sr = FLD (in_src1);
   1593     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1594   }
   1595   return cycles;
   1596 #undef FLD
   1597 }
   1598 
   1599 static int
   1600 model_m32r_d_mvtc (SIM_CPU *current_cpu, void *sem_arg)
   1601 {
   1602 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1603   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1604   const IDESC * UNUSED idesc = abuf->idesc;
   1605   int cycles = 0;
   1606   {
   1607     int referenced = 0;
   1608     int UNUSED insn_referenced = abuf->written;
   1609     INT in_sr = -1;
   1610     INT in_dr = -1;
   1611     INT out_dr = -1;
   1612     in_sr = FLD (in_sr);
   1613     referenced |= 1 << 0;
   1614     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1615   }
   1616   return cycles;
   1617 #undef FLD
   1618 }
   1619 
   1620 static int
   1621 model_m32r_d_neg (SIM_CPU *current_cpu, void *sem_arg)
   1622 {
   1623 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1624   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1625   const IDESC * UNUSED idesc = abuf->idesc;
   1626   int cycles = 0;
   1627   {
   1628     int referenced = 0;
   1629     int UNUSED insn_referenced = abuf->written;
   1630     INT in_sr = -1;
   1631     INT in_dr = -1;
   1632     INT out_dr = -1;
   1633     in_sr = FLD (in_sr);
   1634     out_dr = FLD (out_dr);
   1635     referenced |= 1 << 0;
   1636     referenced |= 1 << 2;
   1637     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1638   }
   1639   return cycles;
   1640 #undef FLD
   1641 }
   1642 
   1643 static int
   1644 model_m32r_d_nop (SIM_CPU *current_cpu, void *sem_arg)
   1645 {
   1646 #define FLD(f) abuf->fields.sfmt_empty.f
   1647   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1648   const IDESC * UNUSED idesc = abuf->idesc;
   1649   int cycles = 0;
   1650   {
   1651     int referenced = 0;
   1652     int UNUSED insn_referenced = abuf->written;
   1653     INT in_sr = -1;
   1654     INT in_dr = -1;
   1655     INT out_dr = -1;
   1656     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1657   }
   1658   return cycles;
   1659 #undef FLD
   1660 }
   1661 
   1662 static int
   1663 model_m32r_d_not (SIM_CPU *current_cpu, void *sem_arg)
   1664 {
   1665 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   1666   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1667   const IDESC * UNUSED idesc = abuf->idesc;
   1668   int cycles = 0;
   1669   {
   1670     int referenced = 0;
   1671     int UNUSED insn_referenced = abuf->written;
   1672     INT in_sr = -1;
   1673     INT in_dr = -1;
   1674     INT out_dr = -1;
   1675     in_sr = FLD (in_sr);
   1676     out_dr = FLD (out_dr);
   1677     referenced |= 1 << 0;
   1678     referenced |= 1 << 2;
   1679     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1680   }
   1681   return cycles;
   1682 #undef FLD
   1683 }
   1684 
   1685 static int
   1686 model_m32r_d_rac (SIM_CPU *current_cpu, void *sem_arg)
   1687 {
   1688 #define FLD(f) abuf->fields.sfmt_empty.f
   1689   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1690   const IDESC * UNUSED idesc = abuf->idesc;
   1691   int cycles = 0;
   1692   {
   1693     int referenced = 0;
   1694     int UNUSED insn_referenced = abuf->written;
   1695     INT in_src1 = -1;
   1696     INT in_src2 = -1;
   1697     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1698   }
   1699   return cycles;
   1700 #undef FLD
   1701 }
   1702 
   1703 static int
   1704 model_m32r_d_rach (SIM_CPU *current_cpu, void *sem_arg)
   1705 {
   1706 #define FLD(f) abuf->fields.sfmt_empty.f
   1707   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1708   const IDESC * UNUSED idesc = abuf->idesc;
   1709   int cycles = 0;
   1710   {
   1711     int referenced = 0;
   1712     int UNUSED insn_referenced = abuf->written;
   1713     INT in_src1 = -1;
   1714     INT in_src2 = -1;
   1715     cycles += m32rbf_model_m32r_d_u_mac (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1716   }
   1717   return cycles;
   1718 #undef FLD
   1719 }
   1720 
   1721 static int
   1722 model_m32r_d_rte (SIM_CPU *current_cpu, void *sem_arg)
   1723 {
   1724 #define FLD(f) abuf->fields.sfmt_empty.f
   1725   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1726   const IDESC * UNUSED idesc = abuf->idesc;
   1727   int cycles = 0;
   1728   {
   1729     int referenced = 0;
   1730     int UNUSED insn_referenced = abuf->written;
   1731     INT in_sr = -1;
   1732     INT in_dr = -1;
   1733     INT out_dr = -1;
   1734     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1735   }
   1736   return cycles;
   1737 #undef FLD
   1738 }
   1739 
   1740 static int
   1741 model_m32r_d_seth (SIM_CPU *current_cpu, void *sem_arg)
   1742 {
   1743 #define FLD(f) abuf->fields.sfmt_seth.f
   1744   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1745   const IDESC * UNUSED idesc = abuf->idesc;
   1746   int cycles = 0;
   1747   {
   1748     int referenced = 0;
   1749     int UNUSED insn_referenced = abuf->written;
   1750     INT in_sr = -1;
   1751     INT in_dr = -1;
   1752     INT out_dr = -1;
   1753     out_dr = FLD (out_dr);
   1754     referenced |= 1 << 2;
   1755     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1756   }
   1757   return cycles;
   1758 #undef FLD
   1759 }
   1760 
   1761 static int
   1762 model_m32r_d_sll (SIM_CPU *current_cpu, void *sem_arg)
   1763 {
   1764 #define FLD(f) abuf->fields.sfmt_add.f
   1765   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1766   const IDESC * UNUSED idesc = abuf->idesc;
   1767   int cycles = 0;
   1768   {
   1769     int referenced = 0;
   1770     int UNUSED insn_referenced = abuf->written;
   1771     INT in_sr = -1;
   1772     INT in_dr = -1;
   1773     INT out_dr = -1;
   1774     in_sr = FLD (in_sr);
   1775     in_dr = FLD (in_dr);
   1776     out_dr = FLD (out_dr);
   1777     referenced |= 1 << 0;
   1778     referenced |= 1 << 1;
   1779     referenced |= 1 << 2;
   1780     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1781   }
   1782   return cycles;
   1783 #undef FLD
   1784 }
   1785 
   1786 static int
   1787 model_m32r_d_sll3 (SIM_CPU *current_cpu, void *sem_arg)
   1788 {
   1789 #define FLD(f) abuf->fields.sfmt_add3.f
   1790   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1791   const IDESC * UNUSED idesc = abuf->idesc;
   1792   int cycles = 0;
   1793   {
   1794     int referenced = 0;
   1795     int UNUSED insn_referenced = abuf->written;
   1796     INT in_sr = -1;
   1797     INT in_dr = -1;
   1798     INT out_dr = -1;
   1799     in_sr = FLD (in_sr);
   1800     out_dr = FLD (out_dr);
   1801     referenced |= 1 << 0;
   1802     referenced |= 1 << 2;
   1803     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1804   }
   1805   return cycles;
   1806 #undef FLD
   1807 }
   1808 
   1809 static int
   1810 model_m32r_d_slli (SIM_CPU *current_cpu, void *sem_arg)
   1811 {
   1812 #define FLD(f) abuf->fields.sfmt_slli.f
   1813   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1814   const IDESC * UNUSED idesc = abuf->idesc;
   1815   int cycles = 0;
   1816   {
   1817     int referenced = 0;
   1818     int UNUSED insn_referenced = abuf->written;
   1819     INT in_sr = -1;
   1820     INT in_dr = -1;
   1821     INT out_dr = -1;
   1822     in_dr = FLD (in_dr);
   1823     out_dr = FLD (out_dr);
   1824     referenced |= 1 << 1;
   1825     referenced |= 1 << 2;
   1826     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1827   }
   1828   return cycles;
   1829 #undef FLD
   1830 }
   1831 
   1832 static int
   1833 model_m32r_d_sra (SIM_CPU *current_cpu, void *sem_arg)
   1834 {
   1835 #define FLD(f) abuf->fields.sfmt_add.f
   1836   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1837   const IDESC * UNUSED idesc = abuf->idesc;
   1838   int cycles = 0;
   1839   {
   1840     int referenced = 0;
   1841     int UNUSED insn_referenced = abuf->written;
   1842     INT in_sr = -1;
   1843     INT in_dr = -1;
   1844     INT out_dr = -1;
   1845     in_sr = FLD (in_sr);
   1846     in_dr = FLD (in_dr);
   1847     out_dr = FLD (out_dr);
   1848     referenced |= 1 << 0;
   1849     referenced |= 1 << 1;
   1850     referenced |= 1 << 2;
   1851     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1852   }
   1853   return cycles;
   1854 #undef FLD
   1855 }
   1856 
   1857 static int
   1858 model_m32r_d_sra3 (SIM_CPU *current_cpu, void *sem_arg)
   1859 {
   1860 #define FLD(f) abuf->fields.sfmt_add3.f
   1861   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1862   const IDESC * UNUSED idesc = abuf->idesc;
   1863   int cycles = 0;
   1864   {
   1865     int referenced = 0;
   1866     int UNUSED insn_referenced = abuf->written;
   1867     INT in_sr = -1;
   1868     INT in_dr = -1;
   1869     INT out_dr = -1;
   1870     in_sr = FLD (in_sr);
   1871     out_dr = FLD (out_dr);
   1872     referenced |= 1 << 0;
   1873     referenced |= 1 << 2;
   1874     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1875   }
   1876   return cycles;
   1877 #undef FLD
   1878 }
   1879 
   1880 static int
   1881 model_m32r_d_srai (SIM_CPU *current_cpu, void *sem_arg)
   1882 {
   1883 #define FLD(f) abuf->fields.sfmt_slli.f
   1884   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1885   const IDESC * UNUSED idesc = abuf->idesc;
   1886   int cycles = 0;
   1887   {
   1888     int referenced = 0;
   1889     int UNUSED insn_referenced = abuf->written;
   1890     INT in_sr = -1;
   1891     INT in_dr = -1;
   1892     INT out_dr = -1;
   1893     in_dr = FLD (in_dr);
   1894     out_dr = FLD (out_dr);
   1895     referenced |= 1 << 1;
   1896     referenced |= 1 << 2;
   1897     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1898   }
   1899   return cycles;
   1900 #undef FLD
   1901 }
   1902 
   1903 static int
   1904 model_m32r_d_srl (SIM_CPU *current_cpu, void *sem_arg)
   1905 {
   1906 #define FLD(f) abuf->fields.sfmt_add.f
   1907   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1908   const IDESC * UNUSED idesc = abuf->idesc;
   1909   int cycles = 0;
   1910   {
   1911     int referenced = 0;
   1912     int UNUSED insn_referenced = abuf->written;
   1913     INT in_sr = -1;
   1914     INT in_dr = -1;
   1915     INT out_dr = -1;
   1916     in_sr = FLD (in_sr);
   1917     in_dr = FLD (in_dr);
   1918     out_dr = FLD (out_dr);
   1919     referenced |= 1 << 0;
   1920     referenced |= 1 << 1;
   1921     referenced |= 1 << 2;
   1922     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1923   }
   1924   return cycles;
   1925 #undef FLD
   1926 }
   1927 
   1928 static int
   1929 model_m32r_d_srl3 (SIM_CPU *current_cpu, void *sem_arg)
   1930 {
   1931 #define FLD(f) abuf->fields.sfmt_add3.f
   1932   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1933   const IDESC * UNUSED idesc = abuf->idesc;
   1934   int cycles = 0;
   1935   {
   1936     int referenced = 0;
   1937     int UNUSED insn_referenced = abuf->written;
   1938     INT in_sr = -1;
   1939     INT in_dr = -1;
   1940     INT out_dr = -1;
   1941     in_sr = FLD (in_sr);
   1942     out_dr = FLD (out_dr);
   1943     referenced |= 1 << 0;
   1944     referenced |= 1 << 2;
   1945     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1946   }
   1947   return cycles;
   1948 #undef FLD
   1949 }
   1950 
   1951 static int
   1952 model_m32r_d_srli (SIM_CPU *current_cpu, void *sem_arg)
   1953 {
   1954 #define FLD(f) abuf->fields.sfmt_slli.f
   1955   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1956   const IDESC * UNUSED idesc = abuf->idesc;
   1957   int cycles = 0;
   1958   {
   1959     int referenced = 0;
   1960     int UNUSED insn_referenced = abuf->written;
   1961     INT in_sr = -1;
   1962     INT in_dr = -1;
   1963     INT out_dr = -1;
   1964     in_dr = FLD (in_dr);
   1965     out_dr = FLD (out_dr);
   1966     referenced |= 1 << 1;
   1967     referenced |= 1 << 2;
   1968     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   1969   }
   1970   return cycles;
   1971 #undef FLD
   1972 }
   1973 
   1974 static int
   1975 model_m32r_d_st (SIM_CPU *current_cpu, void *sem_arg)
   1976 {
   1977 #define FLD(f) abuf->fields.sfmt_st_plus.f
   1978   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   1979   const IDESC * UNUSED idesc = abuf->idesc;
   1980   int cycles = 0;
   1981   {
   1982     int referenced = 0;
   1983     int UNUSED insn_referenced = abuf->written;
   1984     INT in_src1 = 0;
   1985     INT in_src2 = 0;
   1986     in_src1 = FLD (in_src1);
   1987     in_src2 = FLD (in_src2);
   1988     referenced |= 1 << 0;
   1989     referenced |= 1 << 1;
   1990     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   1991   }
   1992   return cycles;
   1993 #undef FLD
   1994 }
   1995 
   1996 static int
   1997 model_m32r_d_st_d (SIM_CPU *current_cpu, void *sem_arg)
   1998 {
   1999 #define FLD(f) abuf->fields.sfmt_st_d.f
   2000   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2001   const IDESC * UNUSED idesc = abuf->idesc;
   2002   int cycles = 0;
   2003   {
   2004     int referenced = 0;
   2005     int UNUSED insn_referenced = abuf->written;
   2006     INT in_src1 = 0;
   2007     INT in_src2 = 0;
   2008     in_src1 = FLD (in_src1);
   2009     in_src2 = FLD (in_src2);
   2010     referenced |= 1 << 0;
   2011     referenced |= 1 << 1;
   2012     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2013   }
   2014   return cycles;
   2015 #undef FLD
   2016 }
   2017 
   2018 static int
   2019 model_m32r_d_stb (SIM_CPU *current_cpu, void *sem_arg)
   2020 {
   2021 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2022   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2023   const IDESC * UNUSED idesc = abuf->idesc;
   2024   int cycles = 0;
   2025   {
   2026     int referenced = 0;
   2027     int UNUSED insn_referenced = abuf->written;
   2028     INT in_src1 = 0;
   2029     INT in_src2 = 0;
   2030     in_src1 = FLD (in_src1);
   2031     in_src2 = FLD (in_src2);
   2032     referenced |= 1 << 0;
   2033     referenced |= 1 << 1;
   2034     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2035   }
   2036   return cycles;
   2037 #undef FLD
   2038 }
   2039 
   2040 static int
   2041 model_m32r_d_stb_d (SIM_CPU *current_cpu, void *sem_arg)
   2042 {
   2043 #define FLD(f) abuf->fields.sfmt_st_d.f
   2044   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2045   const IDESC * UNUSED idesc = abuf->idesc;
   2046   int cycles = 0;
   2047   {
   2048     int referenced = 0;
   2049     int UNUSED insn_referenced = abuf->written;
   2050     INT in_src1 = 0;
   2051     INT in_src2 = 0;
   2052     in_src1 = FLD (in_src1);
   2053     in_src2 = FLD (in_src2);
   2054     referenced |= 1 << 0;
   2055     referenced |= 1 << 1;
   2056     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2057   }
   2058   return cycles;
   2059 #undef FLD
   2060 }
   2061 
   2062 static int
   2063 model_m32r_d_sth (SIM_CPU *current_cpu, void *sem_arg)
   2064 {
   2065 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2066   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2067   const IDESC * UNUSED idesc = abuf->idesc;
   2068   int cycles = 0;
   2069   {
   2070     int referenced = 0;
   2071     int UNUSED insn_referenced = abuf->written;
   2072     INT in_src1 = 0;
   2073     INT in_src2 = 0;
   2074     in_src1 = FLD (in_src1);
   2075     in_src2 = FLD (in_src2);
   2076     referenced |= 1 << 0;
   2077     referenced |= 1 << 1;
   2078     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2079   }
   2080   return cycles;
   2081 #undef FLD
   2082 }
   2083 
   2084 static int
   2085 model_m32r_d_sth_d (SIM_CPU *current_cpu, void *sem_arg)
   2086 {
   2087 #define FLD(f) abuf->fields.sfmt_st_d.f
   2088   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2089   const IDESC * UNUSED idesc = abuf->idesc;
   2090   int cycles = 0;
   2091   {
   2092     int referenced = 0;
   2093     int UNUSED insn_referenced = abuf->written;
   2094     INT in_src1 = 0;
   2095     INT in_src2 = 0;
   2096     in_src1 = FLD (in_src1);
   2097     in_src2 = FLD (in_src2);
   2098     referenced |= 1 << 0;
   2099     referenced |= 1 << 1;
   2100     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2101   }
   2102   return cycles;
   2103 #undef FLD
   2104 }
   2105 
   2106 static int
   2107 model_m32r_d_st_plus (SIM_CPU *current_cpu, void *sem_arg)
   2108 {
   2109 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2110   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2111   const IDESC * UNUSED idesc = abuf->idesc;
   2112   int cycles = 0;
   2113   {
   2114     int referenced = 0;
   2115     int UNUSED insn_referenced = abuf->written;
   2116     INT in_src1 = 0;
   2117     INT in_src2 = 0;
   2118     in_src1 = FLD (in_src1);
   2119     in_src2 = FLD (in_src2);
   2120     referenced |= 1 << 0;
   2121     referenced |= 1 << 1;
   2122     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2123   }
   2124   {
   2125     int referenced = 0;
   2126     int UNUSED insn_referenced = abuf->written;
   2127     INT in_sr = -1;
   2128     INT in_dr = -1;
   2129     INT out_dr = -1;
   2130     in_dr = FLD (in_src2);
   2131     out_dr = FLD (out_src2);
   2132     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, in_sr, in_dr, out_dr);
   2133   }
   2134   return cycles;
   2135 #undef FLD
   2136 }
   2137 
   2138 static int
   2139 model_m32r_d_st_minus (SIM_CPU *current_cpu, void *sem_arg)
   2140 {
   2141 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2142   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2143   const IDESC * UNUSED idesc = abuf->idesc;
   2144   int cycles = 0;
   2145   {
   2146     int referenced = 0;
   2147     int UNUSED insn_referenced = abuf->written;
   2148     INT in_src1 = 0;
   2149     INT in_src2 = 0;
   2150     in_src1 = FLD (in_src1);
   2151     in_src2 = FLD (in_src2);
   2152     referenced |= 1 << 0;
   2153     referenced |= 1 << 1;
   2154     cycles += m32rbf_model_m32r_d_u_store (current_cpu, idesc, 0, referenced, in_src1, in_src2);
   2155   }
   2156   {
   2157     int referenced = 0;
   2158     int UNUSED insn_referenced = abuf->written;
   2159     INT in_sr = -1;
   2160     INT in_dr = -1;
   2161     INT out_dr = -1;
   2162     in_dr = FLD (in_src2);
   2163     out_dr = FLD (out_src2);
   2164     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 1, referenced, in_sr, in_dr, out_dr);
   2165   }
   2166   return cycles;
   2167 #undef FLD
   2168 }
   2169 
   2170 static int
   2171 model_m32r_d_sub (SIM_CPU *current_cpu, void *sem_arg)
   2172 {
   2173 #define FLD(f) abuf->fields.sfmt_add.f
   2174   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2175   const IDESC * UNUSED idesc = abuf->idesc;
   2176   int cycles = 0;
   2177   {
   2178     int referenced = 0;
   2179     int UNUSED insn_referenced = abuf->written;
   2180     INT in_sr = -1;
   2181     INT in_dr = -1;
   2182     INT out_dr = -1;
   2183     in_sr = FLD (in_sr);
   2184     in_dr = FLD (in_dr);
   2185     out_dr = FLD (out_dr);
   2186     referenced |= 1 << 0;
   2187     referenced |= 1 << 1;
   2188     referenced |= 1 << 2;
   2189     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2190   }
   2191   return cycles;
   2192 #undef FLD
   2193 }
   2194 
   2195 static int
   2196 model_m32r_d_subv (SIM_CPU *current_cpu, void *sem_arg)
   2197 {
   2198 #define FLD(f) abuf->fields.sfmt_add.f
   2199   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2200   const IDESC * UNUSED idesc = abuf->idesc;
   2201   int cycles = 0;
   2202   {
   2203     int referenced = 0;
   2204     int UNUSED insn_referenced = abuf->written;
   2205     INT in_sr = -1;
   2206     INT in_dr = -1;
   2207     INT out_dr = -1;
   2208     in_sr = FLD (in_sr);
   2209     in_dr = FLD (in_dr);
   2210     out_dr = FLD (out_dr);
   2211     referenced |= 1 << 0;
   2212     referenced |= 1 << 1;
   2213     referenced |= 1 << 2;
   2214     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2215   }
   2216   return cycles;
   2217 #undef FLD
   2218 }
   2219 
   2220 static int
   2221 model_m32r_d_subx (SIM_CPU *current_cpu, void *sem_arg)
   2222 {
   2223 #define FLD(f) abuf->fields.sfmt_add.f
   2224   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2225   const IDESC * UNUSED idesc = abuf->idesc;
   2226   int cycles = 0;
   2227   {
   2228     int referenced = 0;
   2229     int UNUSED insn_referenced = abuf->written;
   2230     INT in_sr = -1;
   2231     INT in_dr = -1;
   2232     INT out_dr = -1;
   2233     in_sr = FLD (in_sr);
   2234     in_dr = FLD (in_dr);
   2235     out_dr = FLD (out_dr);
   2236     referenced |= 1 << 0;
   2237     referenced |= 1 << 1;
   2238     referenced |= 1 << 2;
   2239     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2240   }
   2241   return cycles;
   2242 #undef FLD
   2243 }
   2244 
   2245 static int
   2246 model_m32r_d_trap (SIM_CPU *current_cpu, void *sem_arg)
   2247 {
   2248 #define FLD(f) abuf->fields.sfmt_trap.f
   2249   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2250   const IDESC * UNUSED idesc = abuf->idesc;
   2251   int cycles = 0;
   2252   {
   2253     int referenced = 0;
   2254     int UNUSED insn_referenced = abuf->written;
   2255     INT in_sr = -1;
   2256     INT in_dr = -1;
   2257     INT out_dr = -1;
   2258     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2259   }
   2260   return cycles;
   2261 #undef FLD
   2262 }
   2263 
   2264 static int
   2265 model_m32r_d_unlock (SIM_CPU *current_cpu, void *sem_arg)
   2266 {
   2267 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2268   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2269   const IDESC * UNUSED idesc = abuf->idesc;
   2270   int cycles = 0;
   2271   {
   2272     int referenced = 0;
   2273     int UNUSED insn_referenced = abuf->written;
   2274     INT in_sr = 0;
   2275     INT out_dr = 0;
   2276     cycles += m32rbf_model_m32r_d_u_load (current_cpu, idesc, 0, referenced, in_sr, out_dr);
   2277   }
   2278   return cycles;
   2279 #undef FLD
   2280 }
   2281 
   2282 static int
   2283 model_m32r_d_clrpsw (SIM_CPU *current_cpu, void *sem_arg)
   2284 {
   2285 #define FLD(f) abuf->fields.sfmt_clrpsw.f
   2286   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2287   const IDESC * UNUSED idesc = abuf->idesc;
   2288   int cycles = 0;
   2289   {
   2290     int referenced = 0;
   2291     int UNUSED insn_referenced = abuf->written;
   2292     INT in_sr = -1;
   2293     INT in_dr = -1;
   2294     INT out_dr = -1;
   2295     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2296   }
   2297   return cycles;
   2298 #undef FLD
   2299 }
   2300 
   2301 static int
   2302 model_m32r_d_setpsw (SIM_CPU *current_cpu, void *sem_arg)
   2303 {
   2304 #define FLD(f) abuf->fields.sfmt_clrpsw.f
   2305   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2306   const IDESC * UNUSED idesc = abuf->idesc;
   2307   int cycles = 0;
   2308   {
   2309     int referenced = 0;
   2310     int UNUSED insn_referenced = abuf->written;
   2311     INT in_sr = -1;
   2312     INT in_dr = -1;
   2313     INT out_dr = -1;
   2314     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2315   }
   2316   return cycles;
   2317 #undef FLD
   2318 }
   2319 
   2320 static int
   2321 model_m32r_d_bset (SIM_CPU *current_cpu, void *sem_arg)
   2322 {
   2323 #define FLD(f) abuf->fields.sfmt_bset.f
   2324   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2325   const IDESC * UNUSED idesc = abuf->idesc;
   2326   int cycles = 0;
   2327   {
   2328     int referenced = 0;
   2329     int UNUSED insn_referenced = abuf->written;
   2330     INT in_sr = -1;
   2331     INT in_dr = -1;
   2332     INT out_dr = -1;
   2333     in_sr = FLD (in_sr);
   2334     referenced |= 1 << 0;
   2335     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2336   }
   2337   return cycles;
   2338 #undef FLD
   2339 }
   2340 
   2341 static int
   2342 model_m32r_d_bclr (SIM_CPU *current_cpu, void *sem_arg)
   2343 {
   2344 #define FLD(f) abuf->fields.sfmt_bset.f
   2345   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2346   const IDESC * UNUSED idesc = abuf->idesc;
   2347   int cycles = 0;
   2348   {
   2349     int referenced = 0;
   2350     int UNUSED insn_referenced = abuf->written;
   2351     INT in_sr = -1;
   2352     INT in_dr = -1;
   2353     INT out_dr = -1;
   2354     in_sr = FLD (in_sr);
   2355     referenced |= 1 << 0;
   2356     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2357   }
   2358   return cycles;
   2359 #undef FLD
   2360 }
   2361 
   2362 static int
   2363 model_m32r_d_btst (SIM_CPU *current_cpu, void *sem_arg)
   2364 {
   2365 #define FLD(f) abuf->fields.sfmt_bset.f
   2366   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2367   const IDESC * UNUSED idesc = abuf->idesc;
   2368   int cycles = 0;
   2369   {
   2370     int referenced = 0;
   2371     int UNUSED insn_referenced = abuf->written;
   2372     INT in_sr = -1;
   2373     INT in_dr = -1;
   2374     INT out_dr = -1;
   2375     in_sr = FLD (in_sr);
   2376     referenced |= 1 << 0;
   2377     cycles += m32rbf_model_m32r_d_u_exec (current_cpu, idesc, 0, referenced, in_sr, in_dr, out_dr);
   2378   }
   2379   return cycles;
   2380 #undef FLD
   2381 }
   2382 
   2383 static int
   2384 model_test_add (SIM_CPU *current_cpu, void *sem_arg)
   2385 {
   2386 #define FLD(f) abuf->fields.sfmt_add.f
   2387   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2388   const IDESC * UNUSED idesc = abuf->idesc;
   2389   int cycles = 0;
   2390   {
   2391     int referenced = 0;
   2392     int UNUSED insn_referenced = abuf->written;
   2393     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2394   }
   2395   return cycles;
   2396 #undef FLD
   2397 }
   2398 
   2399 static int
   2400 model_test_add3 (SIM_CPU *current_cpu, void *sem_arg)
   2401 {
   2402 #define FLD(f) abuf->fields.sfmt_add3.f
   2403   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2404   const IDESC * UNUSED idesc = abuf->idesc;
   2405   int cycles = 0;
   2406   {
   2407     int referenced = 0;
   2408     int UNUSED insn_referenced = abuf->written;
   2409     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2410   }
   2411   return cycles;
   2412 #undef FLD
   2413 }
   2414 
   2415 static int
   2416 model_test_and (SIM_CPU *current_cpu, void *sem_arg)
   2417 {
   2418 #define FLD(f) abuf->fields.sfmt_add.f
   2419   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2420   const IDESC * UNUSED idesc = abuf->idesc;
   2421   int cycles = 0;
   2422   {
   2423     int referenced = 0;
   2424     int UNUSED insn_referenced = abuf->written;
   2425     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2426   }
   2427   return cycles;
   2428 #undef FLD
   2429 }
   2430 
   2431 static int
   2432 model_test_and3 (SIM_CPU *current_cpu, void *sem_arg)
   2433 {
   2434 #define FLD(f) abuf->fields.sfmt_and3.f
   2435   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2436   const IDESC * UNUSED idesc = abuf->idesc;
   2437   int cycles = 0;
   2438   {
   2439     int referenced = 0;
   2440     int UNUSED insn_referenced = abuf->written;
   2441     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2442   }
   2443   return cycles;
   2444 #undef FLD
   2445 }
   2446 
   2447 static int
   2448 model_test_or (SIM_CPU *current_cpu, void *sem_arg)
   2449 {
   2450 #define FLD(f) abuf->fields.sfmt_add.f
   2451   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2452   const IDESC * UNUSED idesc = abuf->idesc;
   2453   int cycles = 0;
   2454   {
   2455     int referenced = 0;
   2456     int UNUSED insn_referenced = abuf->written;
   2457     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2458   }
   2459   return cycles;
   2460 #undef FLD
   2461 }
   2462 
   2463 static int
   2464 model_test_or3 (SIM_CPU *current_cpu, void *sem_arg)
   2465 {
   2466 #define FLD(f) abuf->fields.sfmt_and3.f
   2467   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2468   const IDESC * UNUSED idesc = abuf->idesc;
   2469   int cycles = 0;
   2470   {
   2471     int referenced = 0;
   2472     int UNUSED insn_referenced = abuf->written;
   2473     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2474   }
   2475   return cycles;
   2476 #undef FLD
   2477 }
   2478 
   2479 static int
   2480 model_test_xor (SIM_CPU *current_cpu, void *sem_arg)
   2481 {
   2482 #define FLD(f) abuf->fields.sfmt_add.f
   2483   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2484   const IDESC * UNUSED idesc = abuf->idesc;
   2485   int cycles = 0;
   2486   {
   2487     int referenced = 0;
   2488     int UNUSED insn_referenced = abuf->written;
   2489     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2490   }
   2491   return cycles;
   2492 #undef FLD
   2493 }
   2494 
   2495 static int
   2496 model_test_xor3 (SIM_CPU *current_cpu, void *sem_arg)
   2497 {
   2498 #define FLD(f) abuf->fields.sfmt_and3.f
   2499   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2500   const IDESC * UNUSED idesc = abuf->idesc;
   2501   int cycles = 0;
   2502   {
   2503     int referenced = 0;
   2504     int UNUSED insn_referenced = abuf->written;
   2505     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2506   }
   2507   return cycles;
   2508 #undef FLD
   2509 }
   2510 
   2511 static int
   2512 model_test_addi (SIM_CPU *current_cpu, void *sem_arg)
   2513 {
   2514 #define FLD(f) abuf->fields.sfmt_addi.f
   2515   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2516   const IDESC * UNUSED idesc = abuf->idesc;
   2517   int cycles = 0;
   2518   {
   2519     int referenced = 0;
   2520     int UNUSED insn_referenced = abuf->written;
   2521     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2522   }
   2523   return cycles;
   2524 #undef FLD
   2525 }
   2526 
   2527 static int
   2528 model_test_addv (SIM_CPU *current_cpu, void *sem_arg)
   2529 {
   2530 #define FLD(f) abuf->fields.sfmt_add.f
   2531   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2532   const IDESC * UNUSED idesc = abuf->idesc;
   2533   int cycles = 0;
   2534   {
   2535     int referenced = 0;
   2536     int UNUSED insn_referenced = abuf->written;
   2537     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2538   }
   2539   return cycles;
   2540 #undef FLD
   2541 }
   2542 
   2543 static int
   2544 model_test_addv3 (SIM_CPU *current_cpu, void *sem_arg)
   2545 {
   2546 #define FLD(f) abuf->fields.sfmt_add3.f
   2547   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2548   const IDESC * UNUSED idesc = abuf->idesc;
   2549   int cycles = 0;
   2550   {
   2551     int referenced = 0;
   2552     int UNUSED insn_referenced = abuf->written;
   2553     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2554   }
   2555   return cycles;
   2556 #undef FLD
   2557 }
   2558 
   2559 static int
   2560 model_test_addx (SIM_CPU *current_cpu, void *sem_arg)
   2561 {
   2562 #define FLD(f) abuf->fields.sfmt_add.f
   2563   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2564   const IDESC * UNUSED idesc = abuf->idesc;
   2565   int cycles = 0;
   2566   {
   2567     int referenced = 0;
   2568     int UNUSED insn_referenced = abuf->written;
   2569     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2570   }
   2571   return cycles;
   2572 #undef FLD
   2573 }
   2574 
   2575 static int
   2576 model_test_bc8 (SIM_CPU *current_cpu, void *sem_arg)
   2577 {
   2578 #define FLD(f) abuf->fields.sfmt_bl8.f
   2579   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2580   const IDESC * UNUSED idesc = abuf->idesc;
   2581   int cycles = 0;
   2582   {
   2583     int referenced = 0;
   2584     int UNUSED insn_referenced = abuf->written;
   2585     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2586   }
   2587   return cycles;
   2588 #undef FLD
   2589 }
   2590 
   2591 static int
   2592 model_test_bc24 (SIM_CPU *current_cpu, void *sem_arg)
   2593 {
   2594 #define FLD(f) abuf->fields.sfmt_bl24.f
   2595   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2596   const IDESC * UNUSED idesc = abuf->idesc;
   2597   int cycles = 0;
   2598   {
   2599     int referenced = 0;
   2600     int UNUSED insn_referenced = abuf->written;
   2601     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2602   }
   2603   return cycles;
   2604 #undef FLD
   2605 }
   2606 
   2607 static int
   2608 model_test_beq (SIM_CPU *current_cpu, void *sem_arg)
   2609 {
   2610 #define FLD(f) abuf->fields.sfmt_beq.f
   2611   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2612   const IDESC * UNUSED idesc = abuf->idesc;
   2613   int cycles = 0;
   2614   {
   2615     int referenced = 0;
   2616     int UNUSED insn_referenced = abuf->written;
   2617     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2618   }
   2619   return cycles;
   2620 #undef FLD
   2621 }
   2622 
   2623 static int
   2624 model_test_beqz (SIM_CPU *current_cpu, void *sem_arg)
   2625 {
   2626 #define FLD(f) abuf->fields.sfmt_beq.f
   2627   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2628   const IDESC * UNUSED idesc = abuf->idesc;
   2629   int cycles = 0;
   2630   {
   2631     int referenced = 0;
   2632     int UNUSED insn_referenced = abuf->written;
   2633     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2634   }
   2635   return cycles;
   2636 #undef FLD
   2637 }
   2638 
   2639 static int
   2640 model_test_bgez (SIM_CPU *current_cpu, void *sem_arg)
   2641 {
   2642 #define FLD(f) abuf->fields.sfmt_beq.f
   2643   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2644   const IDESC * UNUSED idesc = abuf->idesc;
   2645   int cycles = 0;
   2646   {
   2647     int referenced = 0;
   2648     int UNUSED insn_referenced = abuf->written;
   2649     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2650   }
   2651   return cycles;
   2652 #undef FLD
   2653 }
   2654 
   2655 static int
   2656 model_test_bgtz (SIM_CPU *current_cpu, void *sem_arg)
   2657 {
   2658 #define FLD(f) abuf->fields.sfmt_beq.f
   2659   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2660   const IDESC * UNUSED idesc = abuf->idesc;
   2661   int cycles = 0;
   2662   {
   2663     int referenced = 0;
   2664     int UNUSED insn_referenced = abuf->written;
   2665     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2666   }
   2667   return cycles;
   2668 #undef FLD
   2669 }
   2670 
   2671 static int
   2672 model_test_blez (SIM_CPU *current_cpu, void *sem_arg)
   2673 {
   2674 #define FLD(f) abuf->fields.sfmt_beq.f
   2675   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2676   const IDESC * UNUSED idesc = abuf->idesc;
   2677   int cycles = 0;
   2678   {
   2679     int referenced = 0;
   2680     int UNUSED insn_referenced = abuf->written;
   2681     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2682   }
   2683   return cycles;
   2684 #undef FLD
   2685 }
   2686 
   2687 static int
   2688 model_test_bltz (SIM_CPU *current_cpu, void *sem_arg)
   2689 {
   2690 #define FLD(f) abuf->fields.sfmt_beq.f
   2691   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2692   const IDESC * UNUSED idesc = abuf->idesc;
   2693   int cycles = 0;
   2694   {
   2695     int referenced = 0;
   2696     int UNUSED insn_referenced = abuf->written;
   2697     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2698   }
   2699   return cycles;
   2700 #undef FLD
   2701 }
   2702 
   2703 static int
   2704 model_test_bnez (SIM_CPU *current_cpu, void *sem_arg)
   2705 {
   2706 #define FLD(f) abuf->fields.sfmt_beq.f
   2707   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2708   const IDESC * UNUSED idesc = abuf->idesc;
   2709   int cycles = 0;
   2710   {
   2711     int referenced = 0;
   2712     int UNUSED insn_referenced = abuf->written;
   2713     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2714   }
   2715   return cycles;
   2716 #undef FLD
   2717 }
   2718 
   2719 static int
   2720 model_test_bl8 (SIM_CPU *current_cpu, void *sem_arg)
   2721 {
   2722 #define FLD(f) abuf->fields.sfmt_bl8.f
   2723   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2724   const IDESC * UNUSED idesc = abuf->idesc;
   2725   int cycles = 0;
   2726   {
   2727     int referenced = 0;
   2728     int UNUSED insn_referenced = abuf->written;
   2729     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2730   }
   2731   return cycles;
   2732 #undef FLD
   2733 }
   2734 
   2735 static int
   2736 model_test_bl24 (SIM_CPU *current_cpu, void *sem_arg)
   2737 {
   2738 #define FLD(f) abuf->fields.sfmt_bl24.f
   2739   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2740   const IDESC * UNUSED idesc = abuf->idesc;
   2741   int cycles = 0;
   2742   {
   2743     int referenced = 0;
   2744     int UNUSED insn_referenced = abuf->written;
   2745     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2746   }
   2747   return cycles;
   2748 #undef FLD
   2749 }
   2750 
   2751 static int
   2752 model_test_bnc8 (SIM_CPU *current_cpu, void *sem_arg)
   2753 {
   2754 #define FLD(f) abuf->fields.sfmt_bl8.f
   2755   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2756   const IDESC * UNUSED idesc = abuf->idesc;
   2757   int cycles = 0;
   2758   {
   2759     int referenced = 0;
   2760     int UNUSED insn_referenced = abuf->written;
   2761     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2762   }
   2763   return cycles;
   2764 #undef FLD
   2765 }
   2766 
   2767 static int
   2768 model_test_bnc24 (SIM_CPU *current_cpu, void *sem_arg)
   2769 {
   2770 #define FLD(f) abuf->fields.sfmt_bl24.f
   2771   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2772   const IDESC * UNUSED idesc = abuf->idesc;
   2773   int cycles = 0;
   2774   {
   2775     int referenced = 0;
   2776     int UNUSED insn_referenced = abuf->written;
   2777     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2778   }
   2779   return cycles;
   2780 #undef FLD
   2781 }
   2782 
   2783 static int
   2784 model_test_bne (SIM_CPU *current_cpu, void *sem_arg)
   2785 {
   2786 #define FLD(f) abuf->fields.sfmt_beq.f
   2787   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2788   const IDESC * UNUSED idesc = abuf->idesc;
   2789   int cycles = 0;
   2790   {
   2791     int referenced = 0;
   2792     int UNUSED insn_referenced = abuf->written;
   2793     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2794   }
   2795   return cycles;
   2796 #undef FLD
   2797 }
   2798 
   2799 static int
   2800 model_test_bra8 (SIM_CPU *current_cpu, void *sem_arg)
   2801 {
   2802 #define FLD(f) abuf->fields.sfmt_bl8.f
   2803   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2804   const IDESC * UNUSED idesc = abuf->idesc;
   2805   int cycles = 0;
   2806   {
   2807     int referenced = 0;
   2808     int UNUSED insn_referenced = abuf->written;
   2809     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2810   }
   2811   return cycles;
   2812 #undef FLD
   2813 }
   2814 
   2815 static int
   2816 model_test_bra24 (SIM_CPU *current_cpu, void *sem_arg)
   2817 {
   2818 #define FLD(f) abuf->fields.sfmt_bl24.f
   2819   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2820   const IDESC * UNUSED idesc = abuf->idesc;
   2821   int cycles = 0;
   2822   {
   2823     int referenced = 0;
   2824     int UNUSED insn_referenced = abuf->written;
   2825     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2826   }
   2827   return cycles;
   2828 #undef FLD
   2829 }
   2830 
   2831 static int
   2832 model_test_cmp (SIM_CPU *current_cpu, void *sem_arg)
   2833 {
   2834 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2835   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2836   const IDESC * UNUSED idesc = abuf->idesc;
   2837   int cycles = 0;
   2838   {
   2839     int referenced = 0;
   2840     int UNUSED insn_referenced = abuf->written;
   2841     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2842   }
   2843   return cycles;
   2844 #undef FLD
   2845 }
   2846 
   2847 static int
   2848 model_test_cmpi (SIM_CPU *current_cpu, void *sem_arg)
   2849 {
   2850 #define FLD(f) abuf->fields.sfmt_st_d.f
   2851   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2852   const IDESC * UNUSED idesc = abuf->idesc;
   2853   int cycles = 0;
   2854   {
   2855     int referenced = 0;
   2856     int UNUSED insn_referenced = abuf->written;
   2857     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2858   }
   2859   return cycles;
   2860 #undef FLD
   2861 }
   2862 
   2863 static int
   2864 model_test_cmpu (SIM_CPU *current_cpu, void *sem_arg)
   2865 {
   2866 #define FLD(f) abuf->fields.sfmt_st_plus.f
   2867   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2868   const IDESC * UNUSED idesc = abuf->idesc;
   2869   int cycles = 0;
   2870   {
   2871     int referenced = 0;
   2872     int UNUSED insn_referenced = abuf->written;
   2873     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2874   }
   2875   return cycles;
   2876 #undef FLD
   2877 }
   2878 
   2879 static int
   2880 model_test_cmpui (SIM_CPU *current_cpu, void *sem_arg)
   2881 {
   2882 #define FLD(f) abuf->fields.sfmt_st_d.f
   2883   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2884   const IDESC * UNUSED idesc = abuf->idesc;
   2885   int cycles = 0;
   2886   {
   2887     int referenced = 0;
   2888     int UNUSED insn_referenced = abuf->written;
   2889     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2890   }
   2891   return cycles;
   2892 #undef FLD
   2893 }
   2894 
   2895 static int
   2896 model_test_div (SIM_CPU *current_cpu, void *sem_arg)
   2897 {
   2898 #define FLD(f) abuf->fields.sfmt_add.f
   2899   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2900   const IDESC * UNUSED idesc = abuf->idesc;
   2901   int cycles = 0;
   2902   {
   2903     int referenced = 0;
   2904     int UNUSED insn_referenced = abuf->written;
   2905     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2906   }
   2907   return cycles;
   2908 #undef FLD
   2909 }
   2910 
   2911 static int
   2912 model_test_divu (SIM_CPU *current_cpu, void *sem_arg)
   2913 {
   2914 #define FLD(f) abuf->fields.sfmt_add.f
   2915   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2916   const IDESC * UNUSED idesc = abuf->idesc;
   2917   int cycles = 0;
   2918   {
   2919     int referenced = 0;
   2920     int UNUSED insn_referenced = abuf->written;
   2921     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2922   }
   2923   return cycles;
   2924 #undef FLD
   2925 }
   2926 
   2927 static int
   2928 model_test_rem (SIM_CPU *current_cpu, void *sem_arg)
   2929 {
   2930 #define FLD(f) abuf->fields.sfmt_add.f
   2931   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2932   const IDESC * UNUSED idesc = abuf->idesc;
   2933   int cycles = 0;
   2934   {
   2935     int referenced = 0;
   2936     int UNUSED insn_referenced = abuf->written;
   2937     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2938   }
   2939   return cycles;
   2940 #undef FLD
   2941 }
   2942 
   2943 static int
   2944 model_test_remu (SIM_CPU *current_cpu, void *sem_arg)
   2945 {
   2946 #define FLD(f) abuf->fields.sfmt_add.f
   2947   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2948   const IDESC * UNUSED idesc = abuf->idesc;
   2949   int cycles = 0;
   2950   {
   2951     int referenced = 0;
   2952     int UNUSED insn_referenced = abuf->written;
   2953     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2954   }
   2955   return cycles;
   2956 #undef FLD
   2957 }
   2958 
   2959 static int
   2960 model_test_jl (SIM_CPU *current_cpu, void *sem_arg)
   2961 {
   2962 #define FLD(f) abuf->fields.sfmt_jl.f
   2963   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2964   const IDESC * UNUSED idesc = abuf->idesc;
   2965   int cycles = 0;
   2966   {
   2967     int referenced = 0;
   2968     int UNUSED insn_referenced = abuf->written;
   2969     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2970   }
   2971   return cycles;
   2972 #undef FLD
   2973 }
   2974 
   2975 static int
   2976 model_test_jmp (SIM_CPU *current_cpu, void *sem_arg)
   2977 {
   2978 #define FLD(f) abuf->fields.sfmt_jl.f
   2979   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2980   const IDESC * UNUSED idesc = abuf->idesc;
   2981   int cycles = 0;
   2982   {
   2983     int referenced = 0;
   2984     int UNUSED insn_referenced = abuf->written;
   2985     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   2986   }
   2987   return cycles;
   2988 #undef FLD
   2989 }
   2990 
   2991 static int
   2992 model_test_ld (SIM_CPU *current_cpu, void *sem_arg)
   2993 {
   2994 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   2995   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   2996   const IDESC * UNUSED idesc = abuf->idesc;
   2997   int cycles = 0;
   2998   {
   2999     int referenced = 0;
   3000     int UNUSED insn_referenced = abuf->written;
   3001     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3002   }
   3003   return cycles;
   3004 #undef FLD
   3005 }
   3006 
   3007 static int
   3008 model_test_ld_d (SIM_CPU *current_cpu, void *sem_arg)
   3009 {
   3010 #define FLD(f) abuf->fields.sfmt_add3.f
   3011   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3012   const IDESC * UNUSED idesc = abuf->idesc;
   3013   int cycles = 0;
   3014   {
   3015     int referenced = 0;
   3016     int UNUSED insn_referenced = abuf->written;
   3017     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3018   }
   3019   return cycles;
   3020 #undef FLD
   3021 }
   3022 
   3023 static int
   3024 model_test_ldb (SIM_CPU *current_cpu, void *sem_arg)
   3025 {
   3026 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3027   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3028   const IDESC * UNUSED idesc = abuf->idesc;
   3029   int cycles = 0;
   3030   {
   3031     int referenced = 0;
   3032     int UNUSED insn_referenced = abuf->written;
   3033     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3034   }
   3035   return cycles;
   3036 #undef FLD
   3037 }
   3038 
   3039 static int
   3040 model_test_ldb_d (SIM_CPU *current_cpu, void *sem_arg)
   3041 {
   3042 #define FLD(f) abuf->fields.sfmt_add3.f
   3043   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3044   const IDESC * UNUSED idesc = abuf->idesc;
   3045   int cycles = 0;
   3046   {
   3047     int referenced = 0;
   3048     int UNUSED insn_referenced = abuf->written;
   3049     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3050   }
   3051   return cycles;
   3052 #undef FLD
   3053 }
   3054 
   3055 static int
   3056 model_test_ldh (SIM_CPU *current_cpu, void *sem_arg)
   3057 {
   3058 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3059   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3060   const IDESC * UNUSED idesc = abuf->idesc;
   3061   int cycles = 0;
   3062   {
   3063     int referenced = 0;
   3064     int UNUSED insn_referenced = abuf->written;
   3065     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3066   }
   3067   return cycles;
   3068 #undef FLD
   3069 }
   3070 
   3071 static int
   3072 model_test_ldh_d (SIM_CPU *current_cpu, void *sem_arg)
   3073 {
   3074 #define FLD(f) abuf->fields.sfmt_add3.f
   3075   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3076   const IDESC * UNUSED idesc = abuf->idesc;
   3077   int cycles = 0;
   3078   {
   3079     int referenced = 0;
   3080     int UNUSED insn_referenced = abuf->written;
   3081     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3082   }
   3083   return cycles;
   3084 #undef FLD
   3085 }
   3086 
   3087 static int
   3088 model_test_ldub (SIM_CPU *current_cpu, void *sem_arg)
   3089 {
   3090 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3091   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3092   const IDESC * UNUSED idesc = abuf->idesc;
   3093   int cycles = 0;
   3094   {
   3095     int referenced = 0;
   3096     int UNUSED insn_referenced = abuf->written;
   3097     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3098   }
   3099   return cycles;
   3100 #undef FLD
   3101 }
   3102 
   3103 static int
   3104 model_test_ldub_d (SIM_CPU *current_cpu, void *sem_arg)
   3105 {
   3106 #define FLD(f) abuf->fields.sfmt_add3.f
   3107   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3108   const IDESC * UNUSED idesc = abuf->idesc;
   3109   int cycles = 0;
   3110   {
   3111     int referenced = 0;
   3112     int UNUSED insn_referenced = abuf->written;
   3113     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3114   }
   3115   return cycles;
   3116 #undef FLD
   3117 }
   3118 
   3119 static int
   3120 model_test_lduh (SIM_CPU *current_cpu, void *sem_arg)
   3121 {
   3122 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3123   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3124   const IDESC * UNUSED idesc = abuf->idesc;
   3125   int cycles = 0;
   3126   {
   3127     int referenced = 0;
   3128     int UNUSED insn_referenced = abuf->written;
   3129     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3130   }
   3131   return cycles;
   3132 #undef FLD
   3133 }
   3134 
   3135 static int
   3136 model_test_lduh_d (SIM_CPU *current_cpu, void *sem_arg)
   3137 {
   3138 #define FLD(f) abuf->fields.sfmt_add3.f
   3139   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3140   const IDESC * UNUSED idesc = abuf->idesc;
   3141   int cycles = 0;
   3142   {
   3143     int referenced = 0;
   3144     int UNUSED insn_referenced = abuf->written;
   3145     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3146   }
   3147   return cycles;
   3148 #undef FLD
   3149 }
   3150 
   3151 static int
   3152 model_test_ld_plus (SIM_CPU *current_cpu, void *sem_arg)
   3153 {
   3154 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3155   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3156   const IDESC * UNUSED idesc = abuf->idesc;
   3157   int cycles = 0;
   3158   {
   3159     int referenced = 0;
   3160     int UNUSED insn_referenced = abuf->written;
   3161     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3162   }
   3163   return cycles;
   3164 #undef FLD
   3165 }
   3166 
   3167 static int
   3168 model_test_ld24 (SIM_CPU *current_cpu, void *sem_arg)
   3169 {
   3170 #define FLD(f) abuf->fields.sfmt_ld24.f
   3171   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3172   const IDESC * UNUSED idesc = abuf->idesc;
   3173   int cycles = 0;
   3174   {
   3175     int referenced = 0;
   3176     int UNUSED insn_referenced = abuf->written;
   3177     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3178   }
   3179   return cycles;
   3180 #undef FLD
   3181 }
   3182 
   3183 static int
   3184 model_test_ldi8 (SIM_CPU *current_cpu, void *sem_arg)
   3185 {
   3186 #define FLD(f) abuf->fields.sfmt_addi.f
   3187   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3188   const IDESC * UNUSED idesc = abuf->idesc;
   3189   int cycles = 0;
   3190   {
   3191     int referenced = 0;
   3192     int UNUSED insn_referenced = abuf->written;
   3193     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3194   }
   3195   return cycles;
   3196 #undef FLD
   3197 }
   3198 
   3199 static int
   3200 model_test_ldi16 (SIM_CPU *current_cpu, void *sem_arg)
   3201 {
   3202 #define FLD(f) abuf->fields.sfmt_add3.f
   3203   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3204   const IDESC * UNUSED idesc = abuf->idesc;
   3205   int cycles = 0;
   3206   {
   3207     int referenced = 0;
   3208     int UNUSED insn_referenced = abuf->written;
   3209     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3210   }
   3211   return cycles;
   3212 #undef FLD
   3213 }
   3214 
   3215 static int
   3216 model_test_lock (SIM_CPU *current_cpu, void *sem_arg)
   3217 {
   3218 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3219   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3220   const IDESC * UNUSED idesc = abuf->idesc;
   3221   int cycles = 0;
   3222   {
   3223     int referenced = 0;
   3224     int UNUSED insn_referenced = abuf->written;
   3225     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3226   }
   3227   return cycles;
   3228 #undef FLD
   3229 }
   3230 
   3231 static int
   3232 model_test_machi (SIM_CPU *current_cpu, void *sem_arg)
   3233 {
   3234 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3235   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3236   const IDESC * UNUSED idesc = abuf->idesc;
   3237   int cycles = 0;
   3238   {
   3239     int referenced = 0;
   3240     int UNUSED insn_referenced = abuf->written;
   3241     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3242   }
   3243   return cycles;
   3244 #undef FLD
   3245 }
   3246 
   3247 static int
   3248 model_test_maclo (SIM_CPU *current_cpu, void *sem_arg)
   3249 {
   3250 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3251   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3252   const IDESC * UNUSED idesc = abuf->idesc;
   3253   int cycles = 0;
   3254   {
   3255     int referenced = 0;
   3256     int UNUSED insn_referenced = abuf->written;
   3257     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3258   }
   3259   return cycles;
   3260 #undef FLD
   3261 }
   3262 
   3263 static int
   3264 model_test_macwhi (SIM_CPU *current_cpu, void *sem_arg)
   3265 {
   3266 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3267   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3268   const IDESC * UNUSED idesc = abuf->idesc;
   3269   int cycles = 0;
   3270   {
   3271     int referenced = 0;
   3272     int UNUSED insn_referenced = abuf->written;
   3273     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3274   }
   3275   return cycles;
   3276 #undef FLD
   3277 }
   3278 
   3279 static int
   3280 model_test_macwlo (SIM_CPU *current_cpu, void *sem_arg)
   3281 {
   3282 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3283   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3284   const IDESC * UNUSED idesc = abuf->idesc;
   3285   int cycles = 0;
   3286   {
   3287     int referenced = 0;
   3288     int UNUSED insn_referenced = abuf->written;
   3289     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3290   }
   3291   return cycles;
   3292 #undef FLD
   3293 }
   3294 
   3295 static int
   3296 model_test_mul (SIM_CPU *current_cpu, void *sem_arg)
   3297 {
   3298 #define FLD(f) abuf->fields.sfmt_add.f
   3299   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3300   const IDESC * UNUSED idesc = abuf->idesc;
   3301   int cycles = 0;
   3302   {
   3303     int referenced = 0;
   3304     int UNUSED insn_referenced = abuf->written;
   3305     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3306   }
   3307   return cycles;
   3308 #undef FLD
   3309 }
   3310 
   3311 static int
   3312 model_test_mulhi (SIM_CPU *current_cpu, void *sem_arg)
   3313 {
   3314 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3315   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3316   const IDESC * UNUSED idesc = abuf->idesc;
   3317   int cycles = 0;
   3318   {
   3319     int referenced = 0;
   3320     int UNUSED insn_referenced = abuf->written;
   3321     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3322   }
   3323   return cycles;
   3324 #undef FLD
   3325 }
   3326 
   3327 static int
   3328 model_test_mullo (SIM_CPU *current_cpu, void *sem_arg)
   3329 {
   3330 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3331   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3332   const IDESC * UNUSED idesc = abuf->idesc;
   3333   int cycles = 0;
   3334   {
   3335     int referenced = 0;
   3336     int UNUSED insn_referenced = abuf->written;
   3337     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3338   }
   3339   return cycles;
   3340 #undef FLD
   3341 }
   3342 
   3343 static int
   3344 model_test_mulwhi (SIM_CPU *current_cpu, void *sem_arg)
   3345 {
   3346 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3347   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3348   const IDESC * UNUSED idesc = abuf->idesc;
   3349   int cycles = 0;
   3350   {
   3351     int referenced = 0;
   3352     int UNUSED insn_referenced = abuf->written;
   3353     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3354   }
   3355   return cycles;
   3356 #undef FLD
   3357 }
   3358 
   3359 static int
   3360 model_test_mulwlo (SIM_CPU *current_cpu, void *sem_arg)
   3361 {
   3362 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3363   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3364   const IDESC * UNUSED idesc = abuf->idesc;
   3365   int cycles = 0;
   3366   {
   3367     int referenced = 0;
   3368     int UNUSED insn_referenced = abuf->written;
   3369     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3370   }
   3371   return cycles;
   3372 #undef FLD
   3373 }
   3374 
   3375 static int
   3376 model_test_mv (SIM_CPU *current_cpu, void *sem_arg)
   3377 {
   3378 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3379   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3380   const IDESC * UNUSED idesc = abuf->idesc;
   3381   int cycles = 0;
   3382   {
   3383     int referenced = 0;
   3384     int UNUSED insn_referenced = abuf->written;
   3385     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3386   }
   3387   return cycles;
   3388 #undef FLD
   3389 }
   3390 
   3391 static int
   3392 model_test_mvfachi (SIM_CPU *current_cpu, void *sem_arg)
   3393 {
   3394 #define FLD(f) abuf->fields.sfmt_seth.f
   3395   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3396   const IDESC * UNUSED idesc = abuf->idesc;
   3397   int cycles = 0;
   3398   {
   3399     int referenced = 0;
   3400     int UNUSED insn_referenced = abuf->written;
   3401     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3402   }
   3403   return cycles;
   3404 #undef FLD
   3405 }
   3406 
   3407 static int
   3408 model_test_mvfaclo (SIM_CPU *current_cpu, void *sem_arg)
   3409 {
   3410 #define FLD(f) abuf->fields.sfmt_seth.f
   3411   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3412   const IDESC * UNUSED idesc = abuf->idesc;
   3413   int cycles = 0;
   3414   {
   3415     int referenced = 0;
   3416     int UNUSED insn_referenced = abuf->written;
   3417     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3418   }
   3419   return cycles;
   3420 #undef FLD
   3421 }
   3422 
   3423 static int
   3424 model_test_mvfacmi (SIM_CPU *current_cpu, void *sem_arg)
   3425 {
   3426 #define FLD(f) abuf->fields.sfmt_seth.f
   3427   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3428   const IDESC * UNUSED idesc = abuf->idesc;
   3429   int cycles = 0;
   3430   {
   3431     int referenced = 0;
   3432     int UNUSED insn_referenced = abuf->written;
   3433     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3434   }
   3435   return cycles;
   3436 #undef FLD
   3437 }
   3438 
   3439 static int
   3440 model_test_mvfc (SIM_CPU *current_cpu, void *sem_arg)
   3441 {
   3442 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3443   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3444   const IDESC * UNUSED idesc = abuf->idesc;
   3445   int cycles = 0;
   3446   {
   3447     int referenced = 0;
   3448     int UNUSED insn_referenced = abuf->written;
   3449     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3450   }
   3451   return cycles;
   3452 #undef FLD
   3453 }
   3454 
   3455 static int
   3456 model_test_mvtachi (SIM_CPU *current_cpu, void *sem_arg)
   3457 {
   3458 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3459   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3460   const IDESC * UNUSED idesc = abuf->idesc;
   3461   int cycles = 0;
   3462   {
   3463     int referenced = 0;
   3464     int UNUSED insn_referenced = abuf->written;
   3465     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3466   }
   3467   return cycles;
   3468 #undef FLD
   3469 }
   3470 
   3471 static int
   3472 model_test_mvtaclo (SIM_CPU *current_cpu, void *sem_arg)
   3473 {
   3474 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3475   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3476   const IDESC * UNUSED idesc = abuf->idesc;
   3477   int cycles = 0;
   3478   {
   3479     int referenced = 0;
   3480     int UNUSED insn_referenced = abuf->written;
   3481     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3482   }
   3483   return cycles;
   3484 #undef FLD
   3485 }
   3486 
   3487 static int
   3488 model_test_mvtc (SIM_CPU *current_cpu, void *sem_arg)
   3489 {
   3490 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3491   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3492   const IDESC * UNUSED idesc = abuf->idesc;
   3493   int cycles = 0;
   3494   {
   3495     int referenced = 0;
   3496     int UNUSED insn_referenced = abuf->written;
   3497     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3498   }
   3499   return cycles;
   3500 #undef FLD
   3501 }
   3502 
   3503 static int
   3504 model_test_neg (SIM_CPU *current_cpu, void *sem_arg)
   3505 {
   3506 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3507   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3508   const IDESC * UNUSED idesc = abuf->idesc;
   3509   int cycles = 0;
   3510   {
   3511     int referenced = 0;
   3512     int UNUSED insn_referenced = abuf->written;
   3513     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3514   }
   3515   return cycles;
   3516 #undef FLD
   3517 }
   3518 
   3519 static int
   3520 model_test_nop (SIM_CPU *current_cpu, void *sem_arg)
   3521 {
   3522 #define FLD(f) abuf->fields.sfmt_empty.f
   3523   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3524   const IDESC * UNUSED idesc = abuf->idesc;
   3525   int cycles = 0;
   3526   {
   3527     int referenced = 0;
   3528     int UNUSED insn_referenced = abuf->written;
   3529     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3530   }
   3531   return cycles;
   3532 #undef FLD
   3533 }
   3534 
   3535 static int
   3536 model_test_not (SIM_CPU *current_cpu, void *sem_arg)
   3537 {
   3538 #define FLD(f) abuf->fields.sfmt_ld_plus.f
   3539   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3540   const IDESC * UNUSED idesc = abuf->idesc;
   3541   int cycles = 0;
   3542   {
   3543     int referenced = 0;
   3544     int UNUSED insn_referenced = abuf->written;
   3545     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3546   }
   3547   return cycles;
   3548 #undef FLD
   3549 }
   3550 
   3551 static int
   3552 model_test_rac (SIM_CPU *current_cpu, void *sem_arg)
   3553 {
   3554 #define FLD(f) abuf->fields.sfmt_empty.f
   3555   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3556   const IDESC * UNUSED idesc = abuf->idesc;
   3557   int cycles = 0;
   3558   {
   3559     int referenced = 0;
   3560     int UNUSED insn_referenced = abuf->written;
   3561     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3562   }
   3563   return cycles;
   3564 #undef FLD
   3565 }
   3566 
   3567 static int
   3568 model_test_rach (SIM_CPU *current_cpu, void *sem_arg)
   3569 {
   3570 #define FLD(f) abuf->fields.sfmt_empty.f
   3571   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3572   const IDESC * UNUSED idesc = abuf->idesc;
   3573   int cycles = 0;
   3574   {
   3575     int referenced = 0;
   3576     int UNUSED insn_referenced = abuf->written;
   3577     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3578   }
   3579   return cycles;
   3580 #undef FLD
   3581 }
   3582 
   3583 static int
   3584 model_test_rte (SIM_CPU *current_cpu, void *sem_arg)
   3585 {
   3586 #define FLD(f) abuf->fields.sfmt_empty.f
   3587   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3588   const IDESC * UNUSED idesc = abuf->idesc;
   3589   int cycles = 0;
   3590   {
   3591     int referenced = 0;
   3592     int UNUSED insn_referenced = abuf->written;
   3593     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3594   }
   3595   return cycles;
   3596 #undef FLD
   3597 }
   3598 
   3599 static int
   3600 model_test_seth (SIM_CPU *current_cpu, void *sem_arg)
   3601 {
   3602 #define FLD(f) abuf->fields.sfmt_seth.f
   3603   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3604   const IDESC * UNUSED idesc = abuf->idesc;
   3605   int cycles = 0;
   3606   {
   3607     int referenced = 0;
   3608     int UNUSED insn_referenced = abuf->written;
   3609     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3610   }
   3611   return cycles;
   3612 #undef FLD
   3613 }
   3614 
   3615 static int
   3616 model_test_sll (SIM_CPU *current_cpu, void *sem_arg)
   3617 {
   3618 #define FLD(f) abuf->fields.sfmt_add.f
   3619   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3620   const IDESC * UNUSED idesc = abuf->idesc;
   3621   int cycles = 0;
   3622   {
   3623     int referenced = 0;
   3624     int UNUSED insn_referenced = abuf->written;
   3625     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3626   }
   3627   return cycles;
   3628 #undef FLD
   3629 }
   3630 
   3631 static int
   3632 model_test_sll3 (SIM_CPU *current_cpu, void *sem_arg)
   3633 {
   3634 #define FLD(f) abuf->fields.sfmt_add3.f
   3635   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3636   const IDESC * UNUSED idesc = abuf->idesc;
   3637   int cycles = 0;
   3638   {
   3639     int referenced = 0;
   3640     int UNUSED insn_referenced = abuf->written;
   3641     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3642   }
   3643   return cycles;
   3644 #undef FLD
   3645 }
   3646 
   3647 static int
   3648 model_test_slli (SIM_CPU *current_cpu, void *sem_arg)
   3649 {
   3650 #define FLD(f) abuf->fields.sfmt_slli.f
   3651   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3652   const IDESC * UNUSED idesc = abuf->idesc;
   3653   int cycles = 0;
   3654   {
   3655     int referenced = 0;
   3656     int UNUSED insn_referenced = abuf->written;
   3657     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3658   }
   3659   return cycles;
   3660 #undef FLD
   3661 }
   3662 
   3663 static int
   3664 model_test_sra (SIM_CPU *current_cpu, void *sem_arg)
   3665 {
   3666 #define FLD(f) abuf->fields.sfmt_add.f
   3667   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3668   const IDESC * UNUSED idesc = abuf->idesc;
   3669   int cycles = 0;
   3670   {
   3671     int referenced = 0;
   3672     int UNUSED insn_referenced = abuf->written;
   3673     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3674   }
   3675   return cycles;
   3676 #undef FLD
   3677 }
   3678 
   3679 static int
   3680 model_test_sra3 (SIM_CPU *current_cpu, void *sem_arg)
   3681 {
   3682 #define FLD(f) abuf->fields.sfmt_add3.f
   3683   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3684   const IDESC * UNUSED idesc = abuf->idesc;
   3685   int cycles = 0;
   3686   {
   3687     int referenced = 0;
   3688     int UNUSED insn_referenced = abuf->written;
   3689     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3690   }
   3691   return cycles;
   3692 #undef FLD
   3693 }
   3694 
   3695 static int
   3696 model_test_srai (SIM_CPU *current_cpu, void *sem_arg)
   3697 {
   3698 #define FLD(f) abuf->fields.sfmt_slli.f
   3699   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3700   const IDESC * UNUSED idesc = abuf->idesc;
   3701   int cycles = 0;
   3702   {
   3703     int referenced = 0;
   3704     int UNUSED insn_referenced = abuf->written;
   3705     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3706   }
   3707   return cycles;
   3708 #undef FLD
   3709 }
   3710 
   3711 static int
   3712 model_test_srl (SIM_CPU *current_cpu, void *sem_arg)
   3713 {
   3714 #define FLD(f) abuf->fields.sfmt_add.f
   3715   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3716   const IDESC * UNUSED idesc = abuf->idesc;
   3717   int cycles = 0;
   3718   {
   3719     int referenced = 0;
   3720     int UNUSED insn_referenced = abuf->written;
   3721     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3722   }
   3723   return cycles;
   3724 #undef FLD
   3725 }
   3726 
   3727 static int
   3728 model_test_srl3 (SIM_CPU *current_cpu, void *sem_arg)
   3729 {
   3730 #define FLD(f) abuf->fields.sfmt_add3.f
   3731   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3732   const IDESC * UNUSED idesc = abuf->idesc;
   3733   int cycles = 0;
   3734   {
   3735     int referenced = 0;
   3736     int UNUSED insn_referenced = abuf->written;
   3737     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3738   }
   3739   return cycles;
   3740 #undef FLD
   3741 }
   3742 
   3743 static int
   3744 model_test_srli (SIM_CPU *current_cpu, void *sem_arg)
   3745 {
   3746 #define FLD(f) abuf->fields.sfmt_slli.f
   3747   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3748   const IDESC * UNUSED idesc = abuf->idesc;
   3749   int cycles = 0;
   3750   {
   3751     int referenced = 0;
   3752     int UNUSED insn_referenced = abuf->written;
   3753     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3754   }
   3755   return cycles;
   3756 #undef FLD
   3757 }
   3758 
   3759 static int
   3760 model_test_st (SIM_CPU *current_cpu, void *sem_arg)
   3761 {
   3762 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3763   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3764   const IDESC * UNUSED idesc = abuf->idesc;
   3765   int cycles = 0;
   3766   {
   3767     int referenced = 0;
   3768     int UNUSED insn_referenced = abuf->written;
   3769     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3770   }
   3771   return cycles;
   3772 #undef FLD
   3773 }
   3774 
   3775 static int
   3776 model_test_st_d (SIM_CPU *current_cpu, void *sem_arg)
   3777 {
   3778 #define FLD(f) abuf->fields.sfmt_st_d.f
   3779   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3780   const IDESC * UNUSED idesc = abuf->idesc;
   3781   int cycles = 0;
   3782   {
   3783     int referenced = 0;
   3784     int UNUSED insn_referenced = abuf->written;
   3785     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3786   }
   3787   return cycles;
   3788 #undef FLD
   3789 }
   3790 
   3791 static int
   3792 model_test_stb (SIM_CPU *current_cpu, void *sem_arg)
   3793 {
   3794 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3795   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3796   const IDESC * UNUSED idesc = abuf->idesc;
   3797   int cycles = 0;
   3798   {
   3799     int referenced = 0;
   3800     int UNUSED insn_referenced = abuf->written;
   3801     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3802   }
   3803   return cycles;
   3804 #undef FLD
   3805 }
   3806 
   3807 static int
   3808 model_test_stb_d (SIM_CPU *current_cpu, void *sem_arg)
   3809 {
   3810 #define FLD(f) abuf->fields.sfmt_st_d.f
   3811   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3812   const IDESC * UNUSED idesc = abuf->idesc;
   3813   int cycles = 0;
   3814   {
   3815     int referenced = 0;
   3816     int UNUSED insn_referenced = abuf->written;
   3817     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3818   }
   3819   return cycles;
   3820 #undef FLD
   3821 }
   3822 
   3823 static int
   3824 model_test_sth (SIM_CPU *current_cpu, void *sem_arg)
   3825 {
   3826 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3827   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3828   const IDESC * UNUSED idesc = abuf->idesc;
   3829   int cycles = 0;
   3830   {
   3831     int referenced = 0;
   3832     int UNUSED insn_referenced = abuf->written;
   3833     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3834   }
   3835   return cycles;
   3836 #undef FLD
   3837 }
   3838 
   3839 static int
   3840 model_test_sth_d (SIM_CPU *current_cpu, void *sem_arg)
   3841 {
   3842 #define FLD(f) abuf->fields.sfmt_st_d.f
   3843   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3844   const IDESC * UNUSED idesc = abuf->idesc;
   3845   int cycles = 0;
   3846   {
   3847     int referenced = 0;
   3848     int UNUSED insn_referenced = abuf->written;
   3849     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3850   }
   3851   return cycles;
   3852 #undef FLD
   3853 }
   3854 
   3855 static int
   3856 model_test_st_plus (SIM_CPU *current_cpu, void *sem_arg)
   3857 {
   3858 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3859   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3860   const IDESC * UNUSED idesc = abuf->idesc;
   3861   int cycles = 0;
   3862   {
   3863     int referenced = 0;
   3864     int UNUSED insn_referenced = abuf->written;
   3865     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3866   }
   3867   return cycles;
   3868 #undef FLD
   3869 }
   3870 
   3871 static int
   3872 model_test_st_minus (SIM_CPU *current_cpu, void *sem_arg)
   3873 {
   3874 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3875   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3876   const IDESC * UNUSED idesc = abuf->idesc;
   3877   int cycles = 0;
   3878   {
   3879     int referenced = 0;
   3880     int UNUSED insn_referenced = abuf->written;
   3881     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3882   }
   3883   return cycles;
   3884 #undef FLD
   3885 }
   3886 
   3887 static int
   3888 model_test_sub (SIM_CPU *current_cpu, void *sem_arg)
   3889 {
   3890 #define FLD(f) abuf->fields.sfmt_add.f
   3891   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3892   const IDESC * UNUSED idesc = abuf->idesc;
   3893   int cycles = 0;
   3894   {
   3895     int referenced = 0;
   3896     int UNUSED insn_referenced = abuf->written;
   3897     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3898   }
   3899   return cycles;
   3900 #undef FLD
   3901 }
   3902 
   3903 static int
   3904 model_test_subv (SIM_CPU *current_cpu, void *sem_arg)
   3905 {
   3906 #define FLD(f) abuf->fields.sfmt_add.f
   3907   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3908   const IDESC * UNUSED idesc = abuf->idesc;
   3909   int cycles = 0;
   3910   {
   3911     int referenced = 0;
   3912     int UNUSED insn_referenced = abuf->written;
   3913     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3914   }
   3915   return cycles;
   3916 #undef FLD
   3917 }
   3918 
   3919 static int
   3920 model_test_subx (SIM_CPU *current_cpu, void *sem_arg)
   3921 {
   3922 #define FLD(f) abuf->fields.sfmt_add.f
   3923   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3924   const IDESC * UNUSED idesc = abuf->idesc;
   3925   int cycles = 0;
   3926   {
   3927     int referenced = 0;
   3928     int UNUSED insn_referenced = abuf->written;
   3929     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3930   }
   3931   return cycles;
   3932 #undef FLD
   3933 }
   3934 
   3935 static int
   3936 model_test_trap (SIM_CPU *current_cpu, void *sem_arg)
   3937 {
   3938 #define FLD(f) abuf->fields.sfmt_trap.f
   3939   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3940   const IDESC * UNUSED idesc = abuf->idesc;
   3941   int cycles = 0;
   3942   {
   3943     int referenced = 0;
   3944     int UNUSED insn_referenced = abuf->written;
   3945     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3946   }
   3947   return cycles;
   3948 #undef FLD
   3949 }
   3950 
   3951 static int
   3952 model_test_unlock (SIM_CPU *current_cpu, void *sem_arg)
   3953 {
   3954 #define FLD(f) abuf->fields.sfmt_st_plus.f
   3955   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3956   const IDESC * UNUSED idesc = abuf->idesc;
   3957   int cycles = 0;
   3958   {
   3959     int referenced = 0;
   3960     int UNUSED insn_referenced = abuf->written;
   3961     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3962   }
   3963   return cycles;
   3964 #undef FLD
   3965 }
   3966 
   3967 static int
   3968 model_test_clrpsw (SIM_CPU *current_cpu, void *sem_arg)
   3969 {
   3970 #define FLD(f) abuf->fields.sfmt_clrpsw.f
   3971   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3972   const IDESC * UNUSED idesc = abuf->idesc;
   3973   int cycles = 0;
   3974   {
   3975     int referenced = 0;
   3976     int UNUSED insn_referenced = abuf->written;
   3977     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3978   }
   3979   return cycles;
   3980 #undef FLD
   3981 }
   3982 
   3983 static int
   3984 model_test_setpsw (SIM_CPU *current_cpu, void *sem_arg)
   3985 {
   3986 #define FLD(f) abuf->fields.sfmt_clrpsw.f
   3987   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   3988   const IDESC * UNUSED idesc = abuf->idesc;
   3989   int cycles = 0;
   3990   {
   3991     int referenced = 0;
   3992     int UNUSED insn_referenced = abuf->written;
   3993     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   3994   }
   3995   return cycles;
   3996 #undef FLD
   3997 }
   3998 
   3999 static int
   4000 model_test_bset (SIM_CPU *current_cpu, void *sem_arg)
   4001 {
   4002 #define FLD(f) abuf->fields.sfmt_bset.f
   4003   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   4004   const IDESC * UNUSED idesc = abuf->idesc;
   4005   int cycles = 0;
   4006   {
   4007     int referenced = 0;
   4008     int UNUSED insn_referenced = abuf->written;
   4009     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   4010   }
   4011   return cycles;
   4012 #undef FLD
   4013 }
   4014 
   4015 static int
   4016 model_test_bclr (SIM_CPU *current_cpu, void *sem_arg)
   4017 {
   4018 #define FLD(f) abuf->fields.sfmt_bset.f
   4019   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   4020   const IDESC * UNUSED idesc = abuf->idesc;
   4021   int cycles = 0;
   4022   {
   4023     int referenced = 0;
   4024     int UNUSED insn_referenced = abuf->written;
   4025     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   4026   }
   4027   return cycles;
   4028 #undef FLD
   4029 }
   4030 
   4031 static int
   4032 model_test_btst (SIM_CPU *current_cpu, void *sem_arg)
   4033 {
   4034 #define FLD(f) abuf->fields.sfmt_bset.f
   4035   const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg);
   4036   const IDESC * UNUSED idesc = abuf->idesc;
   4037   int cycles = 0;
   4038   {
   4039     int referenced = 0;
   4040     int UNUSED insn_referenced = abuf->written;
   4041     cycles += m32rbf_model_test_u_exec (current_cpu, idesc, 0, referenced);
   4042   }
   4043   return cycles;
   4044 #undef FLD
   4045 }
   4046 
   4047 /* We assume UNIT_NONE == 0 because the tables don't always terminate
   4048    entries with it.  */
   4049 
   4050 /* Model timing data for `m32r/d'.  */
   4051 
   4052 static const INSN_TIMING m32r_d_timing[] = {
   4053   { M32RBF_INSN_X_INVALID, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4054   { M32RBF_INSN_X_AFTER, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4055   { M32RBF_INSN_X_BEFORE, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4056   { M32RBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4057   { M32RBF_INSN_X_CHAIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4058   { M32RBF_INSN_X_BEGIN, 0, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4059   { M32RBF_INSN_ADD, model_m32r_d_add, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4060   { M32RBF_INSN_ADD3, model_m32r_d_add3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4061   { M32RBF_INSN_AND, model_m32r_d_and, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4062   { M32RBF_INSN_AND3, model_m32r_d_and3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4063   { M32RBF_INSN_OR, model_m32r_d_or, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4064   { M32RBF_INSN_OR3, model_m32r_d_or3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4065   { M32RBF_INSN_XOR, model_m32r_d_xor, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4066   { M32RBF_INSN_XOR3, model_m32r_d_xor3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4067   { M32RBF_INSN_ADDI, model_m32r_d_addi, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4068   { M32RBF_INSN_ADDV, model_m32r_d_addv, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4069   { M32RBF_INSN_ADDV3, model_m32r_d_addv3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4070   { M32RBF_INSN_ADDX, model_m32r_d_addx, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4071   { M32RBF_INSN_BC8, model_m32r_d_bc8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4072   { M32RBF_INSN_BC24, model_m32r_d_bc24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4073   { M32RBF_INSN_BEQ, model_m32r_d_beq, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4074   { M32RBF_INSN_BEQZ, model_m32r_d_beqz, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4075   { M32RBF_INSN_BGEZ, model_m32r_d_bgez, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4076   { M32RBF_INSN_BGTZ, model_m32r_d_bgtz, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4077   { M32RBF_INSN_BLEZ, model_m32r_d_blez, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4078   { M32RBF_INSN_BLTZ, model_m32r_d_bltz, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4079   { M32RBF_INSN_BNEZ, model_m32r_d_bnez, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4080   { M32RBF_INSN_BL8, model_m32r_d_bl8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4081   { M32RBF_INSN_BL24, model_m32r_d_bl24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4082   { M32RBF_INSN_BNC8, model_m32r_d_bnc8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4083   { M32RBF_INSN_BNC24, model_m32r_d_bnc24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4084   { M32RBF_INSN_BNE, model_m32r_d_bne, { { (int) UNIT_M32R_D_U_CTI, 1, 1 }, { (int) UNIT_M32R_D_U_CMP, 1, 0 } } },
   4085   { M32RBF_INSN_BRA8, model_m32r_d_bra8, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4086   { M32RBF_INSN_BRA24, model_m32r_d_bra24, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4087   { M32RBF_INSN_CMP, model_m32r_d_cmp, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
   4088   { M32RBF_INSN_CMPI, model_m32r_d_cmpi, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
   4089   { M32RBF_INSN_CMPU, model_m32r_d_cmpu, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
   4090   { M32RBF_INSN_CMPUI, model_m32r_d_cmpui, { { (int) UNIT_M32R_D_U_CMP, 1, 1 } } },
   4091   { M32RBF_INSN_DIV, model_m32r_d_div, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
   4092   { M32RBF_INSN_DIVU, model_m32r_d_divu, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
   4093   { M32RBF_INSN_REM, model_m32r_d_rem, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
   4094   { M32RBF_INSN_REMU, model_m32r_d_remu, { { (int) UNIT_M32R_D_U_EXEC, 1, 37 } } },
   4095   { M32RBF_INSN_JL, model_m32r_d_jl, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4096   { M32RBF_INSN_JMP, model_m32r_d_jmp, { { (int) UNIT_M32R_D_U_CTI, 1, 1 } } },
   4097   { M32RBF_INSN_LD, model_m32r_d_ld, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4098   { M32RBF_INSN_LD_D, model_m32r_d_ld_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
   4099   { M32RBF_INSN_LDB, model_m32r_d_ldb, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4100   { M32RBF_INSN_LDB_D, model_m32r_d_ldb_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
   4101   { M32RBF_INSN_LDH, model_m32r_d_ldh, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4102   { M32RBF_INSN_LDH_D, model_m32r_d_ldh_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
   4103   { M32RBF_INSN_LDUB, model_m32r_d_ldub, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4104   { M32RBF_INSN_LDUB_D, model_m32r_d_ldub_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
   4105   { M32RBF_INSN_LDUH, model_m32r_d_lduh, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4106   { M32RBF_INSN_LDUH_D, model_m32r_d_lduh_d, { { (int) UNIT_M32R_D_U_LOAD, 1, 2 } } },
   4107   { M32RBF_INSN_LD_PLUS, model_m32r_d_ld_plus, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
   4108   { M32RBF_INSN_LD24, model_m32r_d_ld24, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4109   { M32RBF_INSN_LDI8, model_m32r_d_ldi8, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4110   { M32RBF_INSN_LDI16, model_m32r_d_ldi16, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4111   { M32RBF_INSN_LOCK, model_m32r_d_lock, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4112   { M32RBF_INSN_MACHI, model_m32r_d_machi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4113   { M32RBF_INSN_MACLO, model_m32r_d_maclo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4114   { M32RBF_INSN_MACWHI, model_m32r_d_macwhi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4115   { M32RBF_INSN_MACWLO, model_m32r_d_macwlo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4116   { M32RBF_INSN_MUL, model_m32r_d_mul, { { (int) UNIT_M32R_D_U_EXEC, 1, 4 } } },
   4117   { M32RBF_INSN_MULHI, model_m32r_d_mulhi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4118   { M32RBF_INSN_MULLO, model_m32r_d_mullo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4119   { M32RBF_INSN_MULWHI, model_m32r_d_mulwhi, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4120   { M32RBF_INSN_MULWLO, model_m32r_d_mulwlo, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4121   { M32RBF_INSN_MV, model_m32r_d_mv, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4122   { M32RBF_INSN_MVFACHI, model_m32r_d_mvfachi, { { (int) UNIT_M32R_D_U_EXEC, 1, 2 } } },
   4123   { M32RBF_INSN_MVFACLO, model_m32r_d_mvfaclo, { { (int) UNIT_M32R_D_U_EXEC, 1, 2 } } },
   4124   { M32RBF_INSN_MVFACMI, model_m32r_d_mvfacmi, { { (int) UNIT_M32R_D_U_EXEC, 1, 2 } } },
   4125   { M32RBF_INSN_MVFC, model_m32r_d_mvfc, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4126   { M32RBF_INSN_MVTACHI, model_m32r_d_mvtachi, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4127   { M32RBF_INSN_MVTACLO, model_m32r_d_mvtaclo, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4128   { M32RBF_INSN_MVTC, model_m32r_d_mvtc, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4129   { M32RBF_INSN_NEG, model_m32r_d_neg, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4130   { M32RBF_INSN_NOP, model_m32r_d_nop, { { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
   4131   { M32RBF_INSN_NOT, model_m32r_d_not, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4132   { M32RBF_INSN_RAC, model_m32r_d_rac, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4133   { M32RBF_INSN_RACH, model_m32r_d_rach, { { (int) UNIT_M32R_D_U_MAC, 1, 1 } } },
   4134   { M32RBF_INSN_RTE, model_m32r_d_rte, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4135   { M32RBF_INSN_SETH, model_m32r_d_seth, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4136   { M32RBF_INSN_SLL, model_m32r_d_sll, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4137   { M32RBF_INSN_SLL3, model_m32r_d_sll3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4138   { M32RBF_INSN_SLLI, model_m32r_d_slli, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4139   { M32RBF_INSN_SRA, model_m32r_d_sra, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4140   { M32RBF_INSN_SRA3, model_m32r_d_sra3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4141   { M32RBF_INSN_SRAI, model_m32r_d_srai, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4142   { M32RBF_INSN_SRL, model_m32r_d_srl, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4143   { M32RBF_INSN_SRL3, model_m32r_d_srl3, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4144   { M32RBF_INSN_SRLI, model_m32r_d_srli, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4145   { M32RBF_INSN_ST, model_m32r_d_st, { { (int) UNIT_M32R_D_U_STORE, 1, 1 } } },
   4146   { M32RBF_INSN_ST_D, model_m32r_d_st_d, { { (int) UNIT_M32R_D_U_STORE, 1, 2 } } },
   4147   { M32RBF_INSN_STB, model_m32r_d_stb, { { (int) UNIT_M32R_D_U_STORE, 1, 1 } } },
   4148   { M32RBF_INSN_STB_D, model_m32r_d_stb_d, { { (int) UNIT_M32R_D_U_STORE, 1, 2 } } },
   4149   { M32RBF_INSN_STH, model_m32r_d_sth, { { (int) UNIT_M32R_D_U_STORE, 1, 1 } } },
   4150   { M32RBF_INSN_STH_D, model_m32r_d_sth_d, { { (int) UNIT_M32R_D_U_STORE, 1, 2 } } },
   4151   { M32RBF_INSN_ST_PLUS, model_m32r_d_st_plus, { { (int) UNIT_M32R_D_U_STORE, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
   4152   { M32RBF_INSN_ST_MINUS, model_m32r_d_st_minus, { { (int) UNIT_M32R_D_U_STORE, 1, 1 }, { (int) UNIT_M32R_D_U_EXEC, 1, 0 } } },
   4153   { M32RBF_INSN_SUB, model_m32r_d_sub, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4154   { M32RBF_INSN_SUBV, model_m32r_d_subv, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4155   { M32RBF_INSN_SUBX, model_m32r_d_subx, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4156   { M32RBF_INSN_TRAP, model_m32r_d_trap, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4157   { M32RBF_INSN_UNLOCK, model_m32r_d_unlock, { { (int) UNIT_M32R_D_U_LOAD, 1, 1 } } },
   4158   { M32RBF_INSN_CLRPSW, model_m32r_d_clrpsw, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4159   { M32RBF_INSN_SETPSW, model_m32r_d_setpsw, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4160   { M32RBF_INSN_BSET, model_m32r_d_bset, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4161   { M32RBF_INSN_BCLR, model_m32r_d_bclr, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4162   { M32RBF_INSN_BTST, model_m32r_d_btst, { { (int) UNIT_M32R_D_U_EXEC, 1, 1 } } },
   4163 };
   4164 
   4165 /* Model timing data for `test'.  */
   4166 
   4167 static const INSN_TIMING test_timing[] = {
   4168   { M32RBF_INSN_X_INVALID, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4169   { M32RBF_INSN_X_AFTER, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4170   { M32RBF_INSN_X_BEFORE, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4171   { M32RBF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4172   { M32RBF_INSN_X_CHAIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4173   { M32RBF_INSN_X_BEGIN, 0, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4174   { M32RBF_INSN_ADD, model_test_add, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4175   { M32RBF_INSN_ADD3, model_test_add3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4176   { M32RBF_INSN_AND, model_test_and, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4177   { M32RBF_INSN_AND3, model_test_and3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4178   { M32RBF_INSN_OR, model_test_or, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4179   { M32RBF_INSN_OR3, model_test_or3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4180   { M32RBF_INSN_XOR, model_test_xor, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4181   { M32RBF_INSN_XOR3, model_test_xor3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4182   { M32RBF_INSN_ADDI, model_test_addi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4183   { M32RBF_INSN_ADDV, model_test_addv, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4184   { M32RBF_INSN_ADDV3, model_test_addv3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4185   { M32RBF_INSN_ADDX, model_test_addx, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4186   { M32RBF_INSN_BC8, model_test_bc8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4187   { M32RBF_INSN_BC24, model_test_bc24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4188   { M32RBF_INSN_BEQ, model_test_beq, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4189   { M32RBF_INSN_BEQZ, model_test_beqz, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4190   { M32RBF_INSN_BGEZ, model_test_bgez, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4191   { M32RBF_INSN_BGTZ, model_test_bgtz, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4192   { M32RBF_INSN_BLEZ, model_test_blez, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4193   { M32RBF_INSN_BLTZ, model_test_bltz, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4194   { M32RBF_INSN_BNEZ, model_test_bnez, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4195   { M32RBF_INSN_BL8, model_test_bl8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4196   { M32RBF_INSN_BL24, model_test_bl24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4197   { M32RBF_INSN_BNC8, model_test_bnc8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4198   { M32RBF_INSN_BNC24, model_test_bnc24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4199   { M32RBF_INSN_BNE, model_test_bne, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4200   { M32RBF_INSN_BRA8, model_test_bra8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4201   { M32RBF_INSN_BRA24, model_test_bra24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4202   { M32RBF_INSN_CMP, model_test_cmp, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4203   { M32RBF_INSN_CMPI, model_test_cmpi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4204   { M32RBF_INSN_CMPU, model_test_cmpu, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4205   { M32RBF_INSN_CMPUI, model_test_cmpui, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4206   { M32RBF_INSN_DIV, model_test_div, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4207   { M32RBF_INSN_DIVU, model_test_divu, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4208   { M32RBF_INSN_REM, model_test_rem, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4209   { M32RBF_INSN_REMU, model_test_remu, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4210   { M32RBF_INSN_JL, model_test_jl, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4211   { M32RBF_INSN_JMP, model_test_jmp, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4212   { M32RBF_INSN_LD, model_test_ld, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4213   { M32RBF_INSN_LD_D, model_test_ld_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4214   { M32RBF_INSN_LDB, model_test_ldb, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4215   { M32RBF_INSN_LDB_D, model_test_ldb_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4216   { M32RBF_INSN_LDH, model_test_ldh, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4217   { M32RBF_INSN_LDH_D, model_test_ldh_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4218   { M32RBF_INSN_LDUB, model_test_ldub, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4219   { M32RBF_INSN_LDUB_D, model_test_ldub_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4220   { M32RBF_INSN_LDUH, model_test_lduh, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4221   { M32RBF_INSN_LDUH_D, model_test_lduh_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4222   { M32RBF_INSN_LD_PLUS, model_test_ld_plus, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4223   { M32RBF_INSN_LD24, model_test_ld24, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4224   { M32RBF_INSN_LDI8, model_test_ldi8, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4225   { M32RBF_INSN_LDI16, model_test_ldi16, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4226   { M32RBF_INSN_LOCK, model_test_lock, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4227   { M32RBF_INSN_MACHI, model_test_machi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4228   { M32RBF_INSN_MACLO, model_test_maclo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4229   { M32RBF_INSN_MACWHI, model_test_macwhi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4230   { M32RBF_INSN_MACWLO, model_test_macwlo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4231   { M32RBF_INSN_MUL, model_test_mul, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4232   { M32RBF_INSN_MULHI, model_test_mulhi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4233   { M32RBF_INSN_MULLO, model_test_mullo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4234   { M32RBF_INSN_MULWHI, model_test_mulwhi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4235   { M32RBF_INSN_MULWLO, model_test_mulwlo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4236   { M32RBF_INSN_MV, model_test_mv, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4237   { M32RBF_INSN_MVFACHI, model_test_mvfachi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4238   { M32RBF_INSN_MVFACLO, model_test_mvfaclo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4239   { M32RBF_INSN_MVFACMI, model_test_mvfacmi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4240   { M32RBF_INSN_MVFC, model_test_mvfc, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4241   { M32RBF_INSN_MVTACHI, model_test_mvtachi, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4242   { M32RBF_INSN_MVTACLO, model_test_mvtaclo, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4243   { M32RBF_INSN_MVTC, model_test_mvtc, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4244   { M32RBF_INSN_NEG, model_test_neg, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4245   { M32RBF_INSN_NOP, model_test_nop, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4246   { M32RBF_INSN_NOT, model_test_not, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4247   { M32RBF_INSN_RAC, model_test_rac, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4248   { M32RBF_INSN_RACH, model_test_rach, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4249   { M32RBF_INSN_RTE, model_test_rte, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4250   { M32RBF_INSN_SETH, model_test_seth, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4251   { M32RBF_INSN_SLL, model_test_sll, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4252   { M32RBF_INSN_SLL3, model_test_sll3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4253   { M32RBF_INSN_SLLI, model_test_slli, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4254   { M32RBF_INSN_SRA, model_test_sra, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4255   { M32RBF_INSN_SRA3, model_test_sra3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4256   { M32RBF_INSN_SRAI, model_test_srai, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4257   { M32RBF_INSN_SRL, model_test_srl, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4258   { M32RBF_INSN_SRL3, model_test_srl3, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4259   { M32RBF_INSN_SRLI, model_test_srli, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4260   { M32RBF_INSN_ST, model_test_st, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4261   { M32RBF_INSN_ST_D, model_test_st_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4262   { M32RBF_INSN_STB, model_test_stb, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4263   { M32RBF_INSN_STB_D, model_test_stb_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4264   { M32RBF_INSN_STH, model_test_sth, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4265   { M32RBF_INSN_STH_D, model_test_sth_d, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4266   { M32RBF_INSN_ST_PLUS, model_test_st_plus, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4267   { M32RBF_INSN_ST_MINUS, model_test_st_minus, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4268   { M32RBF_INSN_SUB, model_test_sub, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4269   { M32RBF_INSN_SUBV, model_test_subv, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4270   { M32RBF_INSN_SUBX, model_test_subx, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4271   { M32RBF_INSN_TRAP, model_test_trap, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4272   { M32RBF_INSN_UNLOCK, model_test_unlock, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4273   { M32RBF_INSN_CLRPSW, model_test_clrpsw, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4274   { M32RBF_INSN_SETPSW, model_test_setpsw, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4275   { M32RBF_INSN_BSET, model_test_bset, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4276   { M32RBF_INSN_BCLR, model_test_bclr, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4277   { M32RBF_INSN_BTST, model_test_btst, { { (int) UNIT_TEST_U_EXEC, 1, 1 } } },
   4278 };
   4279 
   4280 #endif /* WITH_PROFILE_MODEL_P */
   4281 
   4282 static void
   4283 m32r_d_model_init (SIM_CPU *cpu)
   4284 {
   4285   CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_M32R_D_DATA));
   4286 }
   4287 
   4288 static void
   4289 test_model_init (SIM_CPU *cpu)
   4290 {
   4291   CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_TEST_DATA));
   4292 }
   4293 
   4294 #if WITH_PROFILE_MODEL_P
   4295 #define TIMING_DATA(td) td
   4296 #else
   4297 #define TIMING_DATA(td) 0
   4298 #endif
   4299 
   4300 static const SIM_MODEL m32r_models[] =
   4301 {
   4302   { "m32r/d", & m32r_mach, MODEL_M32R_D, TIMING_DATA (& m32r_d_timing[0]), m32r_d_model_init },
   4303   { "test", & m32r_mach, MODEL_TEST, TIMING_DATA (& test_timing[0]), test_model_init },
   4304   { 0 }
   4305 };
   4306 
   4307 /* The properties of this cpu's implementation.  */
   4308 
   4309 static const SIM_MACH_IMP_PROPERTIES m32rbf_imp_properties =
   4310 {
   4311   sizeof (SIM_CPU),
   4312 #if WITH_SCACHE
   4313   sizeof (SCACHE)
   4314 #else
   4315   0
   4316 #endif
   4317 };
   4318 
   4319 
   4320 static void
   4321 m32rbf_prepare_run (SIM_CPU *cpu)
   4322 {
   4323   if (CPU_IDESC (cpu) == NULL)
   4324     m32rbf_init_idesc_table (cpu);
   4325 }
   4326 
   4327 static const CGEN_INSN *
   4328 m32rbf_get_idata (SIM_CPU *cpu, int inum)
   4329 {
   4330   return CPU_IDESC (cpu) [inum].idata;
   4331 }
   4332 
   4333 static void
   4334 m32r_init_cpu (SIM_CPU *cpu)
   4335 {
   4336   CPU_REG_FETCH (cpu) = m32rbf_fetch_register;
   4337   CPU_REG_STORE (cpu) = m32rbf_store_register;
   4338   CPU_PC_FETCH (cpu) = m32rbf_h_pc_get;
   4339   CPU_PC_STORE (cpu) = m32rbf_h_pc_set;
   4340   CPU_GET_IDATA (cpu) = m32rbf_get_idata;
   4341   CPU_MAX_INSNS (cpu) = M32RBF_INSN__MAX;
   4342   CPU_INSN_NAME (cpu) = cgen_insn_name;
   4343   CPU_FULL_ENGINE_FN (cpu) = m32rbf_engine_run_full;
   4344 #if WITH_FAST
   4345   CPU_FAST_ENGINE_FN (cpu) = m32rbf_engine_run_fast;
   4346 #else
   4347   CPU_FAST_ENGINE_FN (cpu) = m32rbf_engine_run_full;
   4348 #endif
   4349 }
   4350 
   4351 const SIM_MACH m32r_mach =
   4352 {
   4353   "m32r", "m32r", MACH_M32R,
   4354   32, 32, & m32r_models[0], & m32rbf_imp_properties,
   4355   m32r_init_cpu,
   4356   m32rbf_prepare_run
   4357 };
   4358 
   4359