Home | History | Annotate | Line # | Download | only in cris
semcrisv32f-switch.c revision 1.1
      1 /* Simulator instruction semantics for crisv32f.
      2 
      3 THIS FILE IS MACHINE GENERATED WITH CGEN.
      4 
      5 Copyright 1996-2010 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, write to the Free Software Foundation, Inc.,
     21    51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
     22 
     23 */
     24 
     25 #ifdef DEFINE_LABELS
     26 
     27   /* The labels have the case they have because the enum of insn types
     28      is all uppercase and in the non-stdc case the insn symbol is built
     29      into the enum name.  */
     30 
     31   static struct {
     32     int index;
     33     void *label;
     34   } labels[] = {
     35     { CRISV32F_INSN_X_INVALID, && case_sem_INSN_X_INVALID },
     36     { CRISV32F_INSN_X_AFTER, && case_sem_INSN_X_AFTER },
     37     { CRISV32F_INSN_X_BEFORE, && case_sem_INSN_X_BEFORE },
     38     { CRISV32F_INSN_X_CTI_CHAIN, && case_sem_INSN_X_CTI_CHAIN },
     39     { CRISV32F_INSN_X_CHAIN, && case_sem_INSN_X_CHAIN },
     40     { CRISV32F_INSN_X_BEGIN, && case_sem_INSN_X_BEGIN },
     41     { CRISV32F_INSN_MOVE_B_R, && case_sem_INSN_MOVE_B_R },
     42     { CRISV32F_INSN_MOVE_W_R, && case_sem_INSN_MOVE_W_R },
     43     { CRISV32F_INSN_MOVE_D_R, && case_sem_INSN_MOVE_D_R },
     44     { CRISV32F_INSN_MOVEQ, && case_sem_INSN_MOVEQ },
     45     { CRISV32F_INSN_MOVS_B_R, && case_sem_INSN_MOVS_B_R },
     46     { CRISV32F_INSN_MOVS_W_R, && case_sem_INSN_MOVS_W_R },
     47     { CRISV32F_INSN_MOVU_B_R, && case_sem_INSN_MOVU_B_R },
     48     { CRISV32F_INSN_MOVU_W_R, && case_sem_INSN_MOVU_W_R },
     49     { CRISV32F_INSN_MOVECBR, && case_sem_INSN_MOVECBR },
     50     { CRISV32F_INSN_MOVECWR, && case_sem_INSN_MOVECWR },
     51     { CRISV32F_INSN_MOVECDR, && case_sem_INSN_MOVECDR },
     52     { CRISV32F_INSN_MOVSCBR, && case_sem_INSN_MOVSCBR },
     53     { CRISV32F_INSN_MOVSCWR, && case_sem_INSN_MOVSCWR },
     54     { CRISV32F_INSN_MOVUCBR, && case_sem_INSN_MOVUCBR },
     55     { CRISV32F_INSN_MOVUCWR, && case_sem_INSN_MOVUCWR },
     56     { CRISV32F_INSN_ADDQ, && case_sem_INSN_ADDQ },
     57     { CRISV32F_INSN_SUBQ, && case_sem_INSN_SUBQ },
     58     { CRISV32F_INSN_CMP_R_B_R, && case_sem_INSN_CMP_R_B_R },
     59     { CRISV32F_INSN_CMP_R_W_R, && case_sem_INSN_CMP_R_W_R },
     60     { CRISV32F_INSN_CMP_R_D_R, && case_sem_INSN_CMP_R_D_R },
     61     { CRISV32F_INSN_CMP_M_B_M, && case_sem_INSN_CMP_M_B_M },
     62     { CRISV32F_INSN_CMP_M_W_M, && case_sem_INSN_CMP_M_W_M },
     63     { CRISV32F_INSN_CMP_M_D_M, && case_sem_INSN_CMP_M_D_M },
     64     { CRISV32F_INSN_CMPCBR, && case_sem_INSN_CMPCBR },
     65     { CRISV32F_INSN_CMPCWR, && case_sem_INSN_CMPCWR },
     66     { CRISV32F_INSN_CMPCDR, && case_sem_INSN_CMPCDR },
     67     { CRISV32F_INSN_CMPQ, && case_sem_INSN_CMPQ },
     68     { CRISV32F_INSN_CMPS_M_B_M, && case_sem_INSN_CMPS_M_B_M },
     69     { CRISV32F_INSN_CMPS_M_W_M, && case_sem_INSN_CMPS_M_W_M },
     70     { CRISV32F_INSN_CMPSCBR, && case_sem_INSN_CMPSCBR },
     71     { CRISV32F_INSN_CMPSCWR, && case_sem_INSN_CMPSCWR },
     72     { CRISV32F_INSN_CMPU_M_B_M, && case_sem_INSN_CMPU_M_B_M },
     73     { CRISV32F_INSN_CMPU_M_W_M, && case_sem_INSN_CMPU_M_W_M },
     74     { CRISV32F_INSN_CMPUCBR, && case_sem_INSN_CMPUCBR },
     75     { CRISV32F_INSN_CMPUCWR, && case_sem_INSN_CMPUCWR },
     76     { CRISV32F_INSN_MOVE_M_B_M, && case_sem_INSN_MOVE_M_B_M },
     77     { CRISV32F_INSN_MOVE_M_W_M, && case_sem_INSN_MOVE_M_W_M },
     78     { CRISV32F_INSN_MOVE_M_D_M, && case_sem_INSN_MOVE_M_D_M },
     79     { CRISV32F_INSN_MOVS_M_B_M, && case_sem_INSN_MOVS_M_B_M },
     80     { CRISV32F_INSN_MOVS_M_W_M, && case_sem_INSN_MOVS_M_W_M },
     81     { CRISV32F_INSN_MOVU_M_B_M, && case_sem_INSN_MOVU_M_B_M },
     82     { CRISV32F_INSN_MOVU_M_W_M, && case_sem_INSN_MOVU_M_W_M },
     83     { CRISV32F_INSN_MOVE_R_SPRV32, && case_sem_INSN_MOVE_R_SPRV32 },
     84     { CRISV32F_INSN_MOVE_SPR_RV32, && case_sem_INSN_MOVE_SPR_RV32 },
     85     { CRISV32F_INSN_MOVE_M_SPRV32, && case_sem_INSN_MOVE_M_SPRV32 },
     86     { CRISV32F_INSN_MOVE_C_SPRV32_P2, && case_sem_INSN_MOVE_C_SPRV32_P2 },
     87     { CRISV32F_INSN_MOVE_C_SPRV32_P3, && case_sem_INSN_MOVE_C_SPRV32_P3 },
     88     { CRISV32F_INSN_MOVE_C_SPRV32_P5, && case_sem_INSN_MOVE_C_SPRV32_P5 },
     89     { CRISV32F_INSN_MOVE_C_SPRV32_P6, && case_sem_INSN_MOVE_C_SPRV32_P6 },
     90     { CRISV32F_INSN_MOVE_C_SPRV32_P7, && case_sem_INSN_MOVE_C_SPRV32_P7 },
     91     { CRISV32F_INSN_MOVE_C_SPRV32_P9, && case_sem_INSN_MOVE_C_SPRV32_P9 },
     92     { CRISV32F_INSN_MOVE_C_SPRV32_P10, && case_sem_INSN_MOVE_C_SPRV32_P10 },
     93     { CRISV32F_INSN_MOVE_C_SPRV32_P11, && case_sem_INSN_MOVE_C_SPRV32_P11 },
     94     { CRISV32F_INSN_MOVE_C_SPRV32_P12, && case_sem_INSN_MOVE_C_SPRV32_P12 },
     95     { CRISV32F_INSN_MOVE_C_SPRV32_P13, && case_sem_INSN_MOVE_C_SPRV32_P13 },
     96     { CRISV32F_INSN_MOVE_C_SPRV32_P14, && case_sem_INSN_MOVE_C_SPRV32_P14 },
     97     { CRISV32F_INSN_MOVE_C_SPRV32_P15, && case_sem_INSN_MOVE_C_SPRV32_P15 },
     98     { CRISV32F_INSN_MOVE_SPR_MV32, && case_sem_INSN_MOVE_SPR_MV32 },
     99     { CRISV32F_INSN_MOVE_SS_R, && case_sem_INSN_MOVE_SS_R },
    100     { CRISV32F_INSN_MOVE_R_SS, && case_sem_INSN_MOVE_R_SS },
    101     { CRISV32F_INSN_MOVEM_R_M_V32, && case_sem_INSN_MOVEM_R_M_V32 },
    102     { CRISV32F_INSN_MOVEM_M_R_V32, && case_sem_INSN_MOVEM_M_R_V32 },
    103     { CRISV32F_INSN_ADD_B_R, && case_sem_INSN_ADD_B_R },
    104     { CRISV32F_INSN_ADD_W_R, && case_sem_INSN_ADD_W_R },
    105     { CRISV32F_INSN_ADD_D_R, && case_sem_INSN_ADD_D_R },
    106     { CRISV32F_INSN_ADD_M_B_M, && case_sem_INSN_ADD_M_B_M },
    107     { CRISV32F_INSN_ADD_M_W_M, && case_sem_INSN_ADD_M_W_M },
    108     { CRISV32F_INSN_ADD_M_D_M, && case_sem_INSN_ADD_M_D_M },
    109     { CRISV32F_INSN_ADDCBR, && case_sem_INSN_ADDCBR },
    110     { CRISV32F_INSN_ADDCWR, && case_sem_INSN_ADDCWR },
    111     { CRISV32F_INSN_ADDCDR, && case_sem_INSN_ADDCDR },
    112     { CRISV32F_INSN_ADDS_B_R, && case_sem_INSN_ADDS_B_R },
    113     { CRISV32F_INSN_ADDS_W_R, && case_sem_INSN_ADDS_W_R },
    114     { CRISV32F_INSN_ADDS_M_B_M, && case_sem_INSN_ADDS_M_B_M },
    115     { CRISV32F_INSN_ADDS_M_W_M, && case_sem_INSN_ADDS_M_W_M },
    116     { CRISV32F_INSN_ADDSCBR, && case_sem_INSN_ADDSCBR },
    117     { CRISV32F_INSN_ADDSCWR, && case_sem_INSN_ADDSCWR },
    118     { CRISV32F_INSN_ADDU_B_R, && case_sem_INSN_ADDU_B_R },
    119     { CRISV32F_INSN_ADDU_W_R, && case_sem_INSN_ADDU_W_R },
    120     { CRISV32F_INSN_ADDU_M_B_M, && case_sem_INSN_ADDU_M_B_M },
    121     { CRISV32F_INSN_ADDU_M_W_M, && case_sem_INSN_ADDU_M_W_M },
    122     { CRISV32F_INSN_ADDUCBR, && case_sem_INSN_ADDUCBR },
    123     { CRISV32F_INSN_ADDUCWR, && case_sem_INSN_ADDUCWR },
    124     { CRISV32F_INSN_SUB_B_R, && case_sem_INSN_SUB_B_R },
    125     { CRISV32F_INSN_SUB_W_R, && case_sem_INSN_SUB_W_R },
    126     { CRISV32F_INSN_SUB_D_R, && case_sem_INSN_SUB_D_R },
    127     { CRISV32F_INSN_SUB_M_B_M, && case_sem_INSN_SUB_M_B_M },
    128     { CRISV32F_INSN_SUB_M_W_M, && case_sem_INSN_SUB_M_W_M },
    129     { CRISV32F_INSN_SUB_M_D_M, && case_sem_INSN_SUB_M_D_M },
    130     { CRISV32F_INSN_SUBCBR, && case_sem_INSN_SUBCBR },
    131     { CRISV32F_INSN_SUBCWR, && case_sem_INSN_SUBCWR },
    132     { CRISV32F_INSN_SUBCDR, && case_sem_INSN_SUBCDR },
    133     { CRISV32F_INSN_SUBS_B_R, && case_sem_INSN_SUBS_B_R },
    134     { CRISV32F_INSN_SUBS_W_R, && case_sem_INSN_SUBS_W_R },
    135     { CRISV32F_INSN_SUBS_M_B_M, && case_sem_INSN_SUBS_M_B_M },
    136     { CRISV32F_INSN_SUBS_M_W_M, && case_sem_INSN_SUBS_M_W_M },
    137     { CRISV32F_INSN_SUBSCBR, && case_sem_INSN_SUBSCBR },
    138     { CRISV32F_INSN_SUBSCWR, && case_sem_INSN_SUBSCWR },
    139     { CRISV32F_INSN_SUBU_B_R, && case_sem_INSN_SUBU_B_R },
    140     { CRISV32F_INSN_SUBU_W_R, && case_sem_INSN_SUBU_W_R },
    141     { CRISV32F_INSN_SUBU_M_B_M, && case_sem_INSN_SUBU_M_B_M },
    142     { CRISV32F_INSN_SUBU_M_W_M, && case_sem_INSN_SUBU_M_W_M },
    143     { CRISV32F_INSN_SUBUCBR, && case_sem_INSN_SUBUCBR },
    144     { CRISV32F_INSN_SUBUCWR, && case_sem_INSN_SUBUCWR },
    145     { CRISV32F_INSN_ADDC_R, && case_sem_INSN_ADDC_R },
    146     { CRISV32F_INSN_ADDC_M, && case_sem_INSN_ADDC_M },
    147     { CRISV32F_INSN_ADDC_C, && case_sem_INSN_ADDC_C },
    148     { CRISV32F_INSN_LAPC_D, && case_sem_INSN_LAPC_D },
    149     { CRISV32F_INSN_LAPCQ, && case_sem_INSN_LAPCQ },
    150     { CRISV32F_INSN_ADDI_B_R, && case_sem_INSN_ADDI_B_R },
    151     { CRISV32F_INSN_ADDI_W_R, && case_sem_INSN_ADDI_W_R },
    152     { CRISV32F_INSN_ADDI_D_R, && case_sem_INSN_ADDI_D_R },
    153     { CRISV32F_INSN_NEG_B_R, && case_sem_INSN_NEG_B_R },
    154     { CRISV32F_INSN_NEG_W_R, && case_sem_INSN_NEG_W_R },
    155     { CRISV32F_INSN_NEG_D_R, && case_sem_INSN_NEG_D_R },
    156     { CRISV32F_INSN_TEST_M_B_M, && case_sem_INSN_TEST_M_B_M },
    157     { CRISV32F_INSN_TEST_M_W_M, && case_sem_INSN_TEST_M_W_M },
    158     { CRISV32F_INSN_TEST_M_D_M, && case_sem_INSN_TEST_M_D_M },
    159     { CRISV32F_INSN_MOVE_R_M_B_M, && case_sem_INSN_MOVE_R_M_B_M },
    160     { CRISV32F_INSN_MOVE_R_M_W_M, && case_sem_INSN_MOVE_R_M_W_M },
    161     { CRISV32F_INSN_MOVE_R_M_D_M, && case_sem_INSN_MOVE_R_M_D_M },
    162     { CRISV32F_INSN_MULS_B, && case_sem_INSN_MULS_B },
    163     { CRISV32F_INSN_MULS_W, && case_sem_INSN_MULS_W },
    164     { CRISV32F_INSN_MULS_D, && case_sem_INSN_MULS_D },
    165     { CRISV32F_INSN_MULU_B, && case_sem_INSN_MULU_B },
    166     { CRISV32F_INSN_MULU_W, && case_sem_INSN_MULU_W },
    167     { CRISV32F_INSN_MULU_D, && case_sem_INSN_MULU_D },
    168     { CRISV32F_INSN_MCP, && case_sem_INSN_MCP },
    169     { CRISV32F_INSN_DSTEP, && case_sem_INSN_DSTEP },
    170     { CRISV32F_INSN_ABS, && case_sem_INSN_ABS },
    171     { CRISV32F_INSN_AND_B_R, && case_sem_INSN_AND_B_R },
    172     { CRISV32F_INSN_AND_W_R, && case_sem_INSN_AND_W_R },
    173     { CRISV32F_INSN_AND_D_R, && case_sem_INSN_AND_D_R },
    174     { CRISV32F_INSN_AND_M_B_M, && case_sem_INSN_AND_M_B_M },
    175     { CRISV32F_INSN_AND_M_W_M, && case_sem_INSN_AND_M_W_M },
    176     { CRISV32F_INSN_AND_M_D_M, && case_sem_INSN_AND_M_D_M },
    177     { CRISV32F_INSN_ANDCBR, && case_sem_INSN_ANDCBR },
    178     { CRISV32F_INSN_ANDCWR, && case_sem_INSN_ANDCWR },
    179     { CRISV32F_INSN_ANDCDR, && case_sem_INSN_ANDCDR },
    180     { CRISV32F_INSN_ANDQ, && case_sem_INSN_ANDQ },
    181     { CRISV32F_INSN_ORR_B_R, && case_sem_INSN_ORR_B_R },
    182     { CRISV32F_INSN_ORR_W_R, && case_sem_INSN_ORR_W_R },
    183     { CRISV32F_INSN_ORR_D_R, && case_sem_INSN_ORR_D_R },
    184     { CRISV32F_INSN_OR_M_B_M, && case_sem_INSN_OR_M_B_M },
    185     { CRISV32F_INSN_OR_M_W_M, && case_sem_INSN_OR_M_W_M },
    186     { CRISV32F_INSN_OR_M_D_M, && case_sem_INSN_OR_M_D_M },
    187     { CRISV32F_INSN_ORCBR, && case_sem_INSN_ORCBR },
    188     { CRISV32F_INSN_ORCWR, && case_sem_INSN_ORCWR },
    189     { CRISV32F_INSN_ORCDR, && case_sem_INSN_ORCDR },
    190     { CRISV32F_INSN_ORQ, && case_sem_INSN_ORQ },
    191     { CRISV32F_INSN_XOR, && case_sem_INSN_XOR },
    192     { CRISV32F_INSN_SWAP, && case_sem_INSN_SWAP },
    193     { CRISV32F_INSN_ASRR_B_R, && case_sem_INSN_ASRR_B_R },
    194     { CRISV32F_INSN_ASRR_W_R, && case_sem_INSN_ASRR_W_R },
    195     { CRISV32F_INSN_ASRR_D_R, && case_sem_INSN_ASRR_D_R },
    196     { CRISV32F_INSN_ASRQ, && case_sem_INSN_ASRQ },
    197     { CRISV32F_INSN_LSRR_B_R, && case_sem_INSN_LSRR_B_R },
    198     { CRISV32F_INSN_LSRR_W_R, && case_sem_INSN_LSRR_W_R },
    199     { CRISV32F_INSN_LSRR_D_R, && case_sem_INSN_LSRR_D_R },
    200     { CRISV32F_INSN_LSRQ, && case_sem_INSN_LSRQ },
    201     { CRISV32F_INSN_LSLR_B_R, && case_sem_INSN_LSLR_B_R },
    202     { CRISV32F_INSN_LSLR_W_R, && case_sem_INSN_LSLR_W_R },
    203     { CRISV32F_INSN_LSLR_D_R, && case_sem_INSN_LSLR_D_R },
    204     { CRISV32F_INSN_LSLQ, && case_sem_INSN_LSLQ },
    205     { CRISV32F_INSN_BTST, && case_sem_INSN_BTST },
    206     { CRISV32F_INSN_BTSTQ, && case_sem_INSN_BTSTQ },
    207     { CRISV32F_INSN_SETF, && case_sem_INSN_SETF },
    208     { CRISV32F_INSN_CLEARF, && case_sem_INSN_CLEARF },
    209     { CRISV32F_INSN_RFE, && case_sem_INSN_RFE },
    210     { CRISV32F_INSN_SFE, && case_sem_INSN_SFE },
    211     { CRISV32F_INSN_RFG, && case_sem_INSN_RFG },
    212     { CRISV32F_INSN_RFN, && case_sem_INSN_RFN },
    213     { CRISV32F_INSN_HALT, && case_sem_INSN_HALT },
    214     { CRISV32F_INSN_BCC_B, && case_sem_INSN_BCC_B },
    215     { CRISV32F_INSN_BA_B, && case_sem_INSN_BA_B },
    216     { CRISV32F_INSN_BCC_W, && case_sem_INSN_BCC_W },
    217     { CRISV32F_INSN_BA_W, && case_sem_INSN_BA_W },
    218     { CRISV32F_INSN_JAS_R, && case_sem_INSN_JAS_R },
    219     { CRISV32F_INSN_JAS_C, && case_sem_INSN_JAS_C },
    220     { CRISV32F_INSN_JUMP_P, && case_sem_INSN_JUMP_P },
    221     { CRISV32F_INSN_BAS_C, && case_sem_INSN_BAS_C },
    222     { CRISV32F_INSN_JASC_R, && case_sem_INSN_JASC_R },
    223     { CRISV32F_INSN_JASC_C, && case_sem_INSN_JASC_C },
    224     { CRISV32F_INSN_BASC_C, && case_sem_INSN_BASC_C },
    225     { CRISV32F_INSN_BREAK, && case_sem_INSN_BREAK },
    226     { CRISV32F_INSN_BOUND_R_B_R, && case_sem_INSN_BOUND_R_B_R },
    227     { CRISV32F_INSN_BOUND_R_W_R, && case_sem_INSN_BOUND_R_W_R },
    228     { CRISV32F_INSN_BOUND_R_D_R, && case_sem_INSN_BOUND_R_D_R },
    229     { CRISV32F_INSN_BOUND_CB, && case_sem_INSN_BOUND_CB },
    230     { CRISV32F_INSN_BOUND_CW, && case_sem_INSN_BOUND_CW },
    231     { CRISV32F_INSN_BOUND_CD, && case_sem_INSN_BOUND_CD },
    232     { CRISV32F_INSN_SCC, && case_sem_INSN_SCC },
    233     { CRISV32F_INSN_LZ, && case_sem_INSN_LZ },
    234     { CRISV32F_INSN_ADDOQ, && case_sem_INSN_ADDOQ },
    235     { CRISV32F_INSN_ADDO_M_B_M, && case_sem_INSN_ADDO_M_B_M },
    236     { CRISV32F_INSN_ADDO_M_W_M, && case_sem_INSN_ADDO_M_W_M },
    237     { CRISV32F_INSN_ADDO_M_D_M, && case_sem_INSN_ADDO_M_D_M },
    238     { CRISV32F_INSN_ADDO_CB, && case_sem_INSN_ADDO_CB },
    239     { CRISV32F_INSN_ADDO_CW, && case_sem_INSN_ADDO_CW },
    240     { CRISV32F_INSN_ADDO_CD, && case_sem_INSN_ADDO_CD },
    241     { CRISV32F_INSN_ADDI_ACR_B_R, && case_sem_INSN_ADDI_ACR_B_R },
    242     { CRISV32F_INSN_ADDI_ACR_W_R, && case_sem_INSN_ADDI_ACR_W_R },
    243     { CRISV32F_INSN_ADDI_ACR_D_R, && case_sem_INSN_ADDI_ACR_D_R },
    244     { CRISV32F_INSN_FIDXI, && case_sem_INSN_FIDXI },
    245     { CRISV32F_INSN_FTAGI, && case_sem_INSN_FTAGI },
    246     { CRISV32F_INSN_FIDXD, && case_sem_INSN_FIDXD },
    247     { CRISV32F_INSN_FTAGD, && case_sem_INSN_FTAGD },
    248     { 0, 0 }
    249   };
    250   int i;
    251 
    252   for (i = 0; labels[i].label != 0; ++i)
    253     {
    254 #if FAST_P
    255       CPU_IDESC (current_cpu) [labels[i].index].sem_fast_lab = labels[i].label;
    256 #else
    257       CPU_IDESC (current_cpu) [labels[i].index].sem_full_lab = labels[i].label;
    258 #endif
    259     }
    260 
    261 #undef DEFINE_LABELS
    262 #endif /* DEFINE_LABELS */
    263 
    264 #ifdef DEFINE_SWITCH
    265 
    266 /* If hyper-fast [well not unnecessarily slow] execution is selected, turn
    267    off frills like tracing and profiling.  */
    268 /* FIXME: A better way would be to have TRACE_RESULT check for something
    269    that can cause it to be optimized out.  Another way would be to emit
    270    special handlers into the instruction "stream".  */
    271 
    272 #if FAST_P
    273 #undef TRACE_RESULT
    274 #define TRACE_RESULT(cpu, abuf, name, type, val)
    275 #endif
    276 
    277 #undef GET_ATTR
    278 #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
    279 
    280 {
    281 
    282 #if WITH_SCACHE_PBB
    283 
    284 /* Branch to next handler without going around main loop.  */
    285 #define NEXT(vpc) goto * SEM_ARGBUF (vpc) -> semantic.sem_case
    286 SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
    287 
    288 #else /* ! WITH_SCACHE_PBB */
    289 
    290 #define NEXT(vpc) BREAK (sem)
    291 #ifdef __GNUC__
    292 #if FAST_P
    293   SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_fast_lab)
    294 #else
    295   SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_full_lab)
    296 #endif
    297 #else
    298   SWITCH (sem, SEM_ARGBUF (sc) -> idesc->num)
    299 #endif
    300 
    301 #endif /* ! WITH_SCACHE_PBB */
    302 
    303     {
    304 
    305   CASE (sem, INSN_X_INVALID) : /* --invalid-- */
    306 {
    307   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    308   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    309 #define FLD(f) abuf->fields.sfmt_empty.f
    310   int UNUSED written = 0;
    311   IADDR UNUSED pc = abuf->addr;
    312   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
    313 
    314   {
    315     /* Update the recorded pc in the cpu state struct.
    316        Only necessary for WITH_SCACHE case, but to avoid the
    317        conditional compilation ....  */
    318     SET_H_PC (pc);
    319     /* Virtual insns have zero size.  Overwrite vpc with address of next insn
    320        using the default-insn-bitsize spec.  When executing insns in parallel
    321        we may want to queue the fault and continue execution.  */
    322     vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    323     vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
    324   }
    325 
    326 #undef FLD
    327 }
    328   NEXT (vpc);
    329 
    330   CASE (sem, INSN_X_AFTER) : /* --after-- */
    331 {
    332   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    333   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    334 #define FLD(f) abuf->fields.sfmt_empty.f
    335   int UNUSED written = 0;
    336   IADDR UNUSED pc = abuf->addr;
    337   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
    338 
    339   {
    340 #if WITH_SCACHE_PBB_CRISV32F
    341     crisv32f_pbb_after (current_cpu, sem_arg);
    342 #endif
    343   }
    344 
    345 #undef FLD
    346 }
    347   NEXT (vpc);
    348 
    349   CASE (sem, INSN_X_BEFORE) : /* --before-- */
    350 {
    351   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    352   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    353 #define FLD(f) abuf->fields.sfmt_empty.f
    354   int UNUSED written = 0;
    355   IADDR UNUSED pc = abuf->addr;
    356   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
    357 
    358   {
    359 #if WITH_SCACHE_PBB_CRISV32F
    360     crisv32f_pbb_before (current_cpu, sem_arg);
    361 #endif
    362   }
    363 
    364 #undef FLD
    365 }
    366   NEXT (vpc);
    367 
    368   CASE (sem, INSN_X_CTI_CHAIN) : /* --cti-chain-- */
    369 {
    370   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    371   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    372 #define FLD(f) abuf->fields.sfmt_empty.f
    373   int UNUSED written = 0;
    374   IADDR UNUSED pc = abuf->addr;
    375   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
    376 
    377   {
    378 #if WITH_SCACHE_PBB_CRISV32F
    379 #ifdef DEFINE_SWITCH
    380     vpc = crisv32f_pbb_cti_chain (current_cpu, sem_arg,
    381 			       pbb_br_type, pbb_br_npc);
    382     BREAK (sem);
    383 #else
    384     /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
    385     vpc = crisv32f_pbb_cti_chain (current_cpu, sem_arg,
    386 			       CPU_PBB_BR_TYPE (current_cpu),
    387 			       CPU_PBB_BR_NPC (current_cpu));
    388 #endif
    389 #endif
    390   }
    391 
    392 #undef FLD
    393 }
    394   NEXT (vpc);
    395 
    396   CASE (sem, INSN_X_CHAIN) : /* --chain-- */
    397 {
    398   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    399   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    400 #define FLD(f) abuf->fields.sfmt_empty.f
    401   int UNUSED written = 0;
    402   IADDR UNUSED pc = abuf->addr;
    403   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
    404 
    405   {
    406 #if WITH_SCACHE_PBB_CRISV32F
    407     vpc = crisv32f_pbb_chain (current_cpu, sem_arg);
    408 #ifdef DEFINE_SWITCH
    409     BREAK (sem);
    410 #endif
    411 #endif
    412   }
    413 
    414 #undef FLD
    415 }
    416   NEXT (vpc);
    417 
    418   CASE (sem, INSN_X_BEGIN) : /* --begin-- */
    419 {
    420   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    421   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    422 #define FLD(f) abuf->fields.sfmt_empty.f
    423   int UNUSED written = 0;
    424   IADDR UNUSED pc = abuf->addr;
    425   vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
    426 
    427   {
    428 #if WITH_SCACHE_PBB_CRISV32F
    429 #if defined DEFINE_SWITCH || defined FAST_P
    430     /* In the switch case FAST_P is a constant, allowing several optimizations
    431        in any called inline functions.  */
    432     vpc = crisv32f_pbb_begin (current_cpu, FAST_P);
    433 #else
    434 #if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
    435     vpc = crisv32f_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
    436 #else
    437     vpc = crisv32f_pbb_begin (current_cpu, 0);
    438 #endif
    439 #endif
    440 #endif
    441   }
    442 
    443 #undef FLD
    444 }
    445   NEXT (vpc);
    446 
    447   CASE (sem, INSN_MOVE_B_R) : /* move.b move.m ${Rs},${Rd} */
    448 {
    449   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    450   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    451 #define FLD(f) abuf->fields.sfmt_addc_m.f
    452   int UNUSED written = 0;
    453   IADDR UNUSED pc = abuf->addr;
    454   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    455 
    456 {
    457   QI tmp_newval;
    458   tmp_newval = GET_H_GR (FLD (f_operand1));
    459 {
    460   SI tmp_oldregval;
    461   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
    462   {
    463     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
    464     SET_H_GR (FLD (f_operand2), opval);
    465     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    466   }
    467 }
    468 {
    469   {
    470     BI opval = LTQI (tmp_newval, 0);
    471     CPU (h_nbit) = opval;
    472     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    473   }
    474   {
    475     BI opval = ANDIF (EQQI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    476     CPU (h_zbit) = opval;
    477     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    478   }
    479 SET_H_CBIT_MOVE (0);
    480 SET_H_VBIT_MOVE (0);
    481 {
    482   {
    483     BI opval = 0;
    484     CPU (h_xbit) = opval;
    485     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    486   }
    487   {
    488     BI opval = 0;
    489     SET_H_INSN_PREFIXED_P (opval);
    490     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    491   }
    492 }
    493 }
    494 }
    495 
    496 #undef FLD
    497 }
    498   NEXT (vpc);
    499 
    500   CASE (sem, INSN_MOVE_W_R) : /* move.w move.m ${Rs},${Rd} */
    501 {
    502   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    503   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    504 #define FLD(f) abuf->fields.sfmt_addc_m.f
    505   int UNUSED written = 0;
    506   IADDR UNUSED pc = abuf->addr;
    507   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    508 
    509 {
    510   HI tmp_newval;
    511   tmp_newval = GET_H_GR (FLD (f_operand1));
    512 {
    513   SI tmp_oldregval;
    514   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
    515   {
    516     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
    517     SET_H_GR (FLD (f_operand2), opval);
    518     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    519   }
    520 }
    521 {
    522   {
    523     BI opval = LTHI (tmp_newval, 0);
    524     CPU (h_nbit) = opval;
    525     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    526   }
    527   {
    528     BI opval = ANDIF (EQHI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    529     CPU (h_zbit) = opval;
    530     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    531   }
    532 SET_H_CBIT_MOVE (0);
    533 SET_H_VBIT_MOVE (0);
    534 {
    535   {
    536     BI opval = 0;
    537     CPU (h_xbit) = opval;
    538     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    539   }
    540   {
    541     BI opval = 0;
    542     SET_H_INSN_PREFIXED_P (opval);
    543     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    544   }
    545 }
    546 }
    547 }
    548 
    549 #undef FLD
    550 }
    551   NEXT (vpc);
    552 
    553   CASE (sem, INSN_MOVE_D_R) : /* move.d move.m ${Rs},${Rd} */
    554 {
    555   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    556   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    557 #define FLD(f) abuf->fields.sfmt_addc_m.f
    558   int UNUSED written = 0;
    559   IADDR UNUSED pc = abuf->addr;
    560   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    561 
    562 {
    563   SI tmp_newval;
    564   tmp_newval = GET_H_GR (FLD (f_operand1));
    565   {
    566     SI opval = tmp_newval;
    567     SET_H_GR (FLD (f_operand2), opval);
    568     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    569   }
    570 {
    571   {
    572     BI opval = LTSI (tmp_newval, 0);
    573     CPU (h_nbit) = opval;
    574     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    575   }
    576   {
    577     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    578     CPU (h_zbit) = opval;
    579     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    580   }
    581 SET_H_CBIT_MOVE (0);
    582 SET_H_VBIT_MOVE (0);
    583 {
    584   {
    585     BI opval = 0;
    586     CPU (h_xbit) = opval;
    587     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    588   }
    589   {
    590     BI opval = 0;
    591     SET_H_INSN_PREFIXED_P (opval);
    592     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    593   }
    594 }
    595 }
    596 }
    597 
    598 #undef FLD
    599 }
    600   NEXT (vpc);
    601 
    602   CASE (sem, INSN_MOVEQ) : /* moveq $i,$Rd */
    603 {
    604   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    605   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    606 #define FLD(f) abuf->fields.sfmt_moveq.f
    607   int UNUSED written = 0;
    608   IADDR UNUSED pc = abuf->addr;
    609   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    610 
    611 {
    612   SI tmp_newval;
    613   tmp_newval = FLD (f_s6);
    614   {
    615     SI opval = tmp_newval;
    616     SET_H_GR (FLD (f_operand2), opval);
    617     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    618   }
    619 {
    620 SET_H_NBIT_MOVE (LTSI (tmp_newval, 0));
    621 SET_H_ZBIT_MOVE (ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1))));
    622 SET_H_CBIT_MOVE (0);
    623 SET_H_VBIT_MOVE (0);
    624 {
    625   {
    626     BI opval = 0;
    627     CPU (h_xbit) = opval;
    628     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    629   }
    630   {
    631     BI opval = 0;
    632     SET_H_INSN_PREFIXED_P (opval);
    633     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    634   }
    635 }
    636 }
    637 }
    638 
    639 #undef FLD
    640 }
    641   NEXT (vpc);
    642 
    643   CASE (sem, INSN_MOVS_B_R) : /* movs.b movs.m ${Rs},${Rd} */
    644 {
    645   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    646   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    647 #define FLD(f) abuf->fields.sfmt_muls_b.f
    648   int UNUSED written = 0;
    649   IADDR UNUSED pc = abuf->addr;
    650   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    651 
    652 {
    653   QI tmp_tmpops;
    654   SI tmp_newval;
    655   tmp_tmpops = GET_H_GR (FLD (f_operand1));
    656   tmp_newval = EXTQISI (tmp_tmpops);
    657   {
    658     SI opval = tmp_newval;
    659     SET_H_GR (FLD (f_operand2), opval);
    660     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    661   }
    662 {
    663   {
    664     BI opval = LTSI (tmp_newval, 0);
    665     CPU (h_nbit) = opval;
    666     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    667   }
    668   {
    669     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    670     CPU (h_zbit) = opval;
    671     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    672   }
    673 SET_H_CBIT_MOVE (0);
    674 SET_H_VBIT_MOVE (0);
    675 {
    676   {
    677     BI opval = 0;
    678     CPU (h_xbit) = opval;
    679     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    680   }
    681   {
    682     BI opval = 0;
    683     SET_H_INSN_PREFIXED_P (opval);
    684     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    685   }
    686 }
    687 }
    688 }
    689 
    690 #undef FLD
    691 }
    692   NEXT (vpc);
    693 
    694   CASE (sem, INSN_MOVS_W_R) : /* movs.w movs.m ${Rs},${Rd} */
    695 {
    696   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    697   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    698 #define FLD(f) abuf->fields.sfmt_muls_b.f
    699   int UNUSED written = 0;
    700   IADDR UNUSED pc = abuf->addr;
    701   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    702 
    703 {
    704   HI tmp_tmpops;
    705   SI tmp_newval;
    706   tmp_tmpops = GET_H_GR (FLD (f_operand1));
    707   tmp_newval = EXTHISI (tmp_tmpops);
    708   {
    709     SI opval = tmp_newval;
    710     SET_H_GR (FLD (f_operand2), opval);
    711     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    712   }
    713 {
    714   {
    715     BI opval = LTSI (tmp_newval, 0);
    716     CPU (h_nbit) = opval;
    717     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    718   }
    719   {
    720     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    721     CPU (h_zbit) = opval;
    722     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    723   }
    724 SET_H_CBIT_MOVE (0);
    725 SET_H_VBIT_MOVE (0);
    726 {
    727   {
    728     BI opval = 0;
    729     CPU (h_xbit) = opval;
    730     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    731   }
    732   {
    733     BI opval = 0;
    734     SET_H_INSN_PREFIXED_P (opval);
    735     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    736   }
    737 }
    738 }
    739 }
    740 
    741 #undef FLD
    742 }
    743   NEXT (vpc);
    744 
    745   CASE (sem, INSN_MOVU_B_R) : /* movu.b movu.m ${Rs},${Rd} */
    746 {
    747   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    748   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    749 #define FLD(f) abuf->fields.sfmt_muls_b.f
    750   int UNUSED written = 0;
    751   IADDR UNUSED pc = abuf->addr;
    752   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    753 
    754 {
    755   QI tmp_tmpops;
    756   SI tmp_newval;
    757   tmp_tmpops = GET_H_GR (FLD (f_operand1));
    758   tmp_newval = ZEXTQISI (tmp_tmpops);
    759   {
    760     SI opval = tmp_newval;
    761     SET_H_GR (FLD (f_operand2), opval);
    762     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    763   }
    764 {
    765   {
    766     BI opval = LTSI (tmp_newval, 0);
    767     CPU (h_nbit) = opval;
    768     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    769   }
    770   {
    771     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    772     CPU (h_zbit) = opval;
    773     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    774   }
    775 SET_H_CBIT_MOVE (0);
    776 SET_H_VBIT_MOVE (0);
    777 {
    778   {
    779     BI opval = 0;
    780     CPU (h_xbit) = opval;
    781     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    782   }
    783   {
    784     BI opval = 0;
    785     SET_H_INSN_PREFIXED_P (opval);
    786     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    787   }
    788 }
    789 }
    790 }
    791 
    792 #undef FLD
    793 }
    794   NEXT (vpc);
    795 
    796   CASE (sem, INSN_MOVU_W_R) : /* movu.w movu.m ${Rs},${Rd} */
    797 {
    798   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    799   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    800 #define FLD(f) abuf->fields.sfmt_muls_b.f
    801   int UNUSED written = 0;
    802   IADDR UNUSED pc = abuf->addr;
    803   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
    804 
    805 {
    806   HI tmp_tmpops;
    807   SI tmp_newval;
    808   tmp_tmpops = GET_H_GR (FLD (f_operand1));
    809   tmp_newval = ZEXTHISI (tmp_tmpops);
    810   {
    811     SI opval = tmp_newval;
    812     SET_H_GR (FLD (f_operand2), opval);
    813     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    814   }
    815 {
    816   {
    817     BI opval = LTSI (tmp_newval, 0);
    818     CPU (h_nbit) = opval;
    819     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    820   }
    821   {
    822     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    823     CPU (h_zbit) = opval;
    824     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    825   }
    826 SET_H_CBIT_MOVE (0);
    827 SET_H_VBIT_MOVE (0);
    828 {
    829   {
    830     BI opval = 0;
    831     CPU (h_xbit) = opval;
    832     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    833   }
    834   {
    835     BI opval = 0;
    836     SET_H_INSN_PREFIXED_P (opval);
    837     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    838   }
    839 }
    840 }
    841 }
    842 
    843 #undef FLD
    844 }
    845   NEXT (vpc);
    846 
    847   CASE (sem, INSN_MOVECBR) : /* move.b ${sconst8},${Rd} */
    848 {
    849   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    850   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    851 #define FLD(f) abuf->fields.sfmt_addcbr.f
    852   int UNUSED written = 0;
    853   IADDR UNUSED pc = abuf->addr;
    854   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
    855 
    856 {
    857   QI tmp_newval;
    858   tmp_newval = FLD (f_indir_pc__byte);
    859 {
    860   SI tmp_oldregval;
    861   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
    862   {
    863     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
    864     SET_H_GR (FLD (f_operand2), opval);
    865     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    866   }
    867 }
    868 {
    869   {
    870     BI opval = LTQI (tmp_newval, 0);
    871     CPU (h_nbit) = opval;
    872     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    873   }
    874   {
    875     BI opval = ANDIF (EQQI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    876     CPU (h_zbit) = opval;
    877     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    878   }
    879 SET_H_CBIT_MOVE (0);
    880 SET_H_VBIT_MOVE (0);
    881 {
    882   {
    883     BI opval = 0;
    884     CPU (h_xbit) = opval;
    885     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    886   }
    887   {
    888     BI opval = 0;
    889     SET_H_INSN_PREFIXED_P (opval);
    890     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    891   }
    892 }
    893 }
    894 }
    895 
    896 #undef FLD
    897 }
    898   NEXT (vpc);
    899 
    900   CASE (sem, INSN_MOVECWR) : /* move.w ${sconst16},${Rd} */
    901 {
    902   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    903   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    904 #define FLD(f) abuf->fields.sfmt_addcwr.f
    905   int UNUSED written = 0;
    906   IADDR UNUSED pc = abuf->addr;
    907   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
    908 
    909 {
    910   HI tmp_newval;
    911   tmp_newval = FLD (f_indir_pc__word);
    912 {
    913   SI tmp_oldregval;
    914   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
    915   {
    916     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
    917     SET_H_GR (FLD (f_operand2), opval);
    918     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    919   }
    920 }
    921 {
    922   {
    923     BI opval = LTHI (tmp_newval, 0);
    924     CPU (h_nbit) = opval;
    925     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    926   }
    927   {
    928     BI opval = ANDIF (EQHI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    929     CPU (h_zbit) = opval;
    930     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    931   }
    932 SET_H_CBIT_MOVE (0);
    933 SET_H_VBIT_MOVE (0);
    934 {
    935   {
    936     BI opval = 0;
    937     CPU (h_xbit) = opval;
    938     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    939   }
    940   {
    941     BI opval = 0;
    942     SET_H_INSN_PREFIXED_P (opval);
    943     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    944   }
    945 }
    946 }
    947 }
    948 
    949 #undef FLD
    950 }
    951   NEXT (vpc);
    952 
    953   CASE (sem, INSN_MOVECDR) : /* move.d ${const32},${Rd} */
    954 {
    955   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
    956   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
    957 #define FLD(f) abuf->fields.sfmt_bound_cd.f
    958   int UNUSED written = 0;
    959   IADDR UNUSED pc = abuf->addr;
    960   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
    961 
    962 {
    963   SI tmp_newval;
    964   tmp_newval = FLD (f_indir_pc__dword);
    965   {
    966     SI opval = tmp_newval;
    967     SET_H_GR (FLD (f_operand2), opval);
    968     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    969   }
    970 {
    971   {
    972     BI opval = LTSI (tmp_newval, 0);
    973     CPU (h_nbit) = opval;
    974     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
    975   }
    976   {
    977     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
    978     CPU (h_zbit) = opval;
    979     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
    980   }
    981 SET_H_CBIT_MOVE (0);
    982 SET_H_VBIT_MOVE (0);
    983 {
    984   {
    985     BI opval = 0;
    986     CPU (h_xbit) = opval;
    987     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    988   }
    989   {
    990     BI opval = 0;
    991     SET_H_INSN_PREFIXED_P (opval);
    992     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
    993   }
    994 }
    995 }
    996 }
    997 
    998 #undef FLD
    999 }
   1000   NEXT (vpc);
   1001 
   1002   CASE (sem, INSN_MOVSCBR) : /* movs.b ${sconst8},${Rd} */
   1003 {
   1004   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1005   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1006 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   1007   int UNUSED written = 0;
   1008   IADDR UNUSED pc = abuf->addr;
   1009   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   1010 
   1011 {
   1012   SI tmp_newval;
   1013   tmp_newval = EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   1014   {
   1015     SI opval = tmp_newval;
   1016     SET_H_GR (FLD (f_operand2), opval);
   1017     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1018   }
   1019 {
   1020   {
   1021     BI opval = LTSI (tmp_newval, 0);
   1022     CPU (h_nbit) = opval;
   1023     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1024   }
   1025   {
   1026     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   1027     CPU (h_zbit) = opval;
   1028     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1029   }
   1030 SET_H_CBIT_MOVE (0);
   1031 SET_H_VBIT_MOVE (0);
   1032 {
   1033   {
   1034     BI opval = 0;
   1035     CPU (h_xbit) = opval;
   1036     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1037   }
   1038   {
   1039     BI opval = 0;
   1040     SET_H_INSN_PREFIXED_P (opval);
   1041     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1042   }
   1043 }
   1044 }
   1045 }
   1046 
   1047 #undef FLD
   1048 }
   1049   NEXT (vpc);
   1050 
   1051   CASE (sem, INSN_MOVSCWR) : /* movs.w ${sconst16},${Rd} */
   1052 {
   1053   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1054   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1055 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   1056   int UNUSED written = 0;
   1057   IADDR UNUSED pc = abuf->addr;
   1058   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   1059 
   1060 {
   1061   SI tmp_newval;
   1062   tmp_newval = EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   1063   {
   1064     SI opval = tmp_newval;
   1065     SET_H_GR (FLD (f_operand2), opval);
   1066     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1067   }
   1068 {
   1069   {
   1070     BI opval = LTSI (tmp_newval, 0);
   1071     CPU (h_nbit) = opval;
   1072     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1073   }
   1074   {
   1075     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   1076     CPU (h_zbit) = opval;
   1077     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1078   }
   1079 SET_H_CBIT_MOVE (0);
   1080 SET_H_VBIT_MOVE (0);
   1081 {
   1082   {
   1083     BI opval = 0;
   1084     CPU (h_xbit) = opval;
   1085     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1086   }
   1087   {
   1088     BI opval = 0;
   1089     SET_H_INSN_PREFIXED_P (opval);
   1090     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1091   }
   1092 }
   1093 }
   1094 }
   1095 
   1096 #undef FLD
   1097 }
   1098   NEXT (vpc);
   1099 
   1100   CASE (sem, INSN_MOVUCBR) : /* movu.b ${uconst8},${Rd} */
   1101 {
   1102   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1103   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1104 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   1105   int UNUSED written = 0;
   1106   IADDR UNUSED pc = abuf->addr;
   1107   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   1108 
   1109 {
   1110   SI tmp_newval;
   1111   tmp_newval = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   1112   {
   1113     SI opval = tmp_newval;
   1114     SET_H_GR (FLD (f_operand2), opval);
   1115     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1116   }
   1117 {
   1118   {
   1119     BI opval = LTSI (tmp_newval, 0);
   1120     CPU (h_nbit) = opval;
   1121     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1122   }
   1123   {
   1124     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   1125     CPU (h_zbit) = opval;
   1126     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1127   }
   1128 SET_H_CBIT_MOVE (0);
   1129 SET_H_VBIT_MOVE (0);
   1130 {
   1131   {
   1132     BI opval = 0;
   1133     CPU (h_xbit) = opval;
   1134     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1135   }
   1136   {
   1137     BI opval = 0;
   1138     SET_H_INSN_PREFIXED_P (opval);
   1139     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1140   }
   1141 }
   1142 }
   1143 }
   1144 
   1145 #undef FLD
   1146 }
   1147   NEXT (vpc);
   1148 
   1149   CASE (sem, INSN_MOVUCWR) : /* movu.w ${uconst16},${Rd} */
   1150 {
   1151   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1152   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1153 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   1154   int UNUSED written = 0;
   1155   IADDR UNUSED pc = abuf->addr;
   1156   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   1157 
   1158 {
   1159   SI tmp_newval;
   1160   tmp_newval = ZEXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   1161   {
   1162     SI opval = tmp_newval;
   1163     SET_H_GR (FLD (f_operand2), opval);
   1164     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1165   }
   1166 {
   1167   {
   1168     BI opval = LTSI (tmp_newval, 0);
   1169     CPU (h_nbit) = opval;
   1170     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1171   }
   1172   {
   1173     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   1174     CPU (h_zbit) = opval;
   1175     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1176   }
   1177 SET_H_CBIT_MOVE (0);
   1178 SET_H_VBIT_MOVE (0);
   1179 {
   1180   {
   1181     BI opval = 0;
   1182     CPU (h_xbit) = opval;
   1183     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1184   }
   1185   {
   1186     BI opval = 0;
   1187     SET_H_INSN_PREFIXED_P (opval);
   1188     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1189   }
   1190 }
   1191 }
   1192 }
   1193 
   1194 #undef FLD
   1195 }
   1196   NEXT (vpc);
   1197 
   1198   CASE (sem, INSN_ADDQ) : /* addq $j,$Rd */
   1199 {
   1200   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1201   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1202 #define FLD(f) abuf->fields.sfmt_addq.f
   1203   int UNUSED written = 0;
   1204   IADDR UNUSED pc = abuf->addr;
   1205   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1206 
   1207 {
   1208   SI tmp_tmpopd;
   1209   SI tmp_tmpops;
   1210   BI tmp_carry;
   1211   SI tmp_newval;
   1212   tmp_tmpops = FLD (f_u6);
   1213   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1214   tmp_carry = CPU (h_cbit);
   1215   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1216   {
   1217     SI opval = tmp_newval;
   1218     SET_H_GR (FLD (f_operand2), opval);
   1219     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1220   }
   1221 {
   1222   {
   1223     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   1224     CPU (h_cbit) = opval;
   1225     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1226   }
   1227   {
   1228     BI opval = LTSI (tmp_newval, 0);
   1229     CPU (h_nbit) = opval;
   1230     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1231   }
   1232   {
   1233     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1234     CPU (h_zbit) = opval;
   1235     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1236   }
   1237   {
   1238     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   1239     CPU (h_vbit) = opval;
   1240     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1241   }
   1242 {
   1243   {
   1244     BI opval = 0;
   1245     CPU (h_xbit) = opval;
   1246     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1247   }
   1248   {
   1249     BI opval = 0;
   1250     SET_H_INSN_PREFIXED_P (opval);
   1251     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1252   }
   1253 }
   1254 }
   1255 }
   1256 
   1257 #undef FLD
   1258 }
   1259   NEXT (vpc);
   1260 
   1261   CASE (sem, INSN_SUBQ) : /* subq $j,$Rd */
   1262 {
   1263   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1264   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1265 #define FLD(f) abuf->fields.sfmt_addq.f
   1266   int UNUSED written = 0;
   1267   IADDR UNUSED pc = abuf->addr;
   1268   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1269 
   1270 {
   1271   SI tmp_tmpopd;
   1272   SI tmp_tmpops;
   1273   BI tmp_carry;
   1274   SI tmp_newval;
   1275   tmp_tmpops = FLD (f_u6);
   1276   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1277   tmp_carry = CPU (h_cbit);
   1278   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1279   {
   1280     SI opval = tmp_newval;
   1281     SET_H_GR (FLD (f_operand2), opval);
   1282     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1283   }
   1284 {
   1285   {
   1286     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   1287     CPU (h_cbit) = opval;
   1288     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1289   }
   1290   {
   1291     BI opval = LTSI (tmp_newval, 0);
   1292     CPU (h_nbit) = opval;
   1293     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1294   }
   1295   {
   1296     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1297     CPU (h_zbit) = opval;
   1298     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1299   }
   1300   {
   1301     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   1302     CPU (h_vbit) = opval;
   1303     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1304   }
   1305 {
   1306   {
   1307     BI opval = 0;
   1308     CPU (h_xbit) = opval;
   1309     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1310   }
   1311   {
   1312     BI opval = 0;
   1313     SET_H_INSN_PREFIXED_P (opval);
   1314     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1315   }
   1316 }
   1317 }
   1318 }
   1319 
   1320 #undef FLD
   1321 }
   1322   NEXT (vpc);
   1323 
   1324   CASE (sem, INSN_CMP_R_B_R) : /* cmp-r.b $Rs,$Rd */
   1325 {
   1326   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1327   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1328 #define FLD(f) abuf->fields.sfmt_muls_b.f
   1329   int UNUSED written = 0;
   1330   IADDR UNUSED pc = abuf->addr;
   1331   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1332 
   1333 {
   1334   QI tmp_tmpopd;
   1335   QI tmp_tmpops;
   1336   BI tmp_carry;
   1337   QI tmp_newval;
   1338   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   1339   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1340   tmp_carry = CPU (h_cbit);
   1341   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1342 ((void) 0); /*nop*/
   1343 {
   1344   {
   1345     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   1346     CPU (h_cbit) = opval;
   1347     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1348   }
   1349   {
   1350     BI opval = LTQI (tmp_newval, 0);
   1351     CPU (h_nbit) = opval;
   1352     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1353   }
   1354   {
   1355     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1356     CPU (h_zbit) = opval;
   1357     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1358   }
   1359   {
   1360     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   1361     CPU (h_vbit) = opval;
   1362     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1363   }
   1364 {
   1365   {
   1366     BI opval = 0;
   1367     CPU (h_xbit) = opval;
   1368     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1369   }
   1370   {
   1371     BI opval = 0;
   1372     SET_H_INSN_PREFIXED_P (opval);
   1373     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1374   }
   1375 }
   1376 }
   1377 }
   1378 
   1379 #undef FLD
   1380 }
   1381   NEXT (vpc);
   1382 
   1383   CASE (sem, INSN_CMP_R_W_R) : /* cmp-r.w $Rs,$Rd */
   1384 {
   1385   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1386   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1387 #define FLD(f) abuf->fields.sfmt_muls_b.f
   1388   int UNUSED written = 0;
   1389   IADDR UNUSED pc = abuf->addr;
   1390   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1391 
   1392 {
   1393   HI tmp_tmpopd;
   1394   HI tmp_tmpops;
   1395   BI tmp_carry;
   1396   HI tmp_newval;
   1397   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   1398   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1399   tmp_carry = CPU (h_cbit);
   1400   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1401 ((void) 0); /*nop*/
   1402 {
   1403   {
   1404     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   1405     CPU (h_cbit) = opval;
   1406     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1407   }
   1408   {
   1409     BI opval = LTHI (tmp_newval, 0);
   1410     CPU (h_nbit) = opval;
   1411     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1412   }
   1413   {
   1414     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1415     CPU (h_zbit) = opval;
   1416     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1417   }
   1418   {
   1419     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   1420     CPU (h_vbit) = opval;
   1421     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1422   }
   1423 {
   1424   {
   1425     BI opval = 0;
   1426     CPU (h_xbit) = opval;
   1427     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1428   }
   1429   {
   1430     BI opval = 0;
   1431     SET_H_INSN_PREFIXED_P (opval);
   1432     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1433   }
   1434 }
   1435 }
   1436 }
   1437 
   1438 #undef FLD
   1439 }
   1440   NEXT (vpc);
   1441 
   1442   CASE (sem, INSN_CMP_R_D_R) : /* cmp-r.d $Rs,$Rd */
   1443 {
   1444   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1445   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1446 #define FLD(f) abuf->fields.sfmt_muls_b.f
   1447   int UNUSED written = 0;
   1448   IADDR UNUSED pc = abuf->addr;
   1449   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1450 
   1451 {
   1452   SI tmp_tmpopd;
   1453   SI tmp_tmpops;
   1454   BI tmp_carry;
   1455   SI tmp_newval;
   1456   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   1457   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1458   tmp_carry = CPU (h_cbit);
   1459   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1460 ((void) 0); /*nop*/
   1461 {
   1462   {
   1463     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   1464     CPU (h_cbit) = opval;
   1465     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1466   }
   1467   {
   1468     BI opval = LTSI (tmp_newval, 0);
   1469     CPU (h_nbit) = opval;
   1470     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1471   }
   1472   {
   1473     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1474     CPU (h_zbit) = opval;
   1475     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1476   }
   1477   {
   1478     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   1479     CPU (h_vbit) = opval;
   1480     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1481   }
   1482 {
   1483   {
   1484     BI opval = 0;
   1485     CPU (h_xbit) = opval;
   1486     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1487   }
   1488   {
   1489     BI opval = 0;
   1490     SET_H_INSN_PREFIXED_P (opval);
   1491     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1492   }
   1493 }
   1494 }
   1495 }
   1496 
   1497 #undef FLD
   1498 }
   1499   NEXT (vpc);
   1500 
   1501   CASE (sem, INSN_CMP_M_B_M) : /* cmp-m.b [${Rs}${inc}],${Rd} */
   1502 {
   1503   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1504   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1505 #define FLD(f) abuf->fields.sfmt_addc_m.f
   1506   int UNUSED written = 0;
   1507   IADDR UNUSED pc = abuf->addr;
   1508   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1509 
   1510 {
   1511   QI tmp_tmpopd;
   1512   QI tmp_tmpops;
   1513   BI tmp_carry;
   1514   QI tmp_newval;
   1515   tmp_tmpops = ({   SI tmp_addr;
   1516   QI tmp_tmp_mem;
   1517   BI tmp_postinc;
   1518   tmp_postinc = FLD (f_memmode);
   1519 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   1520 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   1521 ; if (NEBI (tmp_postinc, 0)) {
   1522 {
   1523 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   1524   tmp_addr = ADDSI (tmp_addr, 1);
   1525 }
   1526   {
   1527     SI opval = tmp_addr;
   1528     SET_H_GR (FLD (f_operand1), opval);
   1529     written |= (1 << 9);
   1530     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1531   }
   1532 }
   1533 }
   1534 ; tmp_tmp_mem; });
   1535   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1536   tmp_carry = CPU (h_cbit);
   1537   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1538 ((void) 0); /*nop*/
   1539 {
   1540   {
   1541     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   1542     CPU (h_cbit) = opval;
   1543     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1544   }
   1545   {
   1546     BI opval = LTQI (tmp_newval, 0);
   1547     CPU (h_nbit) = opval;
   1548     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1549   }
   1550   {
   1551     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1552     CPU (h_zbit) = opval;
   1553     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1554   }
   1555   {
   1556     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   1557     CPU (h_vbit) = opval;
   1558     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1559   }
   1560 {
   1561   {
   1562     BI opval = 0;
   1563     CPU (h_xbit) = opval;
   1564     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1565   }
   1566   {
   1567     BI opval = 0;
   1568     SET_H_INSN_PREFIXED_P (opval);
   1569     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1570   }
   1571 }
   1572 }
   1573 }
   1574 
   1575   abuf->written = written;
   1576 #undef FLD
   1577 }
   1578   NEXT (vpc);
   1579 
   1580   CASE (sem, INSN_CMP_M_W_M) : /* cmp-m.w [${Rs}${inc}],${Rd} */
   1581 {
   1582   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1583   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1584 #define FLD(f) abuf->fields.sfmt_addc_m.f
   1585   int UNUSED written = 0;
   1586   IADDR UNUSED pc = abuf->addr;
   1587   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1588 
   1589 {
   1590   HI tmp_tmpopd;
   1591   HI tmp_tmpops;
   1592   BI tmp_carry;
   1593   HI tmp_newval;
   1594   tmp_tmpops = ({   SI tmp_addr;
   1595   HI tmp_tmp_mem;
   1596   BI tmp_postinc;
   1597   tmp_postinc = FLD (f_memmode);
   1598 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   1599 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   1600 ; if (NEBI (tmp_postinc, 0)) {
   1601 {
   1602 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   1603   tmp_addr = ADDSI (tmp_addr, 2);
   1604 }
   1605   {
   1606     SI opval = tmp_addr;
   1607     SET_H_GR (FLD (f_operand1), opval);
   1608     written |= (1 << 9);
   1609     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1610   }
   1611 }
   1612 }
   1613 ; tmp_tmp_mem; });
   1614   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1615   tmp_carry = CPU (h_cbit);
   1616   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1617 ((void) 0); /*nop*/
   1618 {
   1619   {
   1620     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   1621     CPU (h_cbit) = opval;
   1622     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1623   }
   1624   {
   1625     BI opval = LTHI (tmp_newval, 0);
   1626     CPU (h_nbit) = opval;
   1627     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1628   }
   1629   {
   1630     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1631     CPU (h_zbit) = opval;
   1632     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1633   }
   1634   {
   1635     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   1636     CPU (h_vbit) = opval;
   1637     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1638   }
   1639 {
   1640   {
   1641     BI opval = 0;
   1642     CPU (h_xbit) = opval;
   1643     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1644   }
   1645   {
   1646     BI opval = 0;
   1647     SET_H_INSN_PREFIXED_P (opval);
   1648     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1649   }
   1650 }
   1651 }
   1652 }
   1653 
   1654   abuf->written = written;
   1655 #undef FLD
   1656 }
   1657   NEXT (vpc);
   1658 
   1659   CASE (sem, INSN_CMP_M_D_M) : /* cmp-m.d [${Rs}${inc}],${Rd} */
   1660 {
   1661   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1662   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1663 #define FLD(f) abuf->fields.sfmt_addc_m.f
   1664   int UNUSED written = 0;
   1665   IADDR UNUSED pc = abuf->addr;
   1666   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1667 
   1668 {
   1669   SI tmp_tmpopd;
   1670   SI tmp_tmpops;
   1671   BI tmp_carry;
   1672   SI tmp_newval;
   1673   tmp_tmpops = ({   SI tmp_addr;
   1674   SI tmp_tmp_mem;
   1675   BI tmp_postinc;
   1676   tmp_postinc = FLD (f_memmode);
   1677 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   1678 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   1679 ; if (NEBI (tmp_postinc, 0)) {
   1680 {
   1681 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   1682   tmp_addr = ADDSI (tmp_addr, 4);
   1683 }
   1684   {
   1685     SI opval = tmp_addr;
   1686     SET_H_GR (FLD (f_operand1), opval);
   1687     written |= (1 << 9);
   1688     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1689   }
   1690 }
   1691 }
   1692 ; tmp_tmp_mem; });
   1693   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1694   tmp_carry = CPU (h_cbit);
   1695   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1696 ((void) 0); /*nop*/
   1697 {
   1698   {
   1699     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   1700     CPU (h_cbit) = opval;
   1701     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1702   }
   1703   {
   1704     BI opval = LTSI (tmp_newval, 0);
   1705     CPU (h_nbit) = opval;
   1706     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1707   }
   1708   {
   1709     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1710     CPU (h_zbit) = opval;
   1711     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1712   }
   1713   {
   1714     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   1715     CPU (h_vbit) = opval;
   1716     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1717   }
   1718 {
   1719   {
   1720     BI opval = 0;
   1721     CPU (h_xbit) = opval;
   1722     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1723   }
   1724   {
   1725     BI opval = 0;
   1726     SET_H_INSN_PREFIXED_P (opval);
   1727     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1728   }
   1729 }
   1730 }
   1731 }
   1732 
   1733   abuf->written = written;
   1734 #undef FLD
   1735 }
   1736   NEXT (vpc);
   1737 
   1738   CASE (sem, INSN_CMPCBR) : /* cmp.b $sconst8,$Rd */
   1739 {
   1740   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1741   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1742 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   1743   int UNUSED written = 0;
   1744   IADDR UNUSED pc = abuf->addr;
   1745   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   1746 
   1747 {
   1748   QI tmp_tmpopd;
   1749   QI tmp_tmpops;
   1750   BI tmp_carry;
   1751   QI tmp_newval;
   1752   tmp_tmpops = TRUNCSIQI (FLD (f_indir_pc__byte));
   1753   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1754   tmp_carry = CPU (h_cbit);
   1755   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1756 ((void) 0); /*nop*/
   1757 {
   1758   {
   1759     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   1760     CPU (h_cbit) = opval;
   1761     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1762   }
   1763   {
   1764     BI opval = LTQI (tmp_newval, 0);
   1765     CPU (h_nbit) = opval;
   1766     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1767   }
   1768   {
   1769     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1770     CPU (h_zbit) = opval;
   1771     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1772   }
   1773   {
   1774     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   1775     CPU (h_vbit) = opval;
   1776     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1777   }
   1778 {
   1779   {
   1780     BI opval = 0;
   1781     CPU (h_xbit) = opval;
   1782     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1783   }
   1784   {
   1785     BI opval = 0;
   1786     SET_H_INSN_PREFIXED_P (opval);
   1787     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1788   }
   1789 }
   1790 }
   1791 }
   1792 
   1793 #undef FLD
   1794 }
   1795   NEXT (vpc);
   1796 
   1797   CASE (sem, INSN_CMPCWR) : /* cmp.w $sconst16,$Rd */
   1798 {
   1799   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1800   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1801 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   1802   int UNUSED written = 0;
   1803   IADDR UNUSED pc = abuf->addr;
   1804   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   1805 
   1806 {
   1807   HI tmp_tmpopd;
   1808   HI tmp_tmpops;
   1809   BI tmp_carry;
   1810   HI tmp_newval;
   1811   tmp_tmpops = TRUNCSIHI (FLD (f_indir_pc__word));
   1812   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1813   tmp_carry = CPU (h_cbit);
   1814   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1815 ((void) 0); /*nop*/
   1816 {
   1817   {
   1818     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   1819     CPU (h_cbit) = opval;
   1820     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1821   }
   1822   {
   1823     BI opval = LTHI (tmp_newval, 0);
   1824     CPU (h_nbit) = opval;
   1825     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1826   }
   1827   {
   1828     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1829     CPU (h_zbit) = opval;
   1830     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1831   }
   1832   {
   1833     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   1834     CPU (h_vbit) = opval;
   1835     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1836   }
   1837 {
   1838   {
   1839     BI opval = 0;
   1840     CPU (h_xbit) = opval;
   1841     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1842   }
   1843   {
   1844     BI opval = 0;
   1845     SET_H_INSN_PREFIXED_P (opval);
   1846     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1847   }
   1848 }
   1849 }
   1850 }
   1851 
   1852 #undef FLD
   1853 }
   1854   NEXT (vpc);
   1855 
   1856   CASE (sem, INSN_CMPCDR) : /* cmp.d $const32,$Rd */
   1857 {
   1858   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1859   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1860 #define FLD(f) abuf->fields.sfmt_bound_cd.f
   1861   int UNUSED written = 0;
   1862   IADDR UNUSED pc = abuf->addr;
   1863   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   1864 
   1865 {
   1866   SI tmp_tmpopd;
   1867   SI tmp_tmpops;
   1868   BI tmp_carry;
   1869   SI tmp_newval;
   1870   tmp_tmpops = FLD (f_indir_pc__dword);
   1871   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1872   tmp_carry = CPU (h_cbit);
   1873   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1874 ((void) 0); /*nop*/
   1875 {
   1876   {
   1877     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   1878     CPU (h_cbit) = opval;
   1879     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1880   }
   1881   {
   1882     BI opval = LTSI (tmp_newval, 0);
   1883     CPU (h_nbit) = opval;
   1884     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1885   }
   1886   {
   1887     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1888     CPU (h_zbit) = opval;
   1889     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1890   }
   1891   {
   1892     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   1893     CPU (h_vbit) = opval;
   1894     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1895   }
   1896 {
   1897   {
   1898     BI opval = 0;
   1899     CPU (h_xbit) = opval;
   1900     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1901   }
   1902   {
   1903     BI opval = 0;
   1904     SET_H_INSN_PREFIXED_P (opval);
   1905     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1906   }
   1907 }
   1908 }
   1909 }
   1910 
   1911 #undef FLD
   1912 }
   1913   NEXT (vpc);
   1914 
   1915   CASE (sem, INSN_CMPQ) : /* cmpq $i,$Rd */
   1916 {
   1917   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1918   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1919 #define FLD(f) abuf->fields.sfmt_andq.f
   1920   int UNUSED written = 0;
   1921   IADDR UNUSED pc = abuf->addr;
   1922   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1923 
   1924 {
   1925   SI tmp_tmpopd;
   1926   SI tmp_tmpops;
   1927   BI tmp_carry;
   1928   SI tmp_newval;
   1929   tmp_tmpops = FLD (f_s6);
   1930   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   1931   tmp_carry = CPU (h_cbit);
   1932   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   1933 ((void) 0); /*nop*/
   1934 {
   1935   {
   1936     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   1937     CPU (h_cbit) = opval;
   1938     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1939   }
   1940   {
   1941     BI opval = LTSI (tmp_newval, 0);
   1942     CPU (h_nbit) = opval;
   1943     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   1944   }
   1945   {
   1946     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   1947     CPU (h_zbit) = opval;
   1948     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   1949   }
   1950   {
   1951     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   1952     CPU (h_vbit) = opval;
   1953     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1954   }
   1955 {
   1956   {
   1957     BI opval = 0;
   1958     CPU (h_xbit) = opval;
   1959     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1960   }
   1961   {
   1962     BI opval = 0;
   1963     SET_H_INSN_PREFIXED_P (opval);
   1964     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   1965   }
   1966 }
   1967 }
   1968 }
   1969 
   1970 #undef FLD
   1971 }
   1972   NEXT (vpc);
   1973 
   1974   CASE (sem, INSN_CMPS_M_B_M) : /* cmps-m.b [${Rs}${inc}],$Rd */
   1975 {
   1976   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   1977   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   1978 #define FLD(f) abuf->fields.sfmt_addc_m.f
   1979   int UNUSED written = 0;
   1980   IADDR UNUSED pc = abuf->addr;
   1981   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   1982 
   1983 {
   1984   SI tmp_tmpopd;
   1985   SI tmp_tmpops;
   1986   BI tmp_carry;
   1987   SI tmp_newval;
   1988   tmp_tmpops = EXTQISI (({   SI tmp_addr;
   1989   QI tmp_tmp_mem;
   1990   BI tmp_postinc;
   1991   tmp_postinc = FLD (f_memmode);
   1992 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   1993 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   1994 ; if (NEBI (tmp_postinc, 0)) {
   1995 {
   1996 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   1997   tmp_addr = ADDSI (tmp_addr, 1);
   1998 }
   1999   {
   2000     SI opval = tmp_addr;
   2001     SET_H_GR (FLD (f_operand1), opval);
   2002     written |= (1 << 9);
   2003     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2004   }
   2005 }
   2006 }
   2007 ; tmp_tmp_mem; }));
   2008   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2009   tmp_carry = CPU (h_cbit);
   2010   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2011 ((void) 0); /*nop*/
   2012 {
   2013   {
   2014     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2015     CPU (h_cbit) = opval;
   2016     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2017   }
   2018   {
   2019     BI opval = LTSI (tmp_newval, 0);
   2020     CPU (h_nbit) = opval;
   2021     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2022   }
   2023   {
   2024     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2025     CPU (h_zbit) = opval;
   2026     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2027   }
   2028   {
   2029     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2030     CPU (h_vbit) = opval;
   2031     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2032   }
   2033 {
   2034   {
   2035     BI opval = 0;
   2036     CPU (h_xbit) = opval;
   2037     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2038   }
   2039   {
   2040     BI opval = 0;
   2041     SET_H_INSN_PREFIXED_P (opval);
   2042     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2043   }
   2044 }
   2045 }
   2046 }
   2047 
   2048   abuf->written = written;
   2049 #undef FLD
   2050 }
   2051   NEXT (vpc);
   2052 
   2053   CASE (sem, INSN_CMPS_M_W_M) : /* cmps-m.w [${Rs}${inc}],$Rd */
   2054 {
   2055   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2056   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2057 #define FLD(f) abuf->fields.sfmt_addc_m.f
   2058   int UNUSED written = 0;
   2059   IADDR UNUSED pc = abuf->addr;
   2060   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2061 
   2062 {
   2063   SI tmp_tmpopd;
   2064   SI tmp_tmpops;
   2065   BI tmp_carry;
   2066   SI tmp_newval;
   2067   tmp_tmpops = EXTHISI (({   SI tmp_addr;
   2068   HI tmp_tmp_mem;
   2069   BI tmp_postinc;
   2070   tmp_postinc = FLD (f_memmode);
   2071 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2072 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   2073 ; if (NEBI (tmp_postinc, 0)) {
   2074 {
   2075 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2076   tmp_addr = ADDSI (tmp_addr, 2);
   2077 }
   2078   {
   2079     SI opval = tmp_addr;
   2080     SET_H_GR (FLD (f_operand1), opval);
   2081     written |= (1 << 9);
   2082     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2083   }
   2084 }
   2085 }
   2086 ; tmp_tmp_mem; }));
   2087   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2088   tmp_carry = CPU (h_cbit);
   2089   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2090 ((void) 0); /*nop*/
   2091 {
   2092   {
   2093     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2094     CPU (h_cbit) = opval;
   2095     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2096   }
   2097   {
   2098     BI opval = LTSI (tmp_newval, 0);
   2099     CPU (h_nbit) = opval;
   2100     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2101   }
   2102   {
   2103     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2104     CPU (h_zbit) = opval;
   2105     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2106   }
   2107   {
   2108     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2109     CPU (h_vbit) = opval;
   2110     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2111   }
   2112 {
   2113   {
   2114     BI opval = 0;
   2115     CPU (h_xbit) = opval;
   2116     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2117   }
   2118   {
   2119     BI opval = 0;
   2120     SET_H_INSN_PREFIXED_P (opval);
   2121     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2122   }
   2123 }
   2124 }
   2125 }
   2126 
   2127   abuf->written = written;
   2128 #undef FLD
   2129 }
   2130   NEXT (vpc);
   2131 
   2132   CASE (sem, INSN_CMPSCBR) : /* [${Rs}${inc}],$Rd */
   2133 {
   2134   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2135   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2136 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   2137   int UNUSED written = 0;
   2138   IADDR UNUSED pc = abuf->addr;
   2139   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   2140 
   2141 {
   2142   SI tmp_tmpopd;
   2143   SI tmp_tmpops;
   2144   BI tmp_carry;
   2145   SI tmp_newval;
   2146   tmp_tmpops = EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   2147   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2148   tmp_carry = CPU (h_cbit);
   2149   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2150 ((void) 0); /*nop*/
   2151 {
   2152   {
   2153     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2154     CPU (h_cbit) = opval;
   2155     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2156   }
   2157   {
   2158     BI opval = LTSI (tmp_newval, 0);
   2159     CPU (h_nbit) = opval;
   2160     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2161   }
   2162   {
   2163     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2164     CPU (h_zbit) = opval;
   2165     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2166   }
   2167   {
   2168     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2169     CPU (h_vbit) = opval;
   2170     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2171   }
   2172 {
   2173   {
   2174     BI opval = 0;
   2175     CPU (h_xbit) = opval;
   2176     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2177   }
   2178   {
   2179     BI opval = 0;
   2180     SET_H_INSN_PREFIXED_P (opval);
   2181     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2182   }
   2183 }
   2184 }
   2185 }
   2186 
   2187 #undef FLD
   2188 }
   2189   NEXT (vpc);
   2190 
   2191   CASE (sem, INSN_CMPSCWR) : /* [${Rs}${inc}],$Rd */
   2192 {
   2193   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2194   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2195 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   2196   int UNUSED written = 0;
   2197   IADDR UNUSED pc = abuf->addr;
   2198   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   2199 
   2200 {
   2201   SI tmp_tmpopd;
   2202   SI tmp_tmpops;
   2203   BI tmp_carry;
   2204   SI tmp_newval;
   2205   tmp_tmpops = EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   2206   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2207   tmp_carry = CPU (h_cbit);
   2208   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2209 ((void) 0); /*nop*/
   2210 {
   2211   {
   2212     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2213     CPU (h_cbit) = opval;
   2214     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2215   }
   2216   {
   2217     BI opval = LTSI (tmp_newval, 0);
   2218     CPU (h_nbit) = opval;
   2219     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2220   }
   2221   {
   2222     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2223     CPU (h_zbit) = opval;
   2224     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2225   }
   2226   {
   2227     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2228     CPU (h_vbit) = opval;
   2229     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2230   }
   2231 {
   2232   {
   2233     BI opval = 0;
   2234     CPU (h_xbit) = opval;
   2235     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2236   }
   2237   {
   2238     BI opval = 0;
   2239     SET_H_INSN_PREFIXED_P (opval);
   2240     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2241   }
   2242 }
   2243 }
   2244 }
   2245 
   2246 #undef FLD
   2247 }
   2248   NEXT (vpc);
   2249 
   2250   CASE (sem, INSN_CMPU_M_B_M) : /* cmpu-m.b [${Rs}${inc}],$Rd */
   2251 {
   2252   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2253   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2254 #define FLD(f) abuf->fields.sfmt_addc_m.f
   2255   int UNUSED written = 0;
   2256   IADDR UNUSED pc = abuf->addr;
   2257   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2258 
   2259 {
   2260   SI tmp_tmpopd;
   2261   SI tmp_tmpops;
   2262   BI tmp_carry;
   2263   SI tmp_newval;
   2264   tmp_tmpops = ZEXTQISI (({   SI tmp_addr;
   2265   QI tmp_tmp_mem;
   2266   BI tmp_postinc;
   2267   tmp_postinc = FLD (f_memmode);
   2268 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2269 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   2270 ; if (NEBI (tmp_postinc, 0)) {
   2271 {
   2272 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2273   tmp_addr = ADDSI (tmp_addr, 1);
   2274 }
   2275   {
   2276     SI opval = tmp_addr;
   2277     SET_H_GR (FLD (f_operand1), opval);
   2278     written |= (1 << 9);
   2279     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2280   }
   2281 }
   2282 }
   2283 ; tmp_tmp_mem; }));
   2284   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2285   tmp_carry = CPU (h_cbit);
   2286   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2287 ((void) 0); /*nop*/
   2288 {
   2289   {
   2290     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2291     CPU (h_cbit) = opval;
   2292     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2293   }
   2294   {
   2295     BI opval = LTSI (tmp_newval, 0);
   2296     CPU (h_nbit) = opval;
   2297     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2298   }
   2299   {
   2300     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2301     CPU (h_zbit) = opval;
   2302     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2303   }
   2304   {
   2305     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2306     CPU (h_vbit) = opval;
   2307     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2308   }
   2309 {
   2310   {
   2311     BI opval = 0;
   2312     CPU (h_xbit) = opval;
   2313     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2314   }
   2315   {
   2316     BI opval = 0;
   2317     SET_H_INSN_PREFIXED_P (opval);
   2318     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2319   }
   2320 }
   2321 }
   2322 }
   2323 
   2324   abuf->written = written;
   2325 #undef FLD
   2326 }
   2327   NEXT (vpc);
   2328 
   2329   CASE (sem, INSN_CMPU_M_W_M) : /* cmpu-m.w [${Rs}${inc}],$Rd */
   2330 {
   2331   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2332   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2333 #define FLD(f) abuf->fields.sfmt_addc_m.f
   2334   int UNUSED written = 0;
   2335   IADDR UNUSED pc = abuf->addr;
   2336   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2337 
   2338 {
   2339   SI tmp_tmpopd;
   2340   SI tmp_tmpops;
   2341   BI tmp_carry;
   2342   SI tmp_newval;
   2343   tmp_tmpops = ZEXTHISI (({   SI tmp_addr;
   2344   HI tmp_tmp_mem;
   2345   BI tmp_postinc;
   2346   tmp_postinc = FLD (f_memmode);
   2347 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2348 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   2349 ; if (NEBI (tmp_postinc, 0)) {
   2350 {
   2351 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2352   tmp_addr = ADDSI (tmp_addr, 2);
   2353 }
   2354   {
   2355     SI opval = tmp_addr;
   2356     SET_H_GR (FLD (f_operand1), opval);
   2357     written |= (1 << 9);
   2358     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2359   }
   2360 }
   2361 }
   2362 ; tmp_tmp_mem; }));
   2363   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2364   tmp_carry = CPU (h_cbit);
   2365   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2366 ((void) 0); /*nop*/
   2367 {
   2368   {
   2369     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2370     CPU (h_cbit) = opval;
   2371     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2372   }
   2373   {
   2374     BI opval = LTSI (tmp_newval, 0);
   2375     CPU (h_nbit) = opval;
   2376     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2377   }
   2378   {
   2379     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2380     CPU (h_zbit) = opval;
   2381     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2382   }
   2383   {
   2384     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2385     CPU (h_vbit) = opval;
   2386     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2387   }
   2388 {
   2389   {
   2390     BI opval = 0;
   2391     CPU (h_xbit) = opval;
   2392     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2393   }
   2394   {
   2395     BI opval = 0;
   2396     SET_H_INSN_PREFIXED_P (opval);
   2397     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2398   }
   2399 }
   2400 }
   2401 }
   2402 
   2403   abuf->written = written;
   2404 #undef FLD
   2405 }
   2406   NEXT (vpc);
   2407 
   2408   CASE (sem, INSN_CMPUCBR) : /* [${Rs}${inc}],$Rd */
   2409 {
   2410   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2411   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2412 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   2413   int UNUSED written = 0;
   2414   IADDR UNUSED pc = abuf->addr;
   2415   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   2416 
   2417 {
   2418   SI tmp_tmpopd;
   2419   SI tmp_tmpops;
   2420   BI tmp_carry;
   2421   SI tmp_newval;
   2422   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   2423   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2424   tmp_carry = CPU (h_cbit);
   2425   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2426 ((void) 0); /*nop*/
   2427 {
   2428   {
   2429     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2430     CPU (h_cbit) = opval;
   2431     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2432   }
   2433   {
   2434     BI opval = LTSI (tmp_newval, 0);
   2435     CPU (h_nbit) = opval;
   2436     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2437   }
   2438   {
   2439     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2440     CPU (h_zbit) = opval;
   2441     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2442   }
   2443   {
   2444     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2445     CPU (h_vbit) = opval;
   2446     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2447   }
   2448 {
   2449   {
   2450     BI opval = 0;
   2451     CPU (h_xbit) = opval;
   2452     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2453   }
   2454   {
   2455     BI opval = 0;
   2456     SET_H_INSN_PREFIXED_P (opval);
   2457     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2458   }
   2459 }
   2460 }
   2461 }
   2462 
   2463 #undef FLD
   2464 }
   2465   NEXT (vpc);
   2466 
   2467   CASE (sem, INSN_CMPUCWR) : /* [${Rs}${inc}],$Rd */
   2468 {
   2469   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2470   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2471 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   2472   int UNUSED written = 0;
   2473   IADDR UNUSED pc = abuf->addr;
   2474   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   2475 
   2476 {
   2477   SI tmp_tmpopd;
   2478   SI tmp_tmpops;
   2479   BI tmp_carry;
   2480   SI tmp_newval;
   2481   tmp_tmpops = ZEXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   2482   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   2483   tmp_carry = CPU (h_cbit);
   2484   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   2485 ((void) 0); /*nop*/
   2486 {
   2487   {
   2488     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   2489     CPU (h_cbit) = opval;
   2490     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2491   }
   2492   {
   2493     BI opval = LTSI (tmp_newval, 0);
   2494     CPU (h_nbit) = opval;
   2495     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2496   }
   2497   {
   2498     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   2499     CPU (h_zbit) = opval;
   2500     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2501   }
   2502   {
   2503     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   2504     CPU (h_vbit) = opval;
   2505     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2506   }
   2507 {
   2508   {
   2509     BI opval = 0;
   2510     CPU (h_xbit) = opval;
   2511     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2512   }
   2513   {
   2514     BI opval = 0;
   2515     SET_H_INSN_PREFIXED_P (opval);
   2516     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2517   }
   2518 }
   2519 }
   2520 }
   2521 
   2522 #undef FLD
   2523 }
   2524   NEXT (vpc);
   2525 
   2526   CASE (sem, INSN_MOVE_M_B_M) : /* move-m.b [${Rs}${inc}],${Rd} */
   2527 {
   2528   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2529   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2530 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   2531   int UNUSED written = 0;
   2532   IADDR UNUSED pc = abuf->addr;
   2533   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2534 
   2535 {
   2536   SI tmp_tmp;
   2537   tmp_tmp = ({   SI tmp_addr;
   2538   QI tmp_tmp_mem;
   2539   BI tmp_postinc;
   2540   tmp_postinc = FLD (f_memmode);
   2541 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2542 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   2543 ; if (NEBI (tmp_postinc, 0)) {
   2544 {
   2545 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2546   tmp_addr = ADDSI (tmp_addr, 1);
   2547 }
   2548   {
   2549     SI opval = tmp_addr;
   2550     SET_H_GR (FLD (f_operand1), opval);
   2551     written |= (1 << 10);
   2552     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2553   }
   2554 }
   2555 }
   2556 ; tmp_tmp_mem; });
   2557 {
   2558   SI tmp_oldregval;
   2559   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   2560   {
   2561     SI opval = ORSI (ANDSI (tmp_tmp, 255), ANDSI (tmp_oldregval, 0xffffff00));
   2562     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   2563     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2564   }
   2565 }
   2566 {
   2567   {
   2568     BI opval = LTQI (tmp_tmp, 0);
   2569     CPU (h_nbit) = opval;
   2570     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2571   }
   2572   {
   2573     BI opval = ANDIF (EQQI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   2574     CPU (h_zbit) = opval;
   2575     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2576   }
   2577 SET_H_CBIT_MOVE (0);
   2578 SET_H_VBIT_MOVE (0);
   2579 {
   2580   {
   2581     BI opval = 0;
   2582     CPU (h_xbit) = opval;
   2583     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2584   }
   2585   {
   2586     BI opval = 0;
   2587     SET_H_INSN_PREFIXED_P (opval);
   2588     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2589   }
   2590 }
   2591 }
   2592 }
   2593 
   2594   abuf->written = written;
   2595 #undef FLD
   2596 }
   2597   NEXT (vpc);
   2598 
   2599   CASE (sem, INSN_MOVE_M_W_M) : /* move-m.w [${Rs}${inc}],${Rd} */
   2600 {
   2601   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2602   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2603 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   2604   int UNUSED written = 0;
   2605   IADDR UNUSED pc = abuf->addr;
   2606   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2607 
   2608 {
   2609   SI tmp_tmp;
   2610   tmp_tmp = ({   SI tmp_addr;
   2611   HI tmp_tmp_mem;
   2612   BI tmp_postinc;
   2613   tmp_postinc = FLD (f_memmode);
   2614 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2615 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   2616 ; if (NEBI (tmp_postinc, 0)) {
   2617 {
   2618 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2619   tmp_addr = ADDSI (tmp_addr, 2);
   2620 }
   2621   {
   2622     SI opval = tmp_addr;
   2623     SET_H_GR (FLD (f_operand1), opval);
   2624     written |= (1 << 10);
   2625     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2626   }
   2627 }
   2628 }
   2629 ; tmp_tmp_mem; });
   2630 {
   2631   SI tmp_oldregval;
   2632   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   2633   {
   2634     SI opval = ORSI (ANDSI (tmp_tmp, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   2635     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   2636     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2637   }
   2638 }
   2639 {
   2640   {
   2641     BI opval = LTHI (tmp_tmp, 0);
   2642     CPU (h_nbit) = opval;
   2643     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2644   }
   2645   {
   2646     BI opval = ANDIF (EQHI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   2647     CPU (h_zbit) = opval;
   2648     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2649   }
   2650 SET_H_CBIT_MOVE (0);
   2651 SET_H_VBIT_MOVE (0);
   2652 {
   2653   {
   2654     BI opval = 0;
   2655     CPU (h_xbit) = opval;
   2656     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2657   }
   2658   {
   2659     BI opval = 0;
   2660     SET_H_INSN_PREFIXED_P (opval);
   2661     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2662   }
   2663 }
   2664 }
   2665 }
   2666 
   2667   abuf->written = written;
   2668 #undef FLD
   2669 }
   2670   NEXT (vpc);
   2671 
   2672   CASE (sem, INSN_MOVE_M_D_M) : /* move-m.d [${Rs}${inc}],${Rd} */
   2673 {
   2674   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2675   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2676 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   2677   int UNUSED written = 0;
   2678   IADDR UNUSED pc = abuf->addr;
   2679   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2680 
   2681 {
   2682   SI tmp_tmp;
   2683   tmp_tmp = ({   SI tmp_addr;
   2684   SI tmp_tmp_mem;
   2685   BI tmp_postinc;
   2686   tmp_postinc = FLD (f_memmode);
   2687 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2688 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   2689 ; if (NEBI (tmp_postinc, 0)) {
   2690 {
   2691 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2692   tmp_addr = ADDSI (tmp_addr, 4);
   2693 }
   2694   {
   2695     SI opval = tmp_addr;
   2696     SET_H_GR (FLD (f_operand1), opval);
   2697     written |= (1 << 9);
   2698     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2699   }
   2700 }
   2701 }
   2702 ; tmp_tmp_mem; });
   2703   {
   2704     SI opval = tmp_tmp;
   2705     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   2706     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2707   }
   2708 {
   2709   {
   2710     BI opval = LTSI (tmp_tmp, 0);
   2711     CPU (h_nbit) = opval;
   2712     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2713   }
   2714   {
   2715     BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   2716     CPU (h_zbit) = opval;
   2717     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2718   }
   2719 SET_H_CBIT_MOVE (0);
   2720 SET_H_VBIT_MOVE (0);
   2721 {
   2722   {
   2723     BI opval = 0;
   2724     CPU (h_xbit) = opval;
   2725     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2726   }
   2727   {
   2728     BI opval = 0;
   2729     SET_H_INSN_PREFIXED_P (opval);
   2730     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2731   }
   2732 }
   2733 }
   2734 }
   2735 
   2736   abuf->written = written;
   2737 #undef FLD
   2738 }
   2739   NEXT (vpc);
   2740 
   2741   CASE (sem, INSN_MOVS_M_B_M) : /* movs-m.b [${Rs}${inc}],${Rd} */
   2742 {
   2743   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2744   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2745 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
   2746   int UNUSED written = 0;
   2747   IADDR UNUSED pc = abuf->addr;
   2748   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2749 
   2750 {
   2751   SI tmp_tmp;
   2752   tmp_tmp = EXTQISI (({   SI tmp_addr;
   2753   QI tmp_tmp_mem;
   2754   BI tmp_postinc;
   2755   tmp_postinc = FLD (f_memmode);
   2756 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2757 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   2758 ; if (NEBI (tmp_postinc, 0)) {
   2759 {
   2760 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2761   tmp_addr = ADDSI (tmp_addr, 1);
   2762 }
   2763   {
   2764     SI opval = tmp_addr;
   2765     SET_H_GR (FLD (f_operand1), opval);
   2766     written |= (1 << 8);
   2767     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2768   }
   2769 }
   2770 }
   2771 ; tmp_tmp_mem; }));
   2772 if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
   2773   {
   2774     SI opval = tmp_tmp;
   2775     SET_H_GR (FLD (f_operand1), opval);
   2776     written |= (1 << 8);
   2777     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2778   }
   2779 } else {
   2780   {
   2781     SI opval = tmp_tmp;
   2782     SET_H_GR (FLD (f_operand2), opval);
   2783     written |= (1 << 7);
   2784     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2785   }
   2786 }
   2787 {
   2788   {
   2789     BI opval = LTSI (tmp_tmp, 0);
   2790     CPU (h_nbit) = opval;
   2791     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2792   }
   2793   {
   2794     BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   2795     CPU (h_zbit) = opval;
   2796     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2797   }
   2798 SET_H_CBIT_MOVE (0);
   2799 SET_H_VBIT_MOVE (0);
   2800 {
   2801   {
   2802     BI opval = 0;
   2803     CPU (h_xbit) = opval;
   2804     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2805   }
   2806   {
   2807     BI opval = 0;
   2808     SET_H_INSN_PREFIXED_P (opval);
   2809     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2810   }
   2811 }
   2812 }
   2813 }
   2814 
   2815   abuf->written = written;
   2816 #undef FLD
   2817 }
   2818   NEXT (vpc);
   2819 
   2820   CASE (sem, INSN_MOVS_M_W_M) : /* movs-m.w [${Rs}${inc}],${Rd} */
   2821 {
   2822   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2823   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2824 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
   2825   int UNUSED written = 0;
   2826   IADDR UNUSED pc = abuf->addr;
   2827   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2828 
   2829 {
   2830   SI tmp_tmp;
   2831   tmp_tmp = EXTHISI (({   SI tmp_addr;
   2832   HI tmp_tmp_mem;
   2833   BI tmp_postinc;
   2834   tmp_postinc = FLD (f_memmode);
   2835 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2836 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   2837 ; if (NEBI (tmp_postinc, 0)) {
   2838 {
   2839 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2840   tmp_addr = ADDSI (tmp_addr, 2);
   2841 }
   2842   {
   2843     SI opval = tmp_addr;
   2844     SET_H_GR (FLD (f_operand1), opval);
   2845     written |= (1 << 8);
   2846     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2847   }
   2848 }
   2849 }
   2850 ; tmp_tmp_mem; }));
   2851 if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
   2852   {
   2853     SI opval = tmp_tmp;
   2854     SET_H_GR (FLD (f_operand1), opval);
   2855     written |= (1 << 8);
   2856     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2857   }
   2858 } else {
   2859   {
   2860     SI opval = tmp_tmp;
   2861     SET_H_GR (FLD (f_operand2), opval);
   2862     written |= (1 << 7);
   2863     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2864   }
   2865 }
   2866 {
   2867   {
   2868     BI opval = LTSI (tmp_tmp, 0);
   2869     CPU (h_nbit) = opval;
   2870     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2871   }
   2872   {
   2873     BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   2874     CPU (h_zbit) = opval;
   2875     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2876   }
   2877 SET_H_CBIT_MOVE (0);
   2878 SET_H_VBIT_MOVE (0);
   2879 {
   2880   {
   2881     BI opval = 0;
   2882     CPU (h_xbit) = opval;
   2883     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2884   }
   2885   {
   2886     BI opval = 0;
   2887     SET_H_INSN_PREFIXED_P (opval);
   2888     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2889   }
   2890 }
   2891 }
   2892 }
   2893 
   2894   abuf->written = written;
   2895 #undef FLD
   2896 }
   2897   NEXT (vpc);
   2898 
   2899   CASE (sem, INSN_MOVU_M_B_M) : /* movu-m.b [${Rs}${inc}],${Rd} */
   2900 {
   2901   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2902   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2903 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
   2904   int UNUSED written = 0;
   2905   IADDR UNUSED pc = abuf->addr;
   2906   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2907 
   2908 {
   2909   SI tmp_tmp;
   2910   tmp_tmp = ZEXTQISI (({   SI tmp_addr;
   2911   QI tmp_tmp_mem;
   2912   BI tmp_postinc;
   2913   tmp_postinc = FLD (f_memmode);
   2914 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2915 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   2916 ; if (NEBI (tmp_postinc, 0)) {
   2917 {
   2918 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2919   tmp_addr = ADDSI (tmp_addr, 1);
   2920 }
   2921   {
   2922     SI opval = tmp_addr;
   2923     SET_H_GR (FLD (f_operand1), opval);
   2924     written |= (1 << 8);
   2925     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2926   }
   2927 }
   2928 }
   2929 ; tmp_tmp_mem; }));
   2930 if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
   2931   {
   2932     SI opval = tmp_tmp;
   2933     SET_H_GR (FLD (f_operand1), opval);
   2934     written |= (1 << 8);
   2935     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2936   }
   2937 } else {
   2938   {
   2939     SI opval = tmp_tmp;
   2940     SET_H_GR (FLD (f_operand2), opval);
   2941     written |= (1 << 7);
   2942     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2943   }
   2944 }
   2945 {
   2946   {
   2947     BI opval = LTSI (tmp_tmp, 0);
   2948     CPU (h_nbit) = opval;
   2949     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   2950   }
   2951   {
   2952     BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   2953     CPU (h_zbit) = opval;
   2954     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   2955   }
   2956 SET_H_CBIT_MOVE (0);
   2957 SET_H_VBIT_MOVE (0);
   2958 {
   2959   {
   2960     BI opval = 0;
   2961     CPU (h_xbit) = opval;
   2962     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2963   }
   2964   {
   2965     BI opval = 0;
   2966     SET_H_INSN_PREFIXED_P (opval);
   2967     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   2968   }
   2969 }
   2970 }
   2971 }
   2972 
   2973   abuf->written = written;
   2974 #undef FLD
   2975 }
   2976   NEXT (vpc);
   2977 
   2978   CASE (sem, INSN_MOVU_M_W_M) : /* movu-m.w [${Rs}${inc}],${Rd} */
   2979 {
   2980   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   2981   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   2982 #define FLD(f) abuf->fields.sfmt_movs_m_b_m.f
   2983   int UNUSED written = 0;
   2984   IADDR UNUSED pc = abuf->addr;
   2985   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   2986 
   2987 {
   2988   SI tmp_tmp;
   2989   tmp_tmp = ZEXTHISI (({   SI tmp_addr;
   2990   HI tmp_tmp_mem;
   2991   BI tmp_postinc;
   2992   tmp_postinc = FLD (f_memmode);
   2993 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   2994 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   2995 ; if (NEBI (tmp_postinc, 0)) {
   2996 {
   2997 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   2998   tmp_addr = ADDSI (tmp_addr, 2);
   2999 }
   3000   {
   3001     SI opval = tmp_addr;
   3002     SET_H_GR (FLD (f_operand1), opval);
   3003     written |= (1 << 8);
   3004     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3005   }
   3006 }
   3007 }
   3008 ; tmp_tmp_mem; }));
   3009 if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
   3010   {
   3011     SI opval = tmp_tmp;
   3012     SET_H_GR (FLD (f_operand1), opval);
   3013     written |= (1 << 8);
   3014     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3015   }
   3016 } else {
   3017   {
   3018     SI opval = tmp_tmp;
   3019     SET_H_GR (FLD (f_operand2), opval);
   3020     written |= (1 << 7);
   3021     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3022   }
   3023 }
   3024 {
   3025   {
   3026     BI opval = LTSI (tmp_tmp, 0);
   3027     CPU (h_nbit) = opval;
   3028     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   3029   }
   3030   {
   3031     BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   3032     CPU (h_zbit) = opval;
   3033     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   3034   }
   3035 SET_H_CBIT_MOVE (0);
   3036 SET_H_VBIT_MOVE (0);
   3037 {
   3038   {
   3039     BI opval = 0;
   3040     CPU (h_xbit) = opval;
   3041     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3042   }
   3043   {
   3044     BI opval = 0;
   3045     SET_H_INSN_PREFIXED_P (opval);
   3046     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3047   }
   3048 }
   3049 }
   3050 }
   3051 
   3052   abuf->written = written;
   3053 #undef FLD
   3054 }
   3055   NEXT (vpc);
   3056 
   3057   CASE (sem, INSN_MOVE_R_SPRV32) : /* move ${Rs},${Pd} */
   3058 {
   3059   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3060   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3061 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   3062   int UNUSED written = 0;
   3063   IADDR UNUSED pc = abuf->addr;
   3064   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   3065 
   3066 {
   3067   SI tmp_tmp;
   3068   SI tmp_rno;
   3069   tmp_tmp = GET_H_GR (FLD (f_operand1));
   3070   tmp_rno = FLD (f_operand2);
   3071 if (ORIF (ORIF (EQSI (tmp_rno, 0), EQSI (tmp_rno, 1)), ORIF (EQSI (tmp_rno, 4), EQSI (tmp_rno, 8)))) {
   3072 cgen_rtx_error (current_cpu, "move-r-spr: trying to set a read-only special register");
   3073 }
   3074  else {
   3075   {
   3076     SI opval = tmp_tmp;
   3077     SET_H_SR (FLD (f_operand2), opval);
   3078     written |= (1 << 2);
   3079     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3080   }
   3081 }
   3082 {
   3083   {
   3084     BI opval = 0;
   3085     CPU (h_xbit) = opval;
   3086     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3087   }
   3088   {
   3089     BI opval = 0;
   3090     SET_H_INSN_PREFIXED_P (opval);
   3091     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3092   }
   3093 }
   3094 }
   3095 
   3096   abuf->written = written;
   3097 #undef FLD
   3098 }
   3099   NEXT (vpc);
   3100 
   3101   CASE (sem, INSN_MOVE_SPR_RV32) : /* move ${Ps},${Rd-sfield} */
   3102 {
   3103   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3104   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3105 #define FLD(f) abuf->fields.sfmt_mcp.f
   3106   int UNUSED written = 0;
   3107   IADDR UNUSED pc = abuf->addr;
   3108   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   3109 
   3110 {
   3111   SI tmp_grno;
   3112   SI tmp_prno;
   3113   SI tmp_newval;
   3114   tmp_prno = FLD (f_operand2);
   3115   tmp_newval = GET_H_SR (FLD (f_operand2));
   3116 if (EQSI (tmp_prno, 2)) {
   3117   {
   3118     SI opval = tmp_newval;
   3119     SET_H_GR (FLD (f_operand1), opval);
   3120     written |= (1 << 4);
   3121     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3122   }
   3123 }
   3124  else if (EQSI (tmp_prno, 3)) {
   3125 {
   3126   SI tmp_oldregval;
   3127   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3128   {
   3129     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   3130     SET_H_GR (FLD (f_operand1), opval);
   3131     written |= (1 << 4);
   3132     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3133   }
   3134 }
   3135 }
   3136  else if (EQSI (tmp_prno, 5)) {
   3137   {
   3138     SI opval = tmp_newval;
   3139     SET_H_GR (FLD (f_operand1), opval);
   3140     written |= (1 << 4);
   3141     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3142   }
   3143 }
   3144  else if (EQSI (tmp_prno, 6)) {
   3145   {
   3146     SI opval = tmp_newval;
   3147     SET_H_GR (FLD (f_operand1), opval);
   3148     written |= (1 << 4);
   3149     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3150   }
   3151 }
   3152  else if (EQSI (tmp_prno, 7)) {
   3153   {
   3154     SI opval = tmp_newval;
   3155     SET_H_GR (FLD (f_operand1), opval);
   3156     written |= (1 << 4);
   3157     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3158   }
   3159 }
   3160  else if (EQSI (tmp_prno, 9)) {
   3161   {
   3162     SI opval = tmp_newval;
   3163     SET_H_GR (FLD (f_operand1), opval);
   3164     written |= (1 << 4);
   3165     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3166   }
   3167 }
   3168  else if (EQSI (tmp_prno, 10)) {
   3169   {
   3170     SI opval = tmp_newval;
   3171     SET_H_GR (FLD (f_operand1), opval);
   3172     written |= (1 << 4);
   3173     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3174   }
   3175 }
   3176  else if (EQSI (tmp_prno, 11)) {
   3177   {
   3178     SI opval = tmp_newval;
   3179     SET_H_GR (FLD (f_operand1), opval);
   3180     written |= (1 << 4);
   3181     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3182   }
   3183 }
   3184  else if (EQSI (tmp_prno, 12)) {
   3185   {
   3186     SI opval = tmp_newval;
   3187     SET_H_GR (FLD (f_operand1), opval);
   3188     written |= (1 << 4);
   3189     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3190   }
   3191 }
   3192  else if (EQSI (tmp_prno, 13)) {
   3193   {
   3194     SI opval = tmp_newval;
   3195     SET_H_GR (FLD (f_operand1), opval);
   3196     written |= (1 << 4);
   3197     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3198   }
   3199 }
   3200  else if (EQSI (tmp_prno, 14)) {
   3201   {
   3202     SI opval = tmp_newval;
   3203     SET_H_GR (FLD (f_operand1), opval);
   3204     written |= (1 << 4);
   3205     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3206   }
   3207 }
   3208  else if (EQSI (tmp_prno, 15)) {
   3209   {
   3210     SI opval = tmp_newval;
   3211     SET_H_GR (FLD (f_operand1), opval);
   3212     written |= (1 << 4);
   3213     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3214   }
   3215 }
   3216  else if (EQSI (tmp_prno, 0)) {
   3217 {
   3218   SI tmp_oldregval;
   3219   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3220   {
   3221     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   3222     SET_H_GR (FLD (f_operand1), opval);
   3223     written |= (1 << 4);
   3224     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3225   }
   3226 }
   3227 }
   3228  else if (EQSI (tmp_prno, 1)) {
   3229 {
   3230   SI tmp_oldregval;
   3231   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3232   {
   3233     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   3234     SET_H_GR (FLD (f_operand1), opval);
   3235     written |= (1 << 4);
   3236     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3237   }
   3238 }
   3239 }
   3240  else if (EQSI (tmp_prno, 4)) {
   3241 {
   3242   SI tmp_oldregval;
   3243   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3244   {
   3245     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   3246     SET_H_GR (FLD (f_operand1), opval);
   3247     written |= (1 << 4);
   3248     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3249   }
   3250 }
   3251 }
   3252  else if (EQSI (tmp_prno, 8)) {
   3253   {
   3254     SI opval = tmp_newval;
   3255     SET_H_GR (FLD (f_operand1), opval);
   3256     written |= (1 << 4);
   3257     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3258   }
   3259 }
   3260  else {
   3261 cgen_rtx_error (current_cpu, "move-spr-r from unimplemented register");
   3262 }
   3263 {
   3264   {
   3265     BI opval = 0;
   3266     CPU (h_xbit) = opval;
   3267     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3268   }
   3269   {
   3270     BI opval = 0;
   3271     SET_H_INSN_PREFIXED_P (opval);
   3272     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3273   }
   3274 }
   3275 }
   3276 
   3277   abuf->written = written;
   3278 #undef FLD
   3279 }
   3280   NEXT (vpc);
   3281 
   3282   CASE (sem, INSN_MOVE_M_SPRV32) : /* move [${Rs}${inc}],${Pd} */
   3283 {
   3284   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3285   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3286 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   3287   int UNUSED written = 0;
   3288   IADDR UNUSED pc = abuf->addr;
   3289   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   3290 
   3291 {
   3292   SI tmp_rno;
   3293   SI tmp_newval;
   3294   tmp_rno = FLD (f_operand2);
   3295 if (EQSI (tmp_rno, 2)) {
   3296   tmp_newval = ({   SI tmp_addr;
   3297   SI tmp_tmp_mem;
   3298   BI tmp_postinc;
   3299   tmp_postinc = FLD (f_memmode);
   3300 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3301 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3302 ; if (NEBI (tmp_postinc, 0)) {
   3303 {
   3304 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3305   tmp_addr = ADDSI (tmp_addr, 4);
   3306 }
   3307   {
   3308     SI opval = tmp_addr;
   3309     SET_H_GR (FLD (f_operand1), opval);
   3310     written |= (1 << 8);
   3311     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3312   }
   3313 }
   3314 }
   3315 ; tmp_tmp_mem; });
   3316 }
   3317  else if (EQSI (tmp_rno, 3)) {
   3318   tmp_newval = EXTQISI (({   SI tmp_addr;
   3319   QI tmp_tmp_mem;
   3320   BI tmp_postinc;
   3321   tmp_postinc = FLD (f_memmode);
   3322 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3323 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   3324 ; if (NEBI (tmp_postinc, 0)) {
   3325 {
   3326 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3327   tmp_addr = ADDSI (tmp_addr, 1);
   3328 }
   3329   {
   3330     SI opval = tmp_addr;
   3331     SET_H_GR (FLD (f_operand1), opval);
   3332     written |= (1 << 8);
   3333     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3334   }
   3335 }
   3336 }
   3337 ; tmp_tmp_mem; }));
   3338 }
   3339  else if (EQSI (tmp_rno, 5)) {
   3340   tmp_newval = ({   SI tmp_addr;
   3341   SI tmp_tmp_mem;
   3342   BI tmp_postinc;
   3343   tmp_postinc = FLD (f_memmode);
   3344 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3345 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3346 ; if (NEBI (tmp_postinc, 0)) {
   3347 {
   3348 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3349   tmp_addr = ADDSI (tmp_addr, 4);
   3350 }
   3351   {
   3352     SI opval = tmp_addr;
   3353     SET_H_GR (FLD (f_operand1), opval);
   3354     written |= (1 << 8);
   3355     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3356   }
   3357 }
   3358 }
   3359 ; tmp_tmp_mem; });
   3360 }
   3361  else if (EQSI (tmp_rno, 6)) {
   3362   tmp_newval = ({   SI tmp_addr;
   3363   SI tmp_tmp_mem;
   3364   BI tmp_postinc;
   3365   tmp_postinc = FLD (f_memmode);
   3366 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3367 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3368 ; if (NEBI (tmp_postinc, 0)) {
   3369 {
   3370 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3371   tmp_addr = ADDSI (tmp_addr, 4);
   3372 }
   3373   {
   3374     SI opval = tmp_addr;
   3375     SET_H_GR (FLD (f_operand1), opval);
   3376     written |= (1 << 8);
   3377     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3378   }
   3379 }
   3380 }
   3381 ; tmp_tmp_mem; });
   3382 }
   3383  else if (EQSI (tmp_rno, 7)) {
   3384   tmp_newval = ({   SI tmp_addr;
   3385   SI tmp_tmp_mem;
   3386   BI tmp_postinc;
   3387   tmp_postinc = FLD (f_memmode);
   3388 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3389 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3390 ; if (NEBI (tmp_postinc, 0)) {
   3391 {
   3392 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3393   tmp_addr = ADDSI (tmp_addr, 4);
   3394 }
   3395   {
   3396     SI opval = tmp_addr;
   3397     SET_H_GR (FLD (f_operand1), opval);
   3398     written |= (1 << 8);
   3399     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3400   }
   3401 }
   3402 }
   3403 ; tmp_tmp_mem; });
   3404 }
   3405  else if (EQSI (tmp_rno, 9)) {
   3406   tmp_newval = ({   SI tmp_addr;
   3407   SI tmp_tmp_mem;
   3408   BI tmp_postinc;
   3409   tmp_postinc = FLD (f_memmode);
   3410 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3411 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3412 ; if (NEBI (tmp_postinc, 0)) {
   3413 {
   3414 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3415   tmp_addr = ADDSI (tmp_addr, 4);
   3416 }
   3417   {
   3418     SI opval = tmp_addr;
   3419     SET_H_GR (FLD (f_operand1), opval);
   3420     written |= (1 << 8);
   3421     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3422   }
   3423 }
   3424 }
   3425 ; tmp_tmp_mem; });
   3426 }
   3427  else if (EQSI (tmp_rno, 10)) {
   3428   tmp_newval = ({   SI tmp_addr;
   3429   SI tmp_tmp_mem;
   3430   BI tmp_postinc;
   3431   tmp_postinc = FLD (f_memmode);
   3432 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3433 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3434 ; if (NEBI (tmp_postinc, 0)) {
   3435 {
   3436 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3437   tmp_addr = ADDSI (tmp_addr, 4);
   3438 }
   3439   {
   3440     SI opval = tmp_addr;
   3441     SET_H_GR (FLD (f_operand1), opval);
   3442     written |= (1 << 8);
   3443     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3444   }
   3445 }
   3446 }
   3447 ; tmp_tmp_mem; });
   3448 }
   3449  else if (EQSI (tmp_rno, 11)) {
   3450   tmp_newval = ({   SI tmp_addr;
   3451   SI tmp_tmp_mem;
   3452   BI tmp_postinc;
   3453   tmp_postinc = FLD (f_memmode);
   3454 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3455 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3456 ; if (NEBI (tmp_postinc, 0)) {
   3457 {
   3458 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3459   tmp_addr = ADDSI (tmp_addr, 4);
   3460 }
   3461   {
   3462     SI opval = tmp_addr;
   3463     SET_H_GR (FLD (f_operand1), opval);
   3464     written |= (1 << 8);
   3465     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3466   }
   3467 }
   3468 }
   3469 ; tmp_tmp_mem; });
   3470 }
   3471  else if (EQSI (tmp_rno, 12)) {
   3472   tmp_newval = ({   SI tmp_addr;
   3473   SI tmp_tmp_mem;
   3474   BI tmp_postinc;
   3475   tmp_postinc = FLD (f_memmode);
   3476 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3477 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3478 ; if (NEBI (tmp_postinc, 0)) {
   3479 {
   3480 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3481   tmp_addr = ADDSI (tmp_addr, 4);
   3482 }
   3483   {
   3484     SI opval = tmp_addr;
   3485     SET_H_GR (FLD (f_operand1), opval);
   3486     written |= (1 << 8);
   3487     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3488   }
   3489 }
   3490 }
   3491 ; tmp_tmp_mem; });
   3492 }
   3493  else if (EQSI (tmp_rno, 13)) {
   3494   tmp_newval = ({   SI tmp_addr;
   3495   SI tmp_tmp_mem;
   3496   BI tmp_postinc;
   3497   tmp_postinc = FLD (f_memmode);
   3498 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3499 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3500 ; if (NEBI (tmp_postinc, 0)) {
   3501 {
   3502 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3503   tmp_addr = ADDSI (tmp_addr, 4);
   3504 }
   3505   {
   3506     SI opval = tmp_addr;
   3507     SET_H_GR (FLD (f_operand1), opval);
   3508     written |= (1 << 8);
   3509     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3510   }
   3511 }
   3512 }
   3513 ; tmp_tmp_mem; });
   3514 }
   3515  else if (EQSI (tmp_rno, 14)) {
   3516   tmp_newval = ({   SI tmp_addr;
   3517   SI tmp_tmp_mem;
   3518   BI tmp_postinc;
   3519   tmp_postinc = FLD (f_memmode);
   3520 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3521 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3522 ; if (NEBI (tmp_postinc, 0)) {
   3523 {
   3524 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3525   tmp_addr = ADDSI (tmp_addr, 4);
   3526 }
   3527   {
   3528     SI opval = tmp_addr;
   3529     SET_H_GR (FLD (f_operand1), opval);
   3530     written |= (1 << 8);
   3531     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3532   }
   3533 }
   3534 }
   3535 ; tmp_tmp_mem; });
   3536 }
   3537  else if (EQSI (tmp_rno, 15)) {
   3538   tmp_newval = ({   SI tmp_addr;
   3539   SI tmp_tmp_mem;
   3540   BI tmp_postinc;
   3541   tmp_postinc = FLD (f_memmode);
   3542 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3543 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3544 ; if (NEBI (tmp_postinc, 0)) {
   3545 {
   3546 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3547   tmp_addr = ADDSI (tmp_addr, 4);
   3548 }
   3549   {
   3550     SI opval = tmp_addr;
   3551     SET_H_GR (FLD (f_operand1), opval);
   3552     written |= (1 << 8);
   3553     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3554   }
   3555 }
   3556 }
   3557 ; tmp_tmp_mem; });
   3558 }
   3559  else {
   3560 cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
   3561 }
   3562   {
   3563     SI opval = tmp_newval;
   3564     SET_H_SR (FLD (f_operand2), opval);
   3565     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3566   }
   3567 {
   3568   {
   3569     BI opval = 0;
   3570     CPU (h_xbit) = opval;
   3571     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3572   }
   3573   {
   3574     BI opval = 0;
   3575     SET_H_INSN_PREFIXED_P (opval);
   3576     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3577   }
   3578 }
   3579 }
   3580 
   3581   abuf->written = written;
   3582 #undef FLD
   3583 }
   3584   NEXT (vpc);
   3585 
   3586   CASE (sem, INSN_MOVE_C_SPRV32_P2) : /* move ${const32},${Pd} */
   3587 {
   3588   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3589   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3590 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3591   int UNUSED written = 0;
   3592   IADDR UNUSED pc = abuf->addr;
   3593   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3594 
   3595 {
   3596   {
   3597     SI opval = FLD (f_indir_pc__dword);
   3598     SET_H_SR (FLD (f_operand2), opval);
   3599     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3600   }
   3601 {
   3602   {
   3603     BI opval = 0;
   3604     CPU (h_xbit) = opval;
   3605     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3606   }
   3607   {
   3608     BI opval = 0;
   3609     SET_H_INSN_PREFIXED_P (opval);
   3610     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3611   }
   3612 }
   3613 }
   3614 
   3615 #undef FLD
   3616 }
   3617   NEXT (vpc);
   3618 
   3619   CASE (sem, INSN_MOVE_C_SPRV32_P3) : /* move ${const32},${Pd} */
   3620 {
   3621   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3622   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3623 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3624   int UNUSED written = 0;
   3625   IADDR UNUSED pc = abuf->addr;
   3626   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3627 
   3628 {
   3629   {
   3630     SI opval = FLD (f_indir_pc__dword);
   3631     SET_H_SR (FLD (f_operand2), opval);
   3632     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3633   }
   3634 {
   3635   {
   3636     BI opval = 0;
   3637     CPU (h_xbit) = opval;
   3638     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3639   }
   3640   {
   3641     BI opval = 0;
   3642     SET_H_INSN_PREFIXED_P (opval);
   3643     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3644   }
   3645 }
   3646 }
   3647 
   3648 #undef FLD
   3649 }
   3650   NEXT (vpc);
   3651 
   3652   CASE (sem, INSN_MOVE_C_SPRV32_P5) : /* move ${const32},${Pd} */
   3653 {
   3654   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3655   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3656 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3657   int UNUSED written = 0;
   3658   IADDR UNUSED pc = abuf->addr;
   3659   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3660 
   3661 {
   3662   {
   3663     SI opval = FLD (f_indir_pc__dword);
   3664     SET_H_SR (FLD (f_operand2), opval);
   3665     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3666   }
   3667 {
   3668   {
   3669     BI opval = 0;
   3670     CPU (h_xbit) = opval;
   3671     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3672   }
   3673   {
   3674     BI opval = 0;
   3675     SET_H_INSN_PREFIXED_P (opval);
   3676     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3677   }
   3678 }
   3679 }
   3680 
   3681 #undef FLD
   3682 }
   3683   NEXT (vpc);
   3684 
   3685   CASE (sem, INSN_MOVE_C_SPRV32_P6) : /* move ${const32},${Pd} */
   3686 {
   3687   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3688   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3689 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3690   int UNUSED written = 0;
   3691   IADDR UNUSED pc = abuf->addr;
   3692   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3693 
   3694 {
   3695   {
   3696     SI opval = FLD (f_indir_pc__dword);
   3697     SET_H_SR (FLD (f_operand2), opval);
   3698     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3699   }
   3700 {
   3701   {
   3702     BI opval = 0;
   3703     CPU (h_xbit) = opval;
   3704     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3705   }
   3706   {
   3707     BI opval = 0;
   3708     SET_H_INSN_PREFIXED_P (opval);
   3709     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3710   }
   3711 }
   3712 }
   3713 
   3714 #undef FLD
   3715 }
   3716   NEXT (vpc);
   3717 
   3718   CASE (sem, INSN_MOVE_C_SPRV32_P7) : /* move ${const32},${Pd} */
   3719 {
   3720   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3721   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3722 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3723   int UNUSED written = 0;
   3724   IADDR UNUSED pc = abuf->addr;
   3725   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3726 
   3727 {
   3728   {
   3729     SI opval = FLD (f_indir_pc__dword);
   3730     SET_H_SR (FLD (f_operand2), opval);
   3731     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3732   }
   3733 {
   3734   {
   3735     BI opval = 0;
   3736     CPU (h_xbit) = opval;
   3737     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3738   }
   3739   {
   3740     BI opval = 0;
   3741     SET_H_INSN_PREFIXED_P (opval);
   3742     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3743   }
   3744 }
   3745 }
   3746 
   3747 #undef FLD
   3748 }
   3749   NEXT (vpc);
   3750 
   3751   CASE (sem, INSN_MOVE_C_SPRV32_P9) : /* move ${const32},${Pd} */
   3752 {
   3753   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3754   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3755 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3756   int UNUSED written = 0;
   3757   IADDR UNUSED pc = abuf->addr;
   3758   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3759 
   3760 {
   3761   {
   3762     SI opval = FLD (f_indir_pc__dword);
   3763     SET_H_SR (FLD (f_operand2), opval);
   3764     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3765   }
   3766 {
   3767   {
   3768     BI opval = 0;
   3769     CPU (h_xbit) = opval;
   3770     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3771   }
   3772   {
   3773     BI opval = 0;
   3774     SET_H_INSN_PREFIXED_P (opval);
   3775     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3776   }
   3777 }
   3778 }
   3779 
   3780 #undef FLD
   3781 }
   3782   NEXT (vpc);
   3783 
   3784   CASE (sem, INSN_MOVE_C_SPRV32_P10) : /* move ${const32},${Pd} */
   3785 {
   3786   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3787   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3788 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3789   int UNUSED written = 0;
   3790   IADDR UNUSED pc = abuf->addr;
   3791   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3792 
   3793 {
   3794   {
   3795     SI opval = FLD (f_indir_pc__dword);
   3796     SET_H_SR (FLD (f_operand2), opval);
   3797     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3798   }
   3799 {
   3800   {
   3801     BI opval = 0;
   3802     CPU (h_xbit) = opval;
   3803     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3804   }
   3805   {
   3806     BI opval = 0;
   3807     SET_H_INSN_PREFIXED_P (opval);
   3808     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3809   }
   3810 }
   3811 }
   3812 
   3813 #undef FLD
   3814 }
   3815   NEXT (vpc);
   3816 
   3817   CASE (sem, INSN_MOVE_C_SPRV32_P11) : /* move ${const32},${Pd} */
   3818 {
   3819   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3820   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3821 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3822   int UNUSED written = 0;
   3823   IADDR UNUSED pc = abuf->addr;
   3824   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3825 
   3826 {
   3827   {
   3828     SI opval = FLD (f_indir_pc__dword);
   3829     SET_H_SR (FLD (f_operand2), opval);
   3830     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3831   }
   3832 {
   3833   {
   3834     BI opval = 0;
   3835     CPU (h_xbit) = opval;
   3836     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3837   }
   3838   {
   3839     BI opval = 0;
   3840     SET_H_INSN_PREFIXED_P (opval);
   3841     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3842   }
   3843 }
   3844 }
   3845 
   3846 #undef FLD
   3847 }
   3848   NEXT (vpc);
   3849 
   3850   CASE (sem, INSN_MOVE_C_SPRV32_P12) : /* move ${const32},${Pd} */
   3851 {
   3852   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3853   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3854 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3855   int UNUSED written = 0;
   3856   IADDR UNUSED pc = abuf->addr;
   3857   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3858 
   3859 {
   3860   {
   3861     SI opval = FLD (f_indir_pc__dword);
   3862     SET_H_SR (FLD (f_operand2), opval);
   3863     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3864   }
   3865 {
   3866   {
   3867     BI opval = 0;
   3868     CPU (h_xbit) = opval;
   3869     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3870   }
   3871   {
   3872     BI opval = 0;
   3873     SET_H_INSN_PREFIXED_P (opval);
   3874     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3875   }
   3876 }
   3877 }
   3878 
   3879 #undef FLD
   3880 }
   3881   NEXT (vpc);
   3882 
   3883   CASE (sem, INSN_MOVE_C_SPRV32_P13) : /* move ${const32},${Pd} */
   3884 {
   3885   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3886   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3887 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3888   int UNUSED written = 0;
   3889   IADDR UNUSED pc = abuf->addr;
   3890   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3891 
   3892 {
   3893   {
   3894     SI opval = FLD (f_indir_pc__dword);
   3895     SET_H_SR (FLD (f_operand2), opval);
   3896     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3897   }
   3898 {
   3899   {
   3900     BI opval = 0;
   3901     CPU (h_xbit) = opval;
   3902     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3903   }
   3904   {
   3905     BI opval = 0;
   3906     SET_H_INSN_PREFIXED_P (opval);
   3907     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3908   }
   3909 }
   3910 }
   3911 
   3912 #undef FLD
   3913 }
   3914   NEXT (vpc);
   3915 
   3916   CASE (sem, INSN_MOVE_C_SPRV32_P14) : /* move ${const32},${Pd} */
   3917 {
   3918   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3919   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3920 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3921   int UNUSED written = 0;
   3922   IADDR UNUSED pc = abuf->addr;
   3923   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3924 
   3925 {
   3926   {
   3927     SI opval = FLD (f_indir_pc__dword);
   3928     SET_H_SR (FLD (f_operand2), opval);
   3929     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3930   }
   3931 {
   3932   {
   3933     BI opval = 0;
   3934     CPU (h_xbit) = opval;
   3935     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3936   }
   3937   {
   3938     BI opval = 0;
   3939     SET_H_INSN_PREFIXED_P (opval);
   3940     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3941   }
   3942 }
   3943 }
   3944 
   3945 #undef FLD
   3946 }
   3947   NEXT (vpc);
   3948 
   3949   CASE (sem, INSN_MOVE_C_SPRV32_P15) : /* move ${const32},${Pd} */
   3950 {
   3951   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3952   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3953 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3954   int UNUSED written = 0;
   3955   IADDR UNUSED pc = abuf->addr;
   3956   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3957 
   3958 {
   3959   {
   3960     SI opval = FLD (f_indir_pc__dword);
   3961     SET_H_SR (FLD (f_operand2), opval);
   3962     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3963   }
   3964 {
   3965   {
   3966     BI opval = 0;
   3967     CPU (h_xbit) = opval;
   3968     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3969   }
   3970   {
   3971     BI opval = 0;
   3972     SET_H_INSN_PREFIXED_P (opval);
   3973     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3974   }
   3975 }
   3976 }
   3977 
   3978 #undef FLD
   3979 }
   3980   NEXT (vpc);
   3981 
   3982   CASE (sem, INSN_MOVE_SPR_MV32) : /* move ${Ps},[${Rd-sfield}${inc}] */
   3983 {
   3984   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3985   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3986 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   3987   int UNUSED written = 0;
   3988   IADDR UNUSED pc = abuf->addr;
   3989   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   3990 
   3991 {
   3992   SI tmp_rno;
   3993   tmp_rno = FLD (f_operand2);
   3994 if (EQSI (tmp_rno, 2)) {
   3995 {
   3996   SI tmp_addr;
   3997   BI tmp_postinc;
   3998   tmp_postinc = FLD (f_memmode);
   3999   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4000 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4001 if (EQBI (CPU (h_pbit), 0)) {
   4002 {
   4003   {
   4004     SI opval = GET_H_SR (FLD (f_operand2));
   4005     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4006     written |= (1 << 13);
   4007     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4008   }
   4009   {
   4010     BI opval = CPU (h_pbit);
   4011     CPU (h_cbit) = opval;
   4012     written |= (1 << 10);
   4013     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4014   }
   4015 }
   4016 } else {
   4017   {
   4018     BI opval = 1;
   4019     CPU (h_cbit) = opval;
   4020     written |= (1 << 10);
   4021     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4022   }
   4023 }
   4024 } else {
   4025   {
   4026     SI opval = GET_H_SR (FLD (f_operand2));
   4027     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4028     written |= (1 << 13);
   4029     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4030   }
   4031 }
   4032 if (NEBI (tmp_postinc, 0)) {
   4033 {
   4034 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4035   tmp_addr = ADDSI (tmp_addr, 4);
   4036 }
   4037   {
   4038     SI opval = tmp_addr;
   4039     SET_H_GR (FLD (f_operand1), opval);
   4040     written |= (1 << 9);
   4041     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4042   }
   4043 }
   4044 }
   4045 }
   4046 }
   4047  else if (EQSI (tmp_rno, 3)) {
   4048 {
   4049   SI tmp_addr;
   4050   BI tmp_postinc;
   4051   tmp_postinc = FLD (f_memmode);
   4052   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4053 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4054 if (EQBI (CPU (h_pbit), 0)) {
   4055 {
   4056   {
   4057     QI opval = GET_H_SR (FLD (f_operand2));
   4058     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4059     written |= (1 << 12);
   4060     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4061   }
   4062   {
   4063     BI opval = CPU (h_pbit);
   4064     CPU (h_cbit) = opval;
   4065     written |= (1 << 10);
   4066     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4067   }
   4068 }
   4069 } else {
   4070   {
   4071     BI opval = 1;
   4072     CPU (h_cbit) = opval;
   4073     written |= (1 << 10);
   4074     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4075   }
   4076 }
   4077 } else {
   4078   {
   4079     QI opval = GET_H_SR (FLD (f_operand2));
   4080     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4081     written |= (1 << 12);
   4082     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4083   }
   4084 }
   4085 if (NEBI (tmp_postinc, 0)) {
   4086 {
   4087 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4088   tmp_addr = ADDSI (tmp_addr, 1);
   4089 }
   4090   {
   4091     SI opval = tmp_addr;
   4092     SET_H_GR (FLD (f_operand1), opval);
   4093     written |= (1 << 9);
   4094     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4095   }
   4096 }
   4097 }
   4098 }
   4099 }
   4100  else if (EQSI (tmp_rno, 5)) {
   4101 {
   4102   SI tmp_addr;
   4103   BI tmp_postinc;
   4104   tmp_postinc = FLD (f_memmode);
   4105   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4106 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4107 if (EQBI (CPU (h_pbit), 0)) {
   4108 {
   4109   {
   4110     SI opval = GET_H_SR (FLD (f_operand2));
   4111     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4112     written |= (1 << 13);
   4113     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4114   }
   4115   {
   4116     BI opval = CPU (h_pbit);
   4117     CPU (h_cbit) = opval;
   4118     written |= (1 << 10);
   4119     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4120   }
   4121 }
   4122 } else {
   4123   {
   4124     BI opval = 1;
   4125     CPU (h_cbit) = opval;
   4126     written |= (1 << 10);
   4127     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4128   }
   4129 }
   4130 } else {
   4131   {
   4132     SI opval = GET_H_SR (FLD (f_operand2));
   4133     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4134     written |= (1 << 13);
   4135     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4136   }
   4137 }
   4138 if (NEBI (tmp_postinc, 0)) {
   4139 {
   4140 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4141   tmp_addr = ADDSI (tmp_addr, 4);
   4142 }
   4143   {
   4144     SI opval = tmp_addr;
   4145     SET_H_GR (FLD (f_operand1), opval);
   4146     written |= (1 << 9);
   4147     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4148   }
   4149 }
   4150 }
   4151 }
   4152 }
   4153  else if (EQSI (tmp_rno, 6)) {
   4154 {
   4155   SI tmp_addr;
   4156   BI tmp_postinc;
   4157   tmp_postinc = FLD (f_memmode);
   4158   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4159 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4160 if (EQBI (CPU (h_pbit), 0)) {
   4161 {
   4162   {
   4163     SI opval = GET_H_SR (FLD (f_operand2));
   4164     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4165     written |= (1 << 13);
   4166     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4167   }
   4168   {
   4169     BI opval = CPU (h_pbit);
   4170     CPU (h_cbit) = opval;
   4171     written |= (1 << 10);
   4172     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4173   }
   4174 }
   4175 } else {
   4176   {
   4177     BI opval = 1;
   4178     CPU (h_cbit) = opval;
   4179     written |= (1 << 10);
   4180     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4181   }
   4182 }
   4183 } else {
   4184   {
   4185     SI opval = GET_H_SR (FLD (f_operand2));
   4186     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4187     written |= (1 << 13);
   4188     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4189   }
   4190 }
   4191 if (NEBI (tmp_postinc, 0)) {
   4192 {
   4193 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4194   tmp_addr = ADDSI (tmp_addr, 4);
   4195 }
   4196   {
   4197     SI opval = tmp_addr;
   4198     SET_H_GR (FLD (f_operand1), opval);
   4199     written |= (1 << 9);
   4200     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4201   }
   4202 }
   4203 }
   4204 }
   4205 }
   4206  else if (EQSI (tmp_rno, 7)) {
   4207 {
   4208   SI tmp_addr;
   4209   BI tmp_postinc;
   4210   tmp_postinc = FLD (f_memmode);
   4211   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4212 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4213 if (EQBI (CPU (h_pbit), 0)) {
   4214 {
   4215   {
   4216     SI opval = GET_H_SR (FLD (f_operand2));
   4217     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4218     written |= (1 << 13);
   4219     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4220   }
   4221   {
   4222     BI opval = CPU (h_pbit);
   4223     CPU (h_cbit) = opval;
   4224     written |= (1 << 10);
   4225     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4226   }
   4227 }
   4228 } else {
   4229   {
   4230     BI opval = 1;
   4231     CPU (h_cbit) = opval;
   4232     written |= (1 << 10);
   4233     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4234   }
   4235 }
   4236 } else {
   4237   {
   4238     SI opval = GET_H_SR (FLD (f_operand2));
   4239     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4240     written |= (1 << 13);
   4241     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4242   }
   4243 }
   4244 if (NEBI (tmp_postinc, 0)) {
   4245 {
   4246 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4247   tmp_addr = ADDSI (tmp_addr, 4);
   4248 }
   4249   {
   4250     SI opval = tmp_addr;
   4251     SET_H_GR (FLD (f_operand1), opval);
   4252     written |= (1 << 9);
   4253     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4254   }
   4255 }
   4256 }
   4257 }
   4258 }
   4259  else if (EQSI (tmp_rno, 9)) {
   4260 {
   4261   SI tmp_addr;
   4262   BI tmp_postinc;
   4263   tmp_postinc = FLD (f_memmode);
   4264   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4265 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4266 if (EQBI (CPU (h_pbit), 0)) {
   4267 {
   4268   {
   4269     SI opval = GET_H_SR (FLD (f_operand2));
   4270     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4271     written |= (1 << 13);
   4272     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4273   }
   4274   {
   4275     BI opval = CPU (h_pbit);
   4276     CPU (h_cbit) = opval;
   4277     written |= (1 << 10);
   4278     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4279   }
   4280 }
   4281 } else {
   4282   {
   4283     BI opval = 1;
   4284     CPU (h_cbit) = opval;
   4285     written |= (1 << 10);
   4286     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4287   }
   4288 }
   4289 } else {
   4290   {
   4291     SI opval = GET_H_SR (FLD (f_operand2));
   4292     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4293     written |= (1 << 13);
   4294     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4295   }
   4296 }
   4297 if (NEBI (tmp_postinc, 0)) {
   4298 {
   4299 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4300   tmp_addr = ADDSI (tmp_addr, 4);
   4301 }
   4302   {
   4303     SI opval = tmp_addr;
   4304     SET_H_GR (FLD (f_operand1), opval);
   4305     written |= (1 << 9);
   4306     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4307   }
   4308 }
   4309 }
   4310 }
   4311 }
   4312  else if (EQSI (tmp_rno, 10)) {
   4313 {
   4314   SI tmp_addr;
   4315   BI tmp_postinc;
   4316   tmp_postinc = FLD (f_memmode);
   4317   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4318 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4319 if (EQBI (CPU (h_pbit), 0)) {
   4320 {
   4321   {
   4322     SI opval = GET_H_SR (FLD (f_operand2));
   4323     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4324     written |= (1 << 13);
   4325     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4326   }
   4327   {
   4328     BI opval = CPU (h_pbit);
   4329     CPU (h_cbit) = opval;
   4330     written |= (1 << 10);
   4331     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4332   }
   4333 }
   4334 } else {
   4335   {
   4336     BI opval = 1;
   4337     CPU (h_cbit) = opval;
   4338     written |= (1 << 10);
   4339     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4340   }
   4341 }
   4342 } else {
   4343   {
   4344     SI opval = GET_H_SR (FLD (f_operand2));
   4345     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4346     written |= (1 << 13);
   4347     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4348   }
   4349 }
   4350 if (NEBI (tmp_postinc, 0)) {
   4351 {
   4352 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4353   tmp_addr = ADDSI (tmp_addr, 4);
   4354 }
   4355   {
   4356     SI opval = tmp_addr;
   4357     SET_H_GR (FLD (f_operand1), opval);
   4358     written |= (1 << 9);
   4359     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4360   }
   4361 }
   4362 }
   4363 }
   4364 }
   4365  else if (EQSI (tmp_rno, 11)) {
   4366 {
   4367   SI tmp_addr;
   4368   BI tmp_postinc;
   4369   tmp_postinc = FLD (f_memmode);
   4370   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4371 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4372 if (EQBI (CPU (h_pbit), 0)) {
   4373 {
   4374   {
   4375     SI opval = GET_H_SR (FLD (f_operand2));
   4376     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4377     written |= (1 << 13);
   4378     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4379   }
   4380   {
   4381     BI opval = CPU (h_pbit);
   4382     CPU (h_cbit) = opval;
   4383     written |= (1 << 10);
   4384     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4385   }
   4386 }
   4387 } else {
   4388   {
   4389     BI opval = 1;
   4390     CPU (h_cbit) = opval;
   4391     written |= (1 << 10);
   4392     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4393   }
   4394 }
   4395 } else {
   4396   {
   4397     SI opval = GET_H_SR (FLD (f_operand2));
   4398     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4399     written |= (1 << 13);
   4400     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4401   }
   4402 }
   4403 if (NEBI (tmp_postinc, 0)) {
   4404 {
   4405 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4406   tmp_addr = ADDSI (tmp_addr, 4);
   4407 }
   4408   {
   4409     SI opval = tmp_addr;
   4410     SET_H_GR (FLD (f_operand1), opval);
   4411     written |= (1 << 9);
   4412     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4413   }
   4414 }
   4415 }
   4416 }
   4417 }
   4418  else if (EQSI (tmp_rno, 12)) {
   4419 {
   4420   SI tmp_addr;
   4421   BI tmp_postinc;
   4422   tmp_postinc = FLD (f_memmode);
   4423   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4424 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4425 if (EQBI (CPU (h_pbit), 0)) {
   4426 {
   4427   {
   4428     SI opval = GET_H_SR (FLD (f_operand2));
   4429     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4430     written |= (1 << 13);
   4431     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4432   }
   4433   {
   4434     BI opval = CPU (h_pbit);
   4435     CPU (h_cbit) = opval;
   4436     written |= (1 << 10);
   4437     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4438   }
   4439 }
   4440 } else {
   4441   {
   4442     BI opval = 1;
   4443     CPU (h_cbit) = opval;
   4444     written |= (1 << 10);
   4445     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4446   }
   4447 }
   4448 } else {
   4449   {
   4450     SI opval = GET_H_SR (FLD (f_operand2));
   4451     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4452     written |= (1 << 13);
   4453     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4454   }
   4455 }
   4456 if (NEBI (tmp_postinc, 0)) {
   4457 {
   4458 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4459   tmp_addr = ADDSI (tmp_addr, 4);
   4460 }
   4461   {
   4462     SI opval = tmp_addr;
   4463     SET_H_GR (FLD (f_operand1), opval);
   4464     written |= (1 << 9);
   4465     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4466   }
   4467 }
   4468 }
   4469 }
   4470 }
   4471  else if (EQSI (tmp_rno, 13)) {
   4472 {
   4473   SI tmp_addr;
   4474   BI tmp_postinc;
   4475   tmp_postinc = FLD (f_memmode);
   4476   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4477 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4478 if (EQBI (CPU (h_pbit), 0)) {
   4479 {
   4480   {
   4481     SI opval = GET_H_SR (FLD (f_operand2));
   4482     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4483     written |= (1 << 13);
   4484     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4485   }
   4486   {
   4487     BI opval = CPU (h_pbit);
   4488     CPU (h_cbit) = opval;
   4489     written |= (1 << 10);
   4490     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4491   }
   4492 }
   4493 } else {
   4494   {
   4495     BI opval = 1;
   4496     CPU (h_cbit) = opval;
   4497     written |= (1 << 10);
   4498     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4499   }
   4500 }
   4501 } else {
   4502   {
   4503     SI opval = GET_H_SR (FLD (f_operand2));
   4504     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4505     written |= (1 << 13);
   4506     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4507   }
   4508 }
   4509 if (NEBI (tmp_postinc, 0)) {
   4510 {
   4511 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4512   tmp_addr = ADDSI (tmp_addr, 4);
   4513 }
   4514   {
   4515     SI opval = tmp_addr;
   4516     SET_H_GR (FLD (f_operand1), opval);
   4517     written |= (1 << 9);
   4518     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4519   }
   4520 }
   4521 }
   4522 }
   4523 }
   4524  else if (EQSI (tmp_rno, 14)) {
   4525 {
   4526   SI tmp_addr;
   4527   BI tmp_postinc;
   4528   tmp_postinc = FLD (f_memmode);
   4529   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4530 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4531 if (EQBI (CPU (h_pbit), 0)) {
   4532 {
   4533   {
   4534     SI opval = GET_H_SR (FLD (f_operand2));
   4535     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4536     written |= (1 << 13);
   4537     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4538   }
   4539   {
   4540     BI opval = CPU (h_pbit);
   4541     CPU (h_cbit) = opval;
   4542     written |= (1 << 10);
   4543     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4544   }
   4545 }
   4546 } else {
   4547   {
   4548     BI opval = 1;
   4549     CPU (h_cbit) = opval;
   4550     written |= (1 << 10);
   4551     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4552   }
   4553 }
   4554 } else {
   4555   {
   4556     SI opval = GET_H_SR (FLD (f_operand2));
   4557     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4558     written |= (1 << 13);
   4559     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4560   }
   4561 }
   4562 if (NEBI (tmp_postinc, 0)) {
   4563 {
   4564 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4565   tmp_addr = ADDSI (tmp_addr, 4);
   4566 }
   4567   {
   4568     SI opval = tmp_addr;
   4569     SET_H_GR (FLD (f_operand1), opval);
   4570     written |= (1 << 9);
   4571     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4572   }
   4573 }
   4574 }
   4575 }
   4576 }
   4577  else if (EQSI (tmp_rno, 15)) {
   4578 {
   4579   SI tmp_addr;
   4580   BI tmp_postinc;
   4581   tmp_postinc = FLD (f_memmode);
   4582   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4583 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4584 if (EQBI (CPU (h_pbit), 0)) {
   4585 {
   4586   {
   4587     SI opval = GET_H_SR (FLD (f_operand2));
   4588     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4589     written |= (1 << 13);
   4590     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4591   }
   4592   {
   4593     BI opval = CPU (h_pbit);
   4594     CPU (h_cbit) = opval;
   4595     written |= (1 << 10);
   4596     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4597   }
   4598 }
   4599 } else {
   4600   {
   4601     BI opval = 1;
   4602     CPU (h_cbit) = opval;
   4603     written |= (1 << 10);
   4604     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4605   }
   4606 }
   4607 } else {
   4608   {
   4609     SI opval = GET_H_SR (FLD (f_operand2));
   4610     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4611     written |= (1 << 13);
   4612     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4613   }
   4614 }
   4615 if (NEBI (tmp_postinc, 0)) {
   4616 {
   4617 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4618   tmp_addr = ADDSI (tmp_addr, 4);
   4619 }
   4620   {
   4621     SI opval = tmp_addr;
   4622     SET_H_GR (FLD (f_operand1), opval);
   4623     written |= (1 << 9);
   4624     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4625   }
   4626 }
   4627 }
   4628 }
   4629 }
   4630  else if (EQSI (tmp_rno, 0)) {
   4631 {
   4632   SI tmp_addr;
   4633   BI tmp_postinc;
   4634   tmp_postinc = FLD (f_memmode);
   4635   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4636 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4637 if (EQBI (CPU (h_pbit), 0)) {
   4638 {
   4639   {
   4640     QI opval = GET_H_SR (FLD (f_operand2));
   4641     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4642     written |= (1 << 12);
   4643     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4644   }
   4645   {
   4646     BI opval = CPU (h_pbit);
   4647     CPU (h_cbit) = opval;
   4648     written |= (1 << 10);
   4649     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4650   }
   4651 }
   4652 } else {
   4653   {
   4654     BI opval = 1;
   4655     CPU (h_cbit) = opval;
   4656     written |= (1 << 10);
   4657     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4658   }
   4659 }
   4660 } else {
   4661   {
   4662     QI opval = GET_H_SR (FLD (f_operand2));
   4663     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4664     written |= (1 << 12);
   4665     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4666   }
   4667 }
   4668 if (NEBI (tmp_postinc, 0)) {
   4669 {
   4670 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4671   tmp_addr = ADDSI (tmp_addr, 1);
   4672 }
   4673   {
   4674     SI opval = tmp_addr;
   4675     SET_H_GR (FLD (f_operand1), opval);
   4676     written |= (1 << 9);
   4677     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4678   }
   4679 }
   4680 }
   4681 }
   4682 }
   4683  else if (EQSI (tmp_rno, 1)) {
   4684 {
   4685   SI tmp_addr;
   4686   BI tmp_postinc;
   4687   tmp_postinc = FLD (f_memmode);
   4688   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4689 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4690 if (EQBI (CPU (h_pbit), 0)) {
   4691 {
   4692   {
   4693     QI opval = GET_H_SR (FLD (f_operand2));
   4694     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4695     written |= (1 << 12);
   4696     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4697   }
   4698   {
   4699     BI opval = CPU (h_pbit);
   4700     CPU (h_cbit) = opval;
   4701     written |= (1 << 10);
   4702     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4703   }
   4704 }
   4705 } else {
   4706   {
   4707     BI opval = 1;
   4708     CPU (h_cbit) = opval;
   4709     written |= (1 << 10);
   4710     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4711   }
   4712 }
   4713 } else {
   4714   {
   4715     QI opval = GET_H_SR (FLD (f_operand2));
   4716     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4717     written |= (1 << 12);
   4718     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4719   }
   4720 }
   4721 if (NEBI (tmp_postinc, 0)) {
   4722 {
   4723 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4724   tmp_addr = ADDSI (tmp_addr, 1);
   4725 }
   4726   {
   4727     SI opval = tmp_addr;
   4728     SET_H_GR (FLD (f_operand1), opval);
   4729     written |= (1 << 9);
   4730     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4731   }
   4732 }
   4733 }
   4734 }
   4735 }
   4736  else if (EQSI (tmp_rno, 4)) {
   4737 {
   4738   SI tmp_addr;
   4739   BI tmp_postinc;
   4740   tmp_postinc = FLD (f_memmode);
   4741   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4742 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4743 if (EQBI (CPU (h_pbit), 0)) {
   4744 {
   4745   {
   4746     HI opval = GET_H_SR (FLD (f_operand2));
   4747     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   4748     written |= (1 << 11);
   4749     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4750   }
   4751   {
   4752     BI opval = CPU (h_pbit);
   4753     CPU (h_cbit) = opval;
   4754     written |= (1 << 10);
   4755     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4756   }
   4757 }
   4758 } else {
   4759   {
   4760     BI opval = 1;
   4761     CPU (h_cbit) = opval;
   4762     written |= (1 << 10);
   4763     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4764   }
   4765 }
   4766 } else {
   4767   {
   4768     HI opval = GET_H_SR (FLD (f_operand2));
   4769     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   4770     written |= (1 << 11);
   4771     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4772   }
   4773 }
   4774 if (NEBI (tmp_postinc, 0)) {
   4775 {
   4776 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4777   tmp_addr = ADDSI (tmp_addr, 2);
   4778 }
   4779   {
   4780     SI opval = tmp_addr;
   4781     SET_H_GR (FLD (f_operand1), opval);
   4782     written |= (1 << 9);
   4783     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4784   }
   4785 }
   4786 }
   4787 }
   4788 }
   4789  else if (EQSI (tmp_rno, 8)) {
   4790 {
   4791   SI tmp_addr;
   4792   BI tmp_postinc;
   4793   tmp_postinc = FLD (f_memmode);
   4794   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4795 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4796 if (EQBI (CPU (h_pbit), 0)) {
   4797 {
   4798   {
   4799     SI opval = GET_H_SR (FLD (f_operand2));
   4800     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4801     written |= (1 << 13);
   4802     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4803   }
   4804   {
   4805     BI opval = CPU (h_pbit);
   4806     CPU (h_cbit) = opval;
   4807     written |= (1 << 10);
   4808     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4809   }
   4810 }
   4811 } else {
   4812   {
   4813     BI opval = 1;
   4814     CPU (h_cbit) = opval;
   4815     written |= (1 << 10);
   4816     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4817   }
   4818 }
   4819 } else {
   4820   {
   4821     SI opval = GET_H_SR (FLD (f_operand2));
   4822     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4823     written |= (1 << 13);
   4824     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4825   }
   4826 }
   4827 if (NEBI (tmp_postinc, 0)) {
   4828 {
   4829 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4830   tmp_addr = ADDSI (tmp_addr, 4);
   4831 }
   4832   {
   4833     SI opval = tmp_addr;
   4834     SET_H_GR (FLD (f_operand1), opval);
   4835     written |= (1 << 9);
   4836     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4837   }
   4838 }
   4839 }
   4840 }
   4841 }
   4842  else {
   4843 cgen_rtx_error (current_cpu, "write from unimplemented special register");
   4844 }
   4845 {
   4846   {
   4847     BI opval = 0;
   4848     CPU (h_xbit) = opval;
   4849     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   4850   }
   4851   {
   4852     BI opval = 0;
   4853     SET_H_INSN_PREFIXED_P (opval);
   4854     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   4855   }
   4856 }
   4857 }
   4858 
   4859   abuf->written = written;
   4860 #undef FLD
   4861 }
   4862   NEXT (vpc);
   4863 
   4864   CASE (sem, INSN_MOVE_SS_R) : /* move ${Ss},${Rd-sfield} */
   4865 {
   4866   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   4867   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   4868 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   4869   int UNUSED written = 0;
   4870   IADDR UNUSED pc = abuf->addr;
   4871   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   4872 
   4873 {
   4874   {
   4875     SI opval = GET_H_SUPR (FLD (f_operand2));
   4876     SET_H_GR (FLD (f_operand1), opval);
   4877     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4878   }
   4879 {
   4880   {
   4881     BI opval = 0;
   4882     CPU (h_xbit) = opval;
   4883     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   4884   }
   4885   {
   4886     BI opval = 0;
   4887     SET_H_INSN_PREFIXED_P (opval);
   4888     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   4889   }
   4890 }
   4891 }
   4892 
   4893 #undef FLD
   4894 }
   4895   NEXT (vpc);
   4896 
   4897   CASE (sem, INSN_MOVE_R_SS) : /* move ${Rs},${Sd} */
   4898 {
   4899   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   4900   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   4901 #define FLD(f) abuf->fields.sfmt_mcp.f
   4902   int UNUSED written = 0;
   4903   IADDR UNUSED pc = abuf->addr;
   4904   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   4905 
   4906 {
   4907   {
   4908     SI opval = GET_H_GR (FLD (f_operand1));
   4909     SET_H_SUPR (FLD (f_operand2), opval);
   4910     TRACE_RESULT (current_cpu, abuf, "supr", 'x', opval);
   4911   }
   4912 {
   4913   {
   4914     BI opval = 0;
   4915     CPU (h_xbit) = opval;
   4916     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   4917   }
   4918   {
   4919     BI opval = 0;
   4920     SET_H_INSN_PREFIXED_P (opval);
   4921     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   4922   }
   4923 }
   4924 }
   4925 
   4926 #undef FLD
   4927 }
   4928   NEXT (vpc);
   4929 
   4930   CASE (sem, INSN_MOVEM_R_M_V32) : /* movem ${Rs-dfield},[${Rd-sfield}${inc}] */
   4931 {
   4932   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   4933   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   4934 #define FLD(f) abuf->fields.sfmt_movem_r_m_v32.f
   4935   int UNUSED written = 0;
   4936   IADDR UNUSED pc = abuf->addr;
   4937   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   4938 
   4939 {
   4940   SI tmp_addr;
   4941   BI tmp_postinc;
   4942   tmp_postinc = FLD (f_memmode);
   4943 {
   4944   SI tmp_dummy;
   4945   tmp_dummy = GET_H_GR (FLD (f_operand2));
   4946 }
   4947   tmp_addr = GET_H_GR (FLD (f_operand1));
   4948 {
   4949 if (GESI (FLD (f_operand2), 0)) {
   4950 {
   4951   SI tmp_tmp;
   4952   tmp_tmp = GET_H_GR (((UINT) 0));
   4953   {
   4954     SI opval = tmp_tmp;
   4955     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4956     written |= (1 << 21);
   4957     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4958   }
   4959   tmp_addr = ADDSI (tmp_addr, 4);
   4960 }
   4961 }
   4962 if (GESI (FLD (f_operand2), 1)) {
   4963 {
   4964   SI tmp_tmp;
   4965   tmp_tmp = GET_H_GR (((UINT) 1));
   4966   {
   4967     SI opval = tmp_tmp;
   4968     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4969     written |= (1 << 21);
   4970     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4971   }
   4972   tmp_addr = ADDSI (tmp_addr, 4);
   4973 }
   4974 }
   4975 if (GESI (FLD (f_operand2), 2)) {
   4976 {
   4977   SI tmp_tmp;
   4978   tmp_tmp = GET_H_GR (((UINT) 2));
   4979   {
   4980     SI opval = tmp_tmp;
   4981     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4982     written |= (1 << 21);
   4983     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4984   }
   4985   tmp_addr = ADDSI (tmp_addr, 4);
   4986 }
   4987 }
   4988 if (GESI (FLD (f_operand2), 3)) {
   4989 {
   4990   SI tmp_tmp;
   4991   tmp_tmp = GET_H_GR (((UINT) 3));
   4992   {
   4993     SI opval = tmp_tmp;
   4994     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4995     written |= (1 << 21);
   4996     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4997   }
   4998   tmp_addr = ADDSI (tmp_addr, 4);
   4999 }
   5000 }
   5001 if (GESI (FLD (f_operand2), 4)) {
   5002 {
   5003   SI tmp_tmp;
   5004   tmp_tmp = GET_H_GR (((UINT) 4));
   5005   {
   5006     SI opval = tmp_tmp;
   5007     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5008     written |= (1 << 21);
   5009     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5010   }
   5011   tmp_addr = ADDSI (tmp_addr, 4);
   5012 }
   5013 }
   5014 if (GESI (FLD (f_operand2), 5)) {
   5015 {
   5016   SI tmp_tmp;
   5017   tmp_tmp = GET_H_GR (((UINT) 5));
   5018   {
   5019     SI opval = tmp_tmp;
   5020     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5021     written |= (1 << 21);
   5022     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5023   }
   5024   tmp_addr = ADDSI (tmp_addr, 4);
   5025 }
   5026 }
   5027 if (GESI (FLD (f_operand2), 6)) {
   5028 {
   5029   SI tmp_tmp;
   5030   tmp_tmp = GET_H_GR (((UINT) 6));
   5031   {
   5032     SI opval = tmp_tmp;
   5033     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5034     written |= (1 << 21);
   5035     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5036   }
   5037   tmp_addr = ADDSI (tmp_addr, 4);
   5038 }
   5039 }
   5040 if (GESI (FLD (f_operand2), 7)) {
   5041 {
   5042   SI tmp_tmp;
   5043   tmp_tmp = GET_H_GR (((UINT) 7));
   5044   {
   5045     SI opval = tmp_tmp;
   5046     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5047     written |= (1 << 21);
   5048     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5049   }
   5050   tmp_addr = ADDSI (tmp_addr, 4);
   5051 }
   5052 }
   5053 if (GESI (FLD (f_operand2), 8)) {
   5054 {
   5055   SI tmp_tmp;
   5056   tmp_tmp = GET_H_GR (((UINT) 8));
   5057   {
   5058     SI opval = tmp_tmp;
   5059     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5060     written |= (1 << 21);
   5061     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5062   }
   5063   tmp_addr = ADDSI (tmp_addr, 4);
   5064 }
   5065 }
   5066 if (GESI (FLD (f_operand2), 9)) {
   5067 {
   5068   SI tmp_tmp;
   5069   tmp_tmp = GET_H_GR (((UINT) 9));
   5070   {
   5071     SI opval = tmp_tmp;
   5072     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5073     written |= (1 << 21);
   5074     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5075   }
   5076   tmp_addr = ADDSI (tmp_addr, 4);
   5077 }
   5078 }
   5079 if (GESI (FLD (f_operand2), 10)) {
   5080 {
   5081   SI tmp_tmp;
   5082   tmp_tmp = GET_H_GR (((UINT) 10));
   5083   {
   5084     SI opval = tmp_tmp;
   5085     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5086     written |= (1 << 21);
   5087     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5088   }
   5089   tmp_addr = ADDSI (tmp_addr, 4);
   5090 }
   5091 }
   5092 if (GESI (FLD (f_operand2), 11)) {
   5093 {
   5094   SI tmp_tmp;
   5095   tmp_tmp = GET_H_GR (((UINT) 11));
   5096   {
   5097     SI opval = tmp_tmp;
   5098     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5099     written |= (1 << 21);
   5100     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5101   }
   5102   tmp_addr = ADDSI (tmp_addr, 4);
   5103 }
   5104 }
   5105 if (GESI (FLD (f_operand2), 12)) {
   5106 {
   5107   SI tmp_tmp;
   5108   tmp_tmp = GET_H_GR (((UINT) 12));
   5109   {
   5110     SI opval = tmp_tmp;
   5111     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5112     written |= (1 << 21);
   5113     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5114   }
   5115   tmp_addr = ADDSI (tmp_addr, 4);
   5116 }
   5117 }
   5118 if (GESI (FLD (f_operand2), 13)) {
   5119 {
   5120   SI tmp_tmp;
   5121   tmp_tmp = GET_H_GR (((UINT) 13));
   5122   {
   5123     SI opval = tmp_tmp;
   5124     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5125     written |= (1 << 21);
   5126     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5127   }
   5128   tmp_addr = ADDSI (tmp_addr, 4);
   5129 }
   5130 }
   5131 if (GESI (FLD (f_operand2), 14)) {
   5132 {
   5133   SI tmp_tmp;
   5134   tmp_tmp = GET_H_GR (((UINT) 14));
   5135   {
   5136     SI opval = tmp_tmp;
   5137     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5138     written |= (1 << 21);
   5139     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5140   }
   5141   tmp_addr = ADDSI (tmp_addr, 4);
   5142 }
   5143 }
   5144 if (GESI (FLD (f_operand2), 15)) {
   5145 {
   5146   SI tmp_tmp;
   5147   tmp_tmp = GET_H_GR (((UINT) 15));
   5148   {
   5149     SI opval = tmp_tmp;
   5150     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5151     written |= (1 << 21);
   5152     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5153   }
   5154   tmp_addr = ADDSI (tmp_addr, 4);
   5155 }
   5156 }
   5157 }
   5158 if (NEBI (tmp_postinc, 0)) {
   5159   {
   5160     SI opval = tmp_addr;
   5161     SET_H_GR (FLD (f_operand1), opval);
   5162     written |= (1 << 20);
   5163     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5164   }
   5165 }
   5166 {
   5167   {
   5168     BI opval = 0;
   5169     CPU (h_xbit) = opval;
   5170     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5171   }
   5172   {
   5173     BI opval = 0;
   5174     SET_H_INSN_PREFIXED_P (opval);
   5175     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5176   }
   5177 }
   5178 }
   5179 
   5180   abuf->written = written;
   5181 #undef FLD
   5182 }
   5183   NEXT (vpc);
   5184 
   5185   CASE (sem, INSN_MOVEM_M_R_V32) : /* movem [${Rs}${inc}],${Rd} */
   5186 {
   5187   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5188   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5189 #define FLD(f) abuf->fields.sfmt_movem_m_r_v32.f
   5190   int UNUSED written = 0;
   5191   IADDR UNUSED pc = abuf->addr;
   5192   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5193 
   5194 {
   5195   SI tmp_addr;
   5196   BI tmp_postinc;
   5197   tmp_postinc = FLD (f_memmode);
   5198   tmp_addr = GET_H_GR (FLD (f_operand1));
   5199 {
   5200   SI tmp_dummy;
   5201   tmp_dummy = GET_H_GR (FLD (f_operand2));
   5202 }
   5203 {
   5204 if (GESI (FLD (f_operand2), 0)) {
   5205 {
   5206   SI tmp_tmp;
   5207   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5208   {
   5209     SI opval = tmp_tmp;
   5210     SET_H_GR (((UINT) 0), opval);
   5211     written |= (1 << 6);
   5212     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5213   }
   5214   tmp_addr = ADDSI (tmp_addr, 4);
   5215 }
   5216 }
   5217 if (GESI (FLD (f_operand2), 1)) {
   5218 {
   5219   SI tmp_tmp;
   5220   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5221   {
   5222     SI opval = tmp_tmp;
   5223     SET_H_GR (((UINT) 1), opval);
   5224     written |= (1 << 7);
   5225     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5226   }
   5227   tmp_addr = ADDSI (tmp_addr, 4);
   5228 }
   5229 }
   5230 if (GESI (FLD (f_operand2), 2)) {
   5231 {
   5232   SI tmp_tmp;
   5233   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5234   {
   5235     SI opval = tmp_tmp;
   5236     SET_H_GR (((UINT) 2), opval);
   5237     written |= (1 << 14);
   5238     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5239   }
   5240   tmp_addr = ADDSI (tmp_addr, 4);
   5241 }
   5242 }
   5243 if (GESI (FLD (f_operand2), 3)) {
   5244 {
   5245   SI tmp_tmp;
   5246   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5247   {
   5248     SI opval = tmp_tmp;
   5249     SET_H_GR (((UINT) 3), opval);
   5250     written |= (1 << 15);
   5251     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5252   }
   5253   tmp_addr = ADDSI (tmp_addr, 4);
   5254 }
   5255 }
   5256 if (GESI (FLD (f_operand2), 4)) {
   5257 {
   5258   SI tmp_tmp;
   5259   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5260   {
   5261     SI opval = tmp_tmp;
   5262     SET_H_GR (((UINT) 4), opval);
   5263     written |= (1 << 16);
   5264     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5265   }
   5266   tmp_addr = ADDSI (tmp_addr, 4);
   5267 }
   5268 }
   5269 if (GESI (FLD (f_operand2), 5)) {
   5270 {
   5271   SI tmp_tmp;
   5272   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5273   {
   5274     SI opval = tmp_tmp;
   5275     SET_H_GR (((UINT) 5), opval);
   5276     written |= (1 << 17);
   5277     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5278   }
   5279   tmp_addr = ADDSI (tmp_addr, 4);
   5280 }
   5281 }
   5282 if (GESI (FLD (f_operand2), 6)) {
   5283 {
   5284   SI tmp_tmp;
   5285   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5286   {
   5287     SI opval = tmp_tmp;
   5288     SET_H_GR (((UINT) 6), opval);
   5289     written |= (1 << 18);
   5290     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5291   }
   5292   tmp_addr = ADDSI (tmp_addr, 4);
   5293 }
   5294 }
   5295 if (GESI (FLD (f_operand2), 7)) {
   5296 {
   5297   SI tmp_tmp;
   5298   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5299   {
   5300     SI opval = tmp_tmp;
   5301     SET_H_GR (((UINT) 7), opval);
   5302     written |= (1 << 19);
   5303     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5304   }
   5305   tmp_addr = ADDSI (tmp_addr, 4);
   5306 }
   5307 }
   5308 if (GESI (FLD (f_operand2), 8)) {
   5309 {
   5310   SI tmp_tmp;
   5311   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5312   {
   5313     SI opval = tmp_tmp;
   5314     SET_H_GR (((UINT) 8), opval);
   5315     written |= (1 << 20);
   5316     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5317   }
   5318   tmp_addr = ADDSI (tmp_addr, 4);
   5319 }
   5320 }
   5321 if (GESI (FLD (f_operand2), 9)) {
   5322 {
   5323   SI tmp_tmp;
   5324   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5325   {
   5326     SI opval = tmp_tmp;
   5327     SET_H_GR (((UINT) 9), opval);
   5328     written |= (1 << 21);
   5329     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5330   }
   5331   tmp_addr = ADDSI (tmp_addr, 4);
   5332 }
   5333 }
   5334 if (GESI (FLD (f_operand2), 10)) {
   5335 {
   5336   SI tmp_tmp;
   5337   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5338   {
   5339     SI opval = tmp_tmp;
   5340     SET_H_GR (((UINT) 10), opval);
   5341     written |= (1 << 8);
   5342     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5343   }
   5344   tmp_addr = ADDSI (tmp_addr, 4);
   5345 }
   5346 }
   5347 if (GESI (FLD (f_operand2), 11)) {
   5348 {
   5349   SI tmp_tmp;
   5350   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5351   {
   5352     SI opval = tmp_tmp;
   5353     SET_H_GR (((UINT) 11), opval);
   5354     written |= (1 << 9);
   5355     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5356   }
   5357   tmp_addr = ADDSI (tmp_addr, 4);
   5358 }
   5359 }
   5360 if (GESI (FLD (f_operand2), 12)) {
   5361 {
   5362   SI tmp_tmp;
   5363   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5364   {
   5365     SI opval = tmp_tmp;
   5366     SET_H_GR (((UINT) 12), opval);
   5367     written |= (1 << 10);
   5368     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5369   }
   5370   tmp_addr = ADDSI (tmp_addr, 4);
   5371 }
   5372 }
   5373 if (GESI (FLD (f_operand2), 13)) {
   5374 {
   5375   SI tmp_tmp;
   5376   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5377   {
   5378     SI opval = tmp_tmp;
   5379     SET_H_GR (((UINT) 13), opval);
   5380     written |= (1 << 11);
   5381     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5382   }
   5383   tmp_addr = ADDSI (tmp_addr, 4);
   5384 }
   5385 }
   5386 if (GESI (FLD (f_operand2), 14)) {
   5387 {
   5388   SI tmp_tmp;
   5389   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5390   {
   5391     SI opval = tmp_tmp;
   5392     SET_H_GR (((UINT) 14), opval);
   5393     written |= (1 << 12);
   5394     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5395   }
   5396   tmp_addr = ADDSI (tmp_addr, 4);
   5397 }
   5398 }
   5399 if (GESI (FLD (f_operand2), 15)) {
   5400 {
   5401   SI tmp_tmp;
   5402   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5403   {
   5404     SI opval = tmp_tmp;
   5405     SET_H_GR (((UINT) 15), opval);
   5406     written |= (1 << 13);
   5407     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5408   }
   5409   tmp_addr = ADDSI (tmp_addr, 4);
   5410 }
   5411 }
   5412 }
   5413 if (NEBI (tmp_postinc, 0)) {
   5414   {
   5415     SI opval = tmp_addr;
   5416     SET_H_GR (FLD (f_operand1), opval);
   5417     written |= (1 << 5);
   5418     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5419   }
   5420 }
   5421 {
   5422   {
   5423     BI opval = 0;
   5424     CPU (h_xbit) = opval;
   5425     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5426   }
   5427   {
   5428     BI opval = 0;
   5429     SET_H_INSN_PREFIXED_P (opval);
   5430     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5431   }
   5432 }
   5433 }
   5434 
   5435   abuf->written = written;
   5436 #undef FLD
   5437 }
   5438   NEXT (vpc);
   5439 
   5440   CASE (sem, INSN_ADD_B_R) : /* add.b $Rs,$Rd */
   5441 {
   5442   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5443   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5444 #define FLD(f) abuf->fields.sfmt_addc_m.f
   5445   int UNUSED written = 0;
   5446   IADDR UNUSED pc = abuf->addr;
   5447   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5448 
   5449 {
   5450   QI tmp_tmpopd;
   5451   QI tmp_tmpops;
   5452   BI tmp_carry;
   5453   QI tmp_newval;
   5454   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   5455   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5456   tmp_carry = CPU (h_cbit);
   5457   tmp_newval = ADDCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5458 {
   5459   SI tmp_oldregval;
   5460   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5461   {
   5462     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   5463     SET_H_GR (FLD (f_operand2), opval);
   5464     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5465   }
   5466 }
   5467 {
   5468   {
   5469     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
   5470     CPU (h_cbit) = opval;
   5471     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5472   }
   5473   {
   5474     BI opval = LTQI (tmp_newval, 0);
   5475     CPU (h_nbit) = opval;
   5476     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5477   }
   5478   {
   5479     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5480     CPU (h_zbit) = opval;
   5481     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5482   }
   5483   {
   5484     BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   5485     CPU (h_vbit) = opval;
   5486     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5487   }
   5488 {
   5489   {
   5490     BI opval = 0;
   5491     CPU (h_xbit) = opval;
   5492     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5493   }
   5494   {
   5495     BI opval = 0;
   5496     SET_H_INSN_PREFIXED_P (opval);
   5497     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5498   }
   5499 }
   5500 }
   5501 }
   5502 
   5503 #undef FLD
   5504 }
   5505   NEXT (vpc);
   5506 
   5507   CASE (sem, INSN_ADD_W_R) : /* add.w $Rs,$Rd */
   5508 {
   5509   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5510   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5511 #define FLD(f) abuf->fields.sfmt_addc_m.f
   5512   int UNUSED written = 0;
   5513   IADDR UNUSED pc = abuf->addr;
   5514   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5515 
   5516 {
   5517   HI tmp_tmpopd;
   5518   HI tmp_tmpops;
   5519   BI tmp_carry;
   5520   HI tmp_newval;
   5521   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   5522   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5523   tmp_carry = CPU (h_cbit);
   5524   tmp_newval = ADDCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5525 {
   5526   SI tmp_oldregval;
   5527   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5528   {
   5529     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   5530     SET_H_GR (FLD (f_operand2), opval);
   5531     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5532   }
   5533 }
   5534 {
   5535   {
   5536     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
   5537     CPU (h_cbit) = opval;
   5538     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5539   }
   5540   {
   5541     BI opval = LTHI (tmp_newval, 0);
   5542     CPU (h_nbit) = opval;
   5543     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5544   }
   5545   {
   5546     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5547     CPU (h_zbit) = opval;
   5548     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5549   }
   5550   {
   5551     BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   5552     CPU (h_vbit) = opval;
   5553     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5554   }
   5555 {
   5556   {
   5557     BI opval = 0;
   5558     CPU (h_xbit) = opval;
   5559     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5560   }
   5561   {
   5562     BI opval = 0;
   5563     SET_H_INSN_PREFIXED_P (opval);
   5564     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5565   }
   5566 }
   5567 }
   5568 }
   5569 
   5570 #undef FLD
   5571 }
   5572   NEXT (vpc);
   5573 
   5574   CASE (sem, INSN_ADD_D_R) : /* add.d $Rs,$Rd */
   5575 {
   5576   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5577   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5578 #define FLD(f) abuf->fields.sfmt_addc_m.f
   5579   int UNUSED written = 0;
   5580   IADDR UNUSED pc = abuf->addr;
   5581   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5582 
   5583 {
   5584   SI tmp_tmpopd;
   5585   SI tmp_tmpops;
   5586   BI tmp_carry;
   5587   SI tmp_newval;
   5588   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   5589   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5590   tmp_carry = CPU (h_cbit);
   5591   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5592   {
   5593     SI opval = tmp_newval;
   5594     SET_H_GR (FLD (f_operand2), opval);
   5595     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5596   }
   5597 {
   5598   {
   5599     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   5600     CPU (h_cbit) = opval;
   5601     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5602   }
   5603   {
   5604     BI opval = LTSI (tmp_newval, 0);
   5605     CPU (h_nbit) = opval;
   5606     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5607   }
   5608   {
   5609     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5610     CPU (h_zbit) = opval;
   5611     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5612   }
   5613   {
   5614     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   5615     CPU (h_vbit) = opval;
   5616     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5617   }
   5618 {
   5619   {
   5620     BI opval = 0;
   5621     CPU (h_xbit) = opval;
   5622     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5623   }
   5624   {
   5625     BI opval = 0;
   5626     SET_H_INSN_PREFIXED_P (opval);
   5627     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5628   }
   5629 }
   5630 }
   5631 }
   5632 
   5633 #undef FLD
   5634 }
   5635   NEXT (vpc);
   5636 
   5637   CASE (sem, INSN_ADD_M_B_M) : /* add-m.b [${Rs}${inc}],${Rd} */
   5638 {
   5639   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5640   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5641 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   5642   int UNUSED written = 0;
   5643   IADDR UNUSED pc = abuf->addr;
   5644   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5645 
   5646 {
   5647   QI tmp_tmpopd;
   5648   QI tmp_tmpops;
   5649   BI tmp_carry;
   5650   QI tmp_newval;
   5651   tmp_tmpops = ({   SI tmp_addr;
   5652   QI tmp_tmp_mem;
   5653   BI tmp_postinc;
   5654   tmp_postinc = FLD (f_memmode);
   5655 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   5656 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   5657 ; if (NEBI (tmp_postinc, 0)) {
   5658 {
   5659 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   5660   tmp_addr = ADDSI (tmp_addr, 1);
   5661 }
   5662   {
   5663     SI opval = tmp_addr;
   5664     SET_H_GR (FLD (f_operand1), opval);
   5665     written |= (1 << 12);
   5666     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5667   }
   5668 }
   5669 }
   5670 ; tmp_tmp_mem; });
   5671   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5672   tmp_carry = CPU (h_cbit);
   5673   tmp_newval = ADDCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5674 {
   5675   SI tmp_oldregval;
   5676   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   5677   {
   5678     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   5679     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   5680     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5681   }
   5682 }
   5683 {
   5684   {
   5685     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
   5686     CPU (h_cbit) = opval;
   5687     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5688   }
   5689   {
   5690     BI opval = LTQI (tmp_newval, 0);
   5691     CPU (h_nbit) = opval;
   5692     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5693   }
   5694   {
   5695     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5696     CPU (h_zbit) = opval;
   5697     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5698   }
   5699   {
   5700     BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   5701     CPU (h_vbit) = opval;
   5702     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5703   }
   5704 {
   5705   {
   5706     BI opval = 0;
   5707     CPU (h_xbit) = opval;
   5708     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5709   }
   5710   {
   5711     BI opval = 0;
   5712     SET_H_INSN_PREFIXED_P (opval);
   5713     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5714   }
   5715 }
   5716 }
   5717 }
   5718 
   5719   abuf->written = written;
   5720 #undef FLD
   5721 }
   5722   NEXT (vpc);
   5723 
   5724   CASE (sem, INSN_ADD_M_W_M) : /* add-m.w [${Rs}${inc}],${Rd} */
   5725 {
   5726   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5727   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5728 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   5729   int UNUSED written = 0;
   5730   IADDR UNUSED pc = abuf->addr;
   5731   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5732 
   5733 {
   5734   HI tmp_tmpopd;
   5735   HI tmp_tmpops;
   5736   BI tmp_carry;
   5737   HI tmp_newval;
   5738   tmp_tmpops = ({   SI tmp_addr;
   5739   HI tmp_tmp_mem;
   5740   BI tmp_postinc;
   5741   tmp_postinc = FLD (f_memmode);
   5742 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   5743 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   5744 ; if (NEBI (tmp_postinc, 0)) {
   5745 {
   5746 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   5747   tmp_addr = ADDSI (tmp_addr, 2);
   5748 }
   5749   {
   5750     SI opval = tmp_addr;
   5751     SET_H_GR (FLD (f_operand1), opval);
   5752     written |= (1 << 12);
   5753     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5754   }
   5755 }
   5756 }
   5757 ; tmp_tmp_mem; });
   5758   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5759   tmp_carry = CPU (h_cbit);
   5760   tmp_newval = ADDCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5761 {
   5762   SI tmp_oldregval;
   5763   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   5764   {
   5765     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   5766     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   5767     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5768   }
   5769 }
   5770 {
   5771   {
   5772     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
   5773     CPU (h_cbit) = opval;
   5774     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5775   }
   5776   {
   5777     BI opval = LTHI (tmp_newval, 0);
   5778     CPU (h_nbit) = opval;
   5779     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5780   }
   5781   {
   5782     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5783     CPU (h_zbit) = opval;
   5784     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5785   }
   5786   {
   5787     BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   5788     CPU (h_vbit) = opval;
   5789     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5790   }
   5791 {
   5792   {
   5793     BI opval = 0;
   5794     CPU (h_xbit) = opval;
   5795     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5796   }
   5797   {
   5798     BI opval = 0;
   5799     SET_H_INSN_PREFIXED_P (opval);
   5800     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5801   }
   5802 }
   5803 }
   5804 }
   5805 
   5806   abuf->written = written;
   5807 #undef FLD
   5808 }
   5809   NEXT (vpc);
   5810 
   5811   CASE (sem, INSN_ADD_M_D_M) : /* add-m.d [${Rs}${inc}],${Rd} */
   5812 {
   5813   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5814   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5815 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   5816   int UNUSED written = 0;
   5817   IADDR UNUSED pc = abuf->addr;
   5818   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5819 
   5820 {
   5821   SI tmp_tmpopd;
   5822   SI tmp_tmpops;
   5823   BI tmp_carry;
   5824   SI tmp_newval;
   5825   tmp_tmpops = ({   SI tmp_addr;
   5826   SI tmp_tmp_mem;
   5827   BI tmp_postinc;
   5828   tmp_postinc = FLD (f_memmode);
   5829 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   5830 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   5831 ; if (NEBI (tmp_postinc, 0)) {
   5832 {
   5833 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   5834   tmp_addr = ADDSI (tmp_addr, 4);
   5835 }
   5836   {
   5837     SI opval = tmp_addr;
   5838     SET_H_GR (FLD (f_operand1), opval);
   5839     written |= (1 << 11);
   5840     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5841   }
   5842 }
   5843 }
   5844 ; tmp_tmp_mem; });
   5845   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5846   tmp_carry = CPU (h_cbit);
   5847   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5848   {
   5849     SI opval = tmp_newval;
   5850     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   5851     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5852   }
   5853 {
   5854   {
   5855     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   5856     CPU (h_cbit) = opval;
   5857     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5858   }
   5859   {
   5860     BI opval = LTSI (tmp_newval, 0);
   5861     CPU (h_nbit) = opval;
   5862     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5863   }
   5864   {
   5865     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5866     CPU (h_zbit) = opval;
   5867     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5868   }
   5869   {
   5870     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   5871     CPU (h_vbit) = opval;
   5872     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5873   }
   5874 {
   5875   {
   5876     BI opval = 0;
   5877     CPU (h_xbit) = opval;
   5878     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5879   }
   5880   {
   5881     BI opval = 0;
   5882     SET_H_INSN_PREFIXED_P (opval);
   5883     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5884   }
   5885 }
   5886 }
   5887 }
   5888 
   5889   abuf->written = written;
   5890 #undef FLD
   5891 }
   5892   NEXT (vpc);
   5893 
   5894   CASE (sem, INSN_ADDCBR) : /* add.b ${sconst8}],${Rd} */
   5895 {
   5896   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5897   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5898 #define FLD(f) abuf->fields.sfmt_addcbr.f
   5899   int UNUSED written = 0;
   5900   IADDR UNUSED pc = abuf->addr;
   5901   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   5902 
   5903 {
   5904   QI tmp_tmpopd;
   5905   QI tmp_tmpops;
   5906   BI tmp_carry;
   5907   QI tmp_newval;
   5908   tmp_tmpops = FLD (f_indir_pc__byte);
   5909   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5910   tmp_carry = CPU (h_cbit);
   5911   tmp_newval = ADDCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5912 {
   5913   SI tmp_oldregval;
   5914   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5915   {
   5916     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   5917     SET_H_GR (FLD (f_operand2), opval);
   5918     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5919   }
   5920 }
   5921 {
   5922   {
   5923     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
   5924     CPU (h_cbit) = opval;
   5925     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5926   }
   5927   {
   5928     BI opval = LTQI (tmp_newval, 0);
   5929     CPU (h_nbit) = opval;
   5930     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5931   }
   5932   {
   5933     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5934     CPU (h_zbit) = opval;
   5935     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5936   }
   5937   {
   5938     BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   5939     CPU (h_vbit) = opval;
   5940     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5941   }
   5942 {
   5943   {
   5944     BI opval = 0;
   5945     CPU (h_xbit) = opval;
   5946     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5947   }
   5948   {
   5949     BI opval = 0;
   5950     SET_H_INSN_PREFIXED_P (opval);
   5951     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5952   }
   5953 }
   5954 }
   5955 }
   5956 
   5957 #undef FLD
   5958 }
   5959   NEXT (vpc);
   5960 
   5961   CASE (sem, INSN_ADDCWR) : /* add.w ${sconst16}],${Rd} */
   5962 {
   5963   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5964   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5965 #define FLD(f) abuf->fields.sfmt_addcwr.f
   5966   int UNUSED written = 0;
   5967   IADDR UNUSED pc = abuf->addr;
   5968   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   5969 
   5970 {
   5971   HI tmp_tmpopd;
   5972   HI tmp_tmpops;
   5973   BI tmp_carry;
   5974   HI tmp_newval;
   5975   tmp_tmpops = FLD (f_indir_pc__word);
   5976   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5977   tmp_carry = CPU (h_cbit);
   5978   tmp_newval = ADDCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5979 {
   5980   SI tmp_oldregval;
   5981   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5982   {
   5983     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   5984     SET_H_GR (FLD (f_operand2), opval);
   5985     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5986   }
   5987 }
   5988 {
   5989   {
   5990     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
   5991     CPU (h_cbit) = opval;
   5992     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5993   }
   5994   {
   5995     BI opval = LTHI (tmp_newval, 0);
   5996     CPU (h_nbit) = opval;
   5997     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5998   }
   5999   {
   6000     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6001     CPU (h_zbit) = opval;
   6002     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6003   }
   6004   {
   6005     BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   6006     CPU (h_vbit) = opval;
   6007     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6008   }
   6009 {
   6010   {
   6011     BI opval = 0;
   6012     CPU (h_xbit) = opval;
   6013     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6014   }
   6015   {
   6016     BI opval = 0;
   6017     SET_H_INSN_PREFIXED_P (opval);
   6018     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6019   }
   6020 }
   6021 }
   6022 }
   6023 
   6024 #undef FLD
   6025 }
   6026   NEXT (vpc);
   6027 
   6028   CASE (sem, INSN_ADDCDR) : /* add.d ${const32}],${Rd} */
   6029 {
   6030   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6031   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6032 #define FLD(f) abuf->fields.sfmt_addcdr.f
   6033   int UNUSED written = 0;
   6034   IADDR UNUSED pc = abuf->addr;
   6035   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   6036 
   6037 {
   6038   SI tmp_tmpopd;
   6039   SI tmp_tmpops;
   6040   BI tmp_carry;
   6041   SI tmp_newval;
   6042   tmp_tmpops = FLD (f_indir_pc__dword);
   6043   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6044   tmp_carry = CPU (h_cbit);
   6045   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6046   {
   6047     SI opval = tmp_newval;
   6048     SET_H_GR (FLD (f_operand2), opval);
   6049     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6050   }
   6051 {
   6052   {
   6053     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6054     CPU (h_cbit) = opval;
   6055     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6056   }
   6057   {
   6058     BI opval = LTSI (tmp_newval, 0);
   6059     CPU (h_nbit) = opval;
   6060     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6061   }
   6062   {
   6063     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6064     CPU (h_zbit) = opval;
   6065     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6066   }
   6067   {
   6068     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6069     CPU (h_vbit) = opval;
   6070     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6071   }
   6072 {
   6073   {
   6074     BI opval = 0;
   6075     CPU (h_xbit) = opval;
   6076     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6077   }
   6078   {
   6079     BI opval = 0;
   6080     SET_H_INSN_PREFIXED_P (opval);
   6081     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6082   }
   6083 }
   6084 }
   6085 }
   6086 
   6087 #undef FLD
   6088 }
   6089   NEXT (vpc);
   6090 
   6091   CASE (sem, INSN_ADDS_B_R) : /* adds.b $Rs,$Rd */
   6092 {
   6093   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6094   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6095 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6096   int UNUSED written = 0;
   6097   IADDR UNUSED pc = abuf->addr;
   6098   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6099 
   6100 {
   6101   SI tmp_tmpopd;
   6102   SI tmp_tmpops;
   6103   BI tmp_carry;
   6104   SI tmp_newval;
   6105   tmp_tmpops = EXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   6106   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6107   tmp_carry = CPU (h_cbit);
   6108   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6109   {
   6110     SI opval = tmp_newval;
   6111     SET_H_GR (FLD (f_operand2), opval);
   6112     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6113   }
   6114 {
   6115   {
   6116     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6117     CPU (h_cbit) = opval;
   6118     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6119   }
   6120   {
   6121     BI opval = LTSI (tmp_newval, 0);
   6122     CPU (h_nbit) = opval;
   6123     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6124   }
   6125   {
   6126     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6127     CPU (h_zbit) = opval;
   6128     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6129   }
   6130   {
   6131     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6132     CPU (h_vbit) = opval;
   6133     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6134   }
   6135 {
   6136   {
   6137     BI opval = 0;
   6138     CPU (h_xbit) = opval;
   6139     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6140   }
   6141   {
   6142     BI opval = 0;
   6143     SET_H_INSN_PREFIXED_P (opval);
   6144     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6145   }
   6146 }
   6147 }
   6148 }
   6149 
   6150 #undef FLD
   6151 }
   6152   NEXT (vpc);
   6153 
   6154   CASE (sem, INSN_ADDS_W_R) : /* adds.w $Rs,$Rd */
   6155 {
   6156   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6157   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6158 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6159   int UNUSED written = 0;
   6160   IADDR UNUSED pc = abuf->addr;
   6161   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6162 
   6163 {
   6164   SI tmp_tmpopd;
   6165   SI tmp_tmpops;
   6166   BI tmp_carry;
   6167   SI tmp_newval;
   6168   tmp_tmpops = EXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   6169   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6170   tmp_carry = CPU (h_cbit);
   6171   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6172   {
   6173     SI opval = tmp_newval;
   6174     SET_H_GR (FLD (f_operand2), opval);
   6175     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6176   }
   6177 {
   6178   {
   6179     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6180     CPU (h_cbit) = opval;
   6181     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6182   }
   6183   {
   6184     BI opval = LTSI (tmp_newval, 0);
   6185     CPU (h_nbit) = opval;
   6186     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6187   }
   6188   {
   6189     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6190     CPU (h_zbit) = opval;
   6191     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6192   }
   6193   {
   6194     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6195     CPU (h_vbit) = opval;
   6196     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6197   }
   6198 {
   6199   {
   6200     BI opval = 0;
   6201     CPU (h_xbit) = opval;
   6202     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6203   }
   6204   {
   6205     BI opval = 0;
   6206     SET_H_INSN_PREFIXED_P (opval);
   6207     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6208   }
   6209 }
   6210 }
   6211 }
   6212 
   6213 #undef FLD
   6214 }
   6215   NEXT (vpc);
   6216 
   6217   CASE (sem, INSN_ADDS_M_B_M) : /* adds-m.b [${Rs}${inc}],$Rd */
   6218 {
   6219   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6220   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6221 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6222   int UNUSED written = 0;
   6223   IADDR UNUSED pc = abuf->addr;
   6224   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6225 
   6226 {
   6227   SI tmp_tmpopd;
   6228   SI tmp_tmpops;
   6229   BI tmp_carry;
   6230   SI tmp_newval;
   6231   tmp_tmpops = EXTQISI (({   SI tmp_addr;
   6232   QI tmp_tmp_mem;
   6233   BI tmp_postinc;
   6234   tmp_postinc = FLD (f_memmode);
   6235 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6236 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   6237 ; if (NEBI (tmp_postinc, 0)) {
   6238 {
   6239 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6240   tmp_addr = ADDSI (tmp_addr, 1);
   6241 }
   6242   {
   6243     SI opval = tmp_addr;
   6244     SET_H_GR (FLD (f_operand1), opval);
   6245     written |= (1 << 11);
   6246     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6247   }
   6248 }
   6249 }
   6250 ; tmp_tmp_mem; }));
   6251   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6252   tmp_carry = CPU (h_cbit);
   6253   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6254   {
   6255     SI opval = tmp_newval;
   6256     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6257     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6258   }
   6259 {
   6260   {
   6261     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6262     CPU (h_cbit) = opval;
   6263     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6264   }
   6265   {
   6266     BI opval = LTSI (tmp_newval, 0);
   6267     CPU (h_nbit) = opval;
   6268     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6269   }
   6270   {
   6271     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6272     CPU (h_zbit) = opval;
   6273     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6274   }
   6275   {
   6276     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6277     CPU (h_vbit) = opval;
   6278     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6279   }
   6280 {
   6281   {
   6282     BI opval = 0;
   6283     CPU (h_xbit) = opval;
   6284     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6285   }
   6286   {
   6287     BI opval = 0;
   6288     SET_H_INSN_PREFIXED_P (opval);
   6289     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6290   }
   6291 }
   6292 }
   6293 }
   6294 
   6295   abuf->written = written;
   6296 #undef FLD
   6297 }
   6298   NEXT (vpc);
   6299 
   6300   CASE (sem, INSN_ADDS_M_W_M) : /* adds-m.w [${Rs}${inc}],$Rd */
   6301 {
   6302   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6303   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6304 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6305   int UNUSED written = 0;
   6306   IADDR UNUSED pc = abuf->addr;
   6307   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6308 
   6309 {
   6310   SI tmp_tmpopd;
   6311   SI tmp_tmpops;
   6312   BI tmp_carry;
   6313   SI tmp_newval;
   6314   tmp_tmpops = EXTHISI (({   SI tmp_addr;
   6315   HI tmp_tmp_mem;
   6316   BI tmp_postinc;
   6317   tmp_postinc = FLD (f_memmode);
   6318 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6319 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   6320 ; if (NEBI (tmp_postinc, 0)) {
   6321 {
   6322 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6323   tmp_addr = ADDSI (tmp_addr, 2);
   6324 }
   6325   {
   6326     SI opval = tmp_addr;
   6327     SET_H_GR (FLD (f_operand1), opval);
   6328     written |= (1 << 11);
   6329     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6330   }
   6331 }
   6332 }
   6333 ; tmp_tmp_mem; }));
   6334   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6335   tmp_carry = CPU (h_cbit);
   6336   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6337   {
   6338     SI opval = tmp_newval;
   6339     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6340     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6341   }
   6342 {
   6343   {
   6344     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6345     CPU (h_cbit) = opval;
   6346     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6347   }
   6348   {
   6349     BI opval = LTSI (tmp_newval, 0);
   6350     CPU (h_nbit) = opval;
   6351     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6352   }
   6353   {
   6354     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6355     CPU (h_zbit) = opval;
   6356     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6357   }
   6358   {
   6359     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6360     CPU (h_vbit) = opval;
   6361     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6362   }
   6363 {
   6364   {
   6365     BI opval = 0;
   6366     CPU (h_xbit) = opval;
   6367     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6368   }
   6369   {
   6370     BI opval = 0;
   6371     SET_H_INSN_PREFIXED_P (opval);
   6372     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6373   }
   6374 }
   6375 }
   6376 }
   6377 
   6378   abuf->written = written;
   6379 #undef FLD
   6380 }
   6381   NEXT (vpc);
   6382 
   6383   CASE (sem, INSN_ADDSCBR) : /* [${Rs}${inc}],$Rd */
   6384 {
   6385   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6386   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6387 #define FLD(f) abuf->fields.sfmt_addcbr.f
   6388   int UNUSED written = 0;
   6389   IADDR UNUSED pc = abuf->addr;
   6390   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6391 
   6392 {
   6393   SI tmp_tmpopd;
   6394   SI tmp_tmpops;
   6395   BI tmp_carry;
   6396   SI tmp_newval;
   6397   tmp_tmpops = EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   6398   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6399   tmp_carry = CPU (h_cbit);
   6400   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6401   {
   6402     SI opval = tmp_newval;
   6403     SET_H_GR (FLD (f_operand2), opval);
   6404     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6405   }
   6406 {
   6407   {
   6408     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6409     CPU (h_cbit) = opval;
   6410     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6411   }
   6412   {
   6413     BI opval = LTSI (tmp_newval, 0);
   6414     CPU (h_nbit) = opval;
   6415     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6416   }
   6417   {
   6418     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6419     CPU (h_zbit) = opval;
   6420     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6421   }
   6422   {
   6423     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6424     CPU (h_vbit) = opval;
   6425     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6426   }
   6427 {
   6428   {
   6429     BI opval = 0;
   6430     CPU (h_xbit) = opval;
   6431     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6432   }
   6433   {
   6434     BI opval = 0;
   6435     SET_H_INSN_PREFIXED_P (opval);
   6436     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6437   }
   6438 }
   6439 }
   6440 }
   6441 
   6442 #undef FLD
   6443 }
   6444   NEXT (vpc);
   6445 
   6446   CASE (sem, INSN_ADDSCWR) : /* [${Rs}${inc}],$Rd */
   6447 {
   6448   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6449   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6450 #define FLD(f) abuf->fields.sfmt_addcwr.f
   6451   int UNUSED written = 0;
   6452   IADDR UNUSED pc = abuf->addr;
   6453   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6454 
   6455 {
   6456   SI tmp_tmpopd;
   6457   SI tmp_tmpops;
   6458   BI tmp_carry;
   6459   SI tmp_newval;
   6460   tmp_tmpops = EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   6461   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6462   tmp_carry = CPU (h_cbit);
   6463   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6464   {
   6465     SI opval = tmp_newval;
   6466     SET_H_GR (FLD (f_operand2), opval);
   6467     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6468   }
   6469 {
   6470   {
   6471     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6472     CPU (h_cbit) = opval;
   6473     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6474   }
   6475   {
   6476     BI opval = LTSI (tmp_newval, 0);
   6477     CPU (h_nbit) = opval;
   6478     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6479   }
   6480   {
   6481     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6482     CPU (h_zbit) = opval;
   6483     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6484   }
   6485   {
   6486     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6487     CPU (h_vbit) = opval;
   6488     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6489   }
   6490 {
   6491   {
   6492     BI opval = 0;
   6493     CPU (h_xbit) = opval;
   6494     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6495   }
   6496   {
   6497     BI opval = 0;
   6498     SET_H_INSN_PREFIXED_P (opval);
   6499     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6500   }
   6501 }
   6502 }
   6503 }
   6504 
   6505 #undef FLD
   6506 }
   6507   NEXT (vpc);
   6508 
   6509   CASE (sem, INSN_ADDU_B_R) : /* addu.b $Rs,$Rd */
   6510 {
   6511   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6512   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6513 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6514   int UNUSED written = 0;
   6515   IADDR UNUSED pc = abuf->addr;
   6516   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6517 
   6518 {
   6519   SI tmp_tmpopd;
   6520   SI tmp_tmpops;
   6521   BI tmp_carry;
   6522   SI tmp_newval;
   6523   tmp_tmpops = ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   6524   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6525   tmp_carry = CPU (h_cbit);
   6526   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6527   {
   6528     SI opval = tmp_newval;
   6529     SET_H_GR (FLD (f_operand2), opval);
   6530     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6531   }
   6532 {
   6533   {
   6534     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6535     CPU (h_cbit) = opval;
   6536     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6537   }
   6538   {
   6539     BI opval = LTSI (tmp_newval, 0);
   6540     CPU (h_nbit) = opval;
   6541     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6542   }
   6543   {
   6544     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6545     CPU (h_zbit) = opval;
   6546     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6547   }
   6548   {
   6549     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6550     CPU (h_vbit) = opval;
   6551     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6552   }
   6553 {
   6554   {
   6555     BI opval = 0;
   6556     CPU (h_xbit) = opval;
   6557     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6558   }
   6559   {
   6560     BI opval = 0;
   6561     SET_H_INSN_PREFIXED_P (opval);
   6562     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6563   }
   6564 }
   6565 }
   6566 }
   6567 
   6568 #undef FLD
   6569 }
   6570   NEXT (vpc);
   6571 
   6572   CASE (sem, INSN_ADDU_W_R) : /* addu.w $Rs,$Rd */
   6573 {
   6574   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6575   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6576 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6577   int UNUSED written = 0;
   6578   IADDR UNUSED pc = abuf->addr;
   6579   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6580 
   6581 {
   6582   SI tmp_tmpopd;
   6583   SI tmp_tmpops;
   6584   BI tmp_carry;
   6585   SI tmp_newval;
   6586   tmp_tmpops = ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   6587   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6588   tmp_carry = CPU (h_cbit);
   6589   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6590   {
   6591     SI opval = tmp_newval;
   6592     SET_H_GR (FLD (f_operand2), opval);
   6593     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6594   }
   6595 {
   6596   {
   6597     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6598     CPU (h_cbit) = opval;
   6599     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6600   }
   6601   {
   6602     BI opval = LTSI (tmp_newval, 0);
   6603     CPU (h_nbit) = opval;
   6604     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6605   }
   6606   {
   6607     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6608     CPU (h_zbit) = opval;
   6609     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6610   }
   6611   {
   6612     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6613     CPU (h_vbit) = opval;
   6614     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6615   }
   6616 {
   6617   {
   6618     BI opval = 0;
   6619     CPU (h_xbit) = opval;
   6620     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6621   }
   6622   {
   6623     BI opval = 0;
   6624     SET_H_INSN_PREFIXED_P (opval);
   6625     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6626   }
   6627 }
   6628 }
   6629 }
   6630 
   6631 #undef FLD
   6632 }
   6633   NEXT (vpc);
   6634 
   6635   CASE (sem, INSN_ADDU_M_B_M) : /* addu-m.b [${Rs}${inc}],$Rd */
   6636 {
   6637   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6638   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6639 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6640   int UNUSED written = 0;
   6641   IADDR UNUSED pc = abuf->addr;
   6642   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6643 
   6644 {
   6645   SI tmp_tmpopd;
   6646   SI tmp_tmpops;
   6647   BI tmp_carry;
   6648   SI tmp_newval;
   6649   tmp_tmpops = ZEXTQISI (({   SI tmp_addr;
   6650   QI tmp_tmp_mem;
   6651   BI tmp_postinc;
   6652   tmp_postinc = FLD (f_memmode);
   6653 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6654 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   6655 ; if (NEBI (tmp_postinc, 0)) {
   6656 {
   6657 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6658   tmp_addr = ADDSI (tmp_addr, 1);
   6659 }
   6660   {
   6661     SI opval = tmp_addr;
   6662     SET_H_GR (FLD (f_operand1), opval);
   6663     written |= (1 << 11);
   6664     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6665   }
   6666 }
   6667 }
   6668 ; tmp_tmp_mem; }));
   6669   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6670   tmp_carry = CPU (h_cbit);
   6671   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6672   {
   6673     SI opval = tmp_newval;
   6674     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6675     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6676   }
   6677 {
   6678   {
   6679     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6680     CPU (h_cbit) = opval;
   6681     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6682   }
   6683   {
   6684     BI opval = LTSI (tmp_newval, 0);
   6685     CPU (h_nbit) = opval;
   6686     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6687   }
   6688   {
   6689     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6690     CPU (h_zbit) = opval;
   6691     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6692   }
   6693   {
   6694     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6695     CPU (h_vbit) = opval;
   6696     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6697   }
   6698 {
   6699   {
   6700     BI opval = 0;
   6701     CPU (h_xbit) = opval;
   6702     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6703   }
   6704   {
   6705     BI opval = 0;
   6706     SET_H_INSN_PREFIXED_P (opval);
   6707     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6708   }
   6709 }
   6710 }
   6711 }
   6712 
   6713   abuf->written = written;
   6714 #undef FLD
   6715 }
   6716   NEXT (vpc);
   6717 
   6718   CASE (sem, INSN_ADDU_M_W_M) : /* addu-m.w [${Rs}${inc}],$Rd */
   6719 {
   6720   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6721   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6722 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6723   int UNUSED written = 0;
   6724   IADDR UNUSED pc = abuf->addr;
   6725   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6726 
   6727 {
   6728   SI tmp_tmpopd;
   6729   SI tmp_tmpops;
   6730   BI tmp_carry;
   6731   SI tmp_newval;
   6732   tmp_tmpops = ZEXTHISI (({   SI tmp_addr;
   6733   HI tmp_tmp_mem;
   6734   BI tmp_postinc;
   6735   tmp_postinc = FLD (f_memmode);
   6736 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6737 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   6738 ; if (NEBI (tmp_postinc, 0)) {
   6739 {
   6740 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6741   tmp_addr = ADDSI (tmp_addr, 2);
   6742 }
   6743   {
   6744     SI opval = tmp_addr;
   6745     SET_H_GR (FLD (f_operand1), opval);
   6746     written |= (1 << 11);
   6747     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6748   }
   6749 }
   6750 }
   6751 ; tmp_tmp_mem; }));
   6752   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6753   tmp_carry = CPU (h_cbit);
   6754   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6755   {
   6756     SI opval = tmp_newval;
   6757     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6758     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6759   }
   6760 {
   6761   {
   6762     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6763     CPU (h_cbit) = opval;
   6764     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6765   }
   6766   {
   6767     BI opval = LTSI (tmp_newval, 0);
   6768     CPU (h_nbit) = opval;
   6769     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6770   }
   6771   {
   6772     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6773     CPU (h_zbit) = opval;
   6774     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6775   }
   6776   {
   6777     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6778     CPU (h_vbit) = opval;
   6779     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6780   }
   6781 {
   6782   {
   6783     BI opval = 0;
   6784     CPU (h_xbit) = opval;
   6785     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6786   }
   6787   {
   6788     BI opval = 0;
   6789     SET_H_INSN_PREFIXED_P (opval);
   6790     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6791   }
   6792 }
   6793 }
   6794 }
   6795 
   6796   abuf->written = written;
   6797 #undef FLD
   6798 }
   6799   NEXT (vpc);
   6800 
   6801   CASE (sem, INSN_ADDUCBR) : /* [${Rs}${inc}],$Rd */
   6802 {
   6803   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6804   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6805 #define FLD(f) abuf->fields.sfmt_addcbr.f
   6806   int UNUSED written = 0;
   6807   IADDR UNUSED pc = abuf->addr;
   6808   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6809 
   6810 {
   6811   SI tmp_tmpopd;
   6812   SI tmp_tmpops;
   6813   BI tmp_carry;
   6814   SI tmp_newval;
   6815   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   6816   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6817   tmp_carry = CPU (h_cbit);
   6818   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6819   {
   6820     SI opval = tmp_newval;
   6821     SET_H_GR (FLD (f_operand2), opval);
   6822     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6823   }
   6824 {
   6825   {
   6826     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6827     CPU (h_cbit) = opval;
   6828     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6829   }
   6830   {
   6831     BI opval = LTSI (tmp_newval, 0);
   6832     CPU (h_nbit) = opval;
   6833     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6834   }
   6835   {
   6836     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6837     CPU (h_zbit) = opval;
   6838     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6839   }
   6840   {
   6841     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6842     CPU (h_vbit) = opval;
   6843     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6844   }
   6845 {
   6846   {
   6847     BI opval = 0;
   6848     CPU (h_xbit) = opval;
   6849     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6850   }
   6851   {
   6852     BI opval = 0;
   6853     SET_H_INSN_PREFIXED_P (opval);
   6854     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6855   }
   6856 }
   6857 }
   6858 }
   6859 
   6860 #undef FLD
   6861 }
   6862   NEXT (vpc);
   6863 
   6864   CASE (sem, INSN_ADDUCWR) : /* [${Rs}${inc}],$Rd */
   6865 {
   6866   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6867   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6868 #define FLD(f) abuf->fields.sfmt_addcwr.f
   6869   int UNUSED written = 0;
   6870   IADDR UNUSED pc = abuf->addr;
   6871   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6872 
   6873 {
   6874   SI tmp_tmpopd;
   6875   SI tmp_tmpops;
   6876   BI tmp_carry;
   6877   SI tmp_newval;
   6878   tmp_tmpops = ZEXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   6879   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6880   tmp_carry = CPU (h_cbit);
   6881   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6882   {
   6883     SI opval = tmp_newval;
   6884     SET_H_GR (FLD (f_operand2), opval);
   6885     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6886   }
   6887 {
   6888   {
   6889     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   6890     CPU (h_cbit) = opval;
   6891     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6892   }
   6893   {
   6894     BI opval = LTSI (tmp_newval, 0);
   6895     CPU (h_nbit) = opval;
   6896     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6897   }
   6898   {
   6899     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6900     CPU (h_zbit) = opval;
   6901     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6902   }
   6903   {
   6904     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   6905     CPU (h_vbit) = opval;
   6906     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6907   }
   6908 {
   6909   {
   6910     BI opval = 0;
   6911     CPU (h_xbit) = opval;
   6912     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6913   }
   6914   {
   6915     BI opval = 0;
   6916     SET_H_INSN_PREFIXED_P (opval);
   6917     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6918   }
   6919 }
   6920 }
   6921 }
   6922 
   6923 #undef FLD
   6924 }
   6925   NEXT (vpc);
   6926 
   6927   CASE (sem, INSN_SUB_B_R) : /* sub.b $Rs,$Rd */
   6928 {
   6929   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6930   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6931 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6932   int UNUSED written = 0;
   6933   IADDR UNUSED pc = abuf->addr;
   6934   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6935 
   6936 {
   6937   QI tmp_tmpopd;
   6938   QI tmp_tmpops;
   6939   BI tmp_carry;
   6940   QI tmp_newval;
   6941   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   6942   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6943   tmp_carry = CPU (h_cbit);
   6944   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6945 {
   6946   SI tmp_oldregval;
   6947   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   6948   {
   6949     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   6950     SET_H_GR (FLD (f_operand2), opval);
   6951     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6952   }
   6953 }
   6954 {
   6955   {
   6956     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   6957     CPU (h_cbit) = opval;
   6958     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6959   }
   6960   {
   6961     BI opval = LTQI (tmp_newval, 0);
   6962     CPU (h_nbit) = opval;
   6963     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6964   }
   6965   {
   6966     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6967     CPU (h_zbit) = opval;
   6968     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6969   }
   6970   {
   6971     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   6972     CPU (h_vbit) = opval;
   6973     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6974   }
   6975 {
   6976   {
   6977     BI opval = 0;
   6978     CPU (h_xbit) = opval;
   6979     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6980   }
   6981   {
   6982     BI opval = 0;
   6983     SET_H_INSN_PREFIXED_P (opval);
   6984     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6985   }
   6986 }
   6987 }
   6988 }
   6989 
   6990 #undef FLD
   6991 }
   6992   NEXT (vpc);
   6993 
   6994   CASE (sem, INSN_SUB_W_R) : /* sub.w $Rs,$Rd */
   6995 {
   6996   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6997   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6998 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6999   int UNUSED written = 0;
   7000   IADDR UNUSED pc = abuf->addr;
   7001   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7002 
   7003 {
   7004   HI tmp_tmpopd;
   7005   HI tmp_tmpops;
   7006   BI tmp_carry;
   7007   HI tmp_newval;
   7008   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   7009   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7010   tmp_carry = CPU (h_cbit);
   7011   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7012 {
   7013   SI tmp_oldregval;
   7014   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   7015   {
   7016     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   7017     SET_H_GR (FLD (f_operand2), opval);
   7018     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7019   }
   7020 }
   7021 {
   7022   {
   7023     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   7024     CPU (h_cbit) = opval;
   7025     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7026   }
   7027   {
   7028     BI opval = LTHI (tmp_newval, 0);
   7029     CPU (h_nbit) = opval;
   7030     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7031   }
   7032   {
   7033     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7034     CPU (h_zbit) = opval;
   7035     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7036   }
   7037   {
   7038     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   7039     CPU (h_vbit) = opval;
   7040     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7041   }
   7042 {
   7043   {
   7044     BI opval = 0;
   7045     CPU (h_xbit) = opval;
   7046     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7047   }
   7048   {
   7049     BI opval = 0;
   7050     SET_H_INSN_PREFIXED_P (opval);
   7051     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7052   }
   7053 }
   7054 }
   7055 }
   7056 
   7057 #undef FLD
   7058 }
   7059   NEXT (vpc);
   7060 
   7061   CASE (sem, INSN_SUB_D_R) : /* sub.d $Rs,$Rd */
   7062 {
   7063   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7064   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7065 #define FLD(f) abuf->fields.sfmt_addc_m.f
   7066   int UNUSED written = 0;
   7067   IADDR UNUSED pc = abuf->addr;
   7068   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7069 
   7070 {
   7071   SI tmp_tmpopd;
   7072   SI tmp_tmpops;
   7073   BI tmp_carry;
   7074   SI tmp_newval;
   7075   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   7076   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7077   tmp_carry = CPU (h_cbit);
   7078   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7079   {
   7080     SI opval = tmp_newval;
   7081     SET_H_GR (FLD (f_operand2), opval);
   7082     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7083   }
   7084 {
   7085   {
   7086     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7087     CPU (h_cbit) = opval;
   7088     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7089   }
   7090   {
   7091     BI opval = LTSI (tmp_newval, 0);
   7092     CPU (h_nbit) = opval;
   7093     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7094   }
   7095   {
   7096     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7097     CPU (h_zbit) = opval;
   7098     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7099   }
   7100   {
   7101     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7102     CPU (h_vbit) = opval;
   7103     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7104   }
   7105 {
   7106   {
   7107     BI opval = 0;
   7108     CPU (h_xbit) = opval;
   7109     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7110   }
   7111   {
   7112     BI opval = 0;
   7113     SET_H_INSN_PREFIXED_P (opval);
   7114     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7115   }
   7116 }
   7117 }
   7118 }
   7119 
   7120 #undef FLD
   7121 }
   7122   NEXT (vpc);
   7123 
   7124   CASE (sem, INSN_SUB_M_B_M) : /* sub-m.b [${Rs}${inc}],${Rd} */
   7125 {
   7126   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7127   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7128 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7129   int UNUSED written = 0;
   7130   IADDR UNUSED pc = abuf->addr;
   7131   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7132 
   7133 {
   7134   QI tmp_tmpopd;
   7135   QI tmp_tmpops;
   7136   BI tmp_carry;
   7137   QI tmp_newval;
   7138   tmp_tmpops = ({   SI tmp_addr;
   7139   QI tmp_tmp_mem;
   7140   BI tmp_postinc;
   7141   tmp_postinc = FLD (f_memmode);
   7142 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7143 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   7144 ; if (NEBI (tmp_postinc, 0)) {
   7145 {
   7146 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7147   tmp_addr = ADDSI (tmp_addr, 1);
   7148 }
   7149   {
   7150     SI opval = tmp_addr;
   7151     SET_H_GR (FLD (f_operand1), opval);
   7152     written |= (1 << 12);
   7153     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7154   }
   7155 }
   7156 }
   7157 ; tmp_tmp_mem; });
   7158   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7159   tmp_carry = CPU (h_cbit);
   7160   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7161 {
   7162   SI tmp_oldregval;
   7163   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   7164   {
   7165     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   7166     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7167     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7168   }
   7169 }
   7170 {
   7171   {
   7172     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   7173     CPU (h_cbit) = opval;
   7174     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7175   }
   7176   {
   7177     BI opval = LTQI (tmp_newval, 0);
   7178     CPU (h_nbit) = opval;
   7179     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7180   }
   7181   {
   7182     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7183     CPU (h_zbit) = opval;
   7184     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7185   }
   7186   {
   7187     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   7188     CPU (h_vbit) = opval;
   7189     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7190   }
   7191 {
   7192   {
   7193     BI opval = 0;
   7194     CPU (h_xbit) = opval;
   7195     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7196   }
   7197   {
   7198     BI opval = 0;
   7199     SET_H_INSN_PREFIXED_P (opval);
   7200     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7201   }
   7202 }
   7203 }
   7204 }
   7205 
   7206   abuf->written = written;
   7207 #undef FLD
   7208 }
   7209   NEXT (vpc);
   7210 
   7211   CASE (sem, INSN_SUB_M_W_M) : /* sub-m.w [${Rs}${inc}],${Rd} */
   7212 {
   7213   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7214   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7215 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7216   int UNUSED written = 0;
   7217   IADDR UNUSED pc = abuf->addr;
   7218   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7219 
   7220 {
   7221   HI tmp_tmpopd;
   7222   HI tmp_tmpops;
   7223   BI tmp_carry;
   7224   HI tmp_newval;
   7225   tmp_tmpops = ({   SI tmp_addr;
   7226   HI tmp_tmp_mem;
   7227   BI tmp_postinc;
   7228   tmp_postinc = FLD (f_memmode);
   7229 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7230 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   7231 ; if (NEBI (tmp_postinc, 0)) {
   7232 {
   7233 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7234   tmp_addr = ADDSI (tmp_addr, 2);
   7235 }
   7236   {
   7237     SI opval = tmp_addr;
   7238     SET_H_GR (FLD (f_operand1), opval);
   7239     written |= (1 << 12);
   7240     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7241   }
   7242 }
   7243 }
   7244 ; tmp_tmp_mem; });
   7245   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7246   tmp_carry = CPU (h_cbit);
   7247   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7248 {
   7249   SI tmp_oldregval;
   7250   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   7251   {
   7252     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   7253     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7254     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7255   }
   7256 }
   7257 {
   7258   {
   7259     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   7260     CPU (h_cbit) = opval;
   7261     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7262   }
   7263   {
   7264     BI opval = LTHI (tmp_newval, 0);
   7265     CPU (h_nbit) = opval;
   7266     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7267   }
   7268   {
   7269     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7270     CPU (h_zbit) = opval;
   7271     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7272   }
   7273   {
   7274     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   7275     CPU (h_vbit) = opval;
   7276     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7277   }
   7278 {
   7279   {
   7280     BI opval = 0;
   7281     CPU (h_xbit) = opval;
   7282     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7283   }
   7284   {
   7285     BI opval = 0;
   7286     SET_H_INSN_PREFIXED_P (opval);
   7287     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7288   }
   7289 }
   7290 }
   7291 }
   7292 
   7293   abuf->written = written;
   7294 #undef FLD
   7295 }
   7296   NEXT (vpc);
   7297 
   7298   CASE (sem, INSN_SUB_M_D_M) : /* sub-m.d [${Rs}${inc}],${Rd} */
   7299 {
   7300   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7301   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7302 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7303   int UNUSED written = 0;
   7304   IADDR UNUSED pc = abuf->addr;
   7305   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7306 
   7307 {
   7308   SI tmp_tmpopd;
   7309   SI tmp_tmpops;
   7310   BI tmp_carry;
   7311   SI tmp_newval;
   7312   tmp_tmpops = ({   SI tmp_addr;
   7313   SI tmp_tmp_mem;
   7314   BI tmp_postinc;
   7315   tmp_postinc = FLD (f_memmode);
   7316 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7317 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   7318 ; if (NEBI (tmp_postinc, 0)) {
   7319 {
   7320 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7321   tmp_addr = ADDSI (tmp_addr, 4);
   7322 }
   7323   {
   7324     SI opval = tmp_addr;
   7325     SET_H_GR (FLD (f_operand1), opval);
   7326     written |= (1 << 11);
   7327     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7328   }
   7329 }
   7330 }
   7331 ; tmp_tmp_mem; });
   7332   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7333   tmp_carry = CPU (h_cbit);
   7334   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7335   {
   7336     SI opval = tmp_newval;
   7337     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7338     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7339   }
   7340 {
   7341   {
   7342     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7343     CPU (h_cbit) = opval;
   7344     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7345   }
   7346   {
   7347     BI opval = LTSI (tmp_newval, 0);
   7348     CPU (h_nbit) = opval;
   7349     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7350   }
   7351   {
   7352     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7353     CPU (h_zbit) = opval;
   7354     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7355   }
   7356   {
   7357     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7358     CPU (h_vbit) = opval;
   7359     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7360   }
   7361 {
   7362   {
   7363     BI opval = 0;
   7364     CPU (h_xbit) = opval;
   7365     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7366   }
   7367   {
   7368     BI opval = 0;
   7369     SET_H_INSN_PREFIXED_P (opval);
   7370     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7371   }
   7372 }
   7373 }
   7374 }
   7375 
   7376   abuf->written = written;
   7377 #undef FLD
   7378 }
   7379   NEXT (vpc);
   7380 
   7381   CASE (sem, INSN_SUBCBR) : /* sub.b ${sconst8}],${Rd} */
   7382 {
   7383   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7384   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7385 #define FLD(f) abuf->fields.sfmt_addcbr.f
   7386   int UNUSED written = 0;
   7387   IADDR UNUSED pc = abuf->addr;
   7388   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7389 
   7390 {
   7391   QI tmp_tmpopd;
   7392   QI tmp_tmpops;
   7393   BI tmp_carry;
   7394   QI tmp_newval;
   7395   tmp_tmpops = FLD (f_indir_pc__byte);
   7396   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7397   tmp_carry = CPU (h_cbit);
   7398   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7399 {
   7400   SI tmp_oldregval;
   7401   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   7402   {
   7403     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   7404     SET_H_GR (FLD (f_operand2), opval);
   7405     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7406   }
   7407 }
   7408 {
   7409   {
   7410     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   7411     CPU (h_cbit) = opval;
   7412     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7413   }
   7414   {
   7415     BI opval = LTQI (tmp_newval, 0);
   7416     CPU (h_nbit) = opval;
   7417     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7418   }
   7419   {
   7420     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7421     CPU (h_zbit) = opval;
   7422     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7423   }
   7424   {
   7425     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   7426     CPU (h_vbit) = opval;
   7427     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7428   }
   7429 {
   7430   {
   7431     BI opval = 0;
   7432     CPU (h_xbit) = opval;
   7433     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7434   }
   7435   {
   7436     BI opval = 0;
   7437     SET_H_INSN_PREFIXED_P (opval);
   7438     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7439   }
   7440 }
   7441 }
   7442 }
   7443 
   7444 #undef FLD
   7445 }
   7446   NEXT (vpc);
   7447 
   7448   CASE (sem, INSN_SUBCWR) : /* sub.w ${sconst16}],${Rd} */
   7449 {
   7450   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7451   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7452 #define FLD(f) abuf->fields.sfmt_addcwr.f
   7453   int UNUSED written = 0;
   7454   IADDR UNUSED pc = abuf->addr;
   7455   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7456 
   7457 {
   7458   HI tmp_tmpopd;
   7459   HI tmp_tmpops;
   7460   BI tmp_carry;
   7461   HI tmp_newval;
   7462   tmp_tmpops = FLD (f_indir_pc__word);
   7463   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7464   tmp_carry = CPU (h_cbit);
   7465   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7466 {
   7467   SI tmp_oldregval;
   7468   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   7469   {
   7470     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   7471     SET_H_GR (FLD (f_operand2), opval);
   7472     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7473   }
   7474 }
   7475 {
   7476   {
   7477     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   7478     CPU (h_cbit) = opval;
   7479     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7480   }
   7481   {
   7482     BI opval = LTHI (tmp_newval, 0);
   7483     CPU (h_nbit) = opval;
   7484     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7485   }
   7486   {
   7487     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7488     CPU (h_zbit) = opval;
   7489     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7490   }
   7491   {
   7492     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   7493     CPU (h_vbit) = opval;
   7494     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7495   }
   7496 {
   7497   {
   7498     BI opval = 0;
   7499     CPU (h_xbit) = opval;
   7500     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7501   }
   7502   {
   7503     BI opval = 0;
   7504     SET_H_INSN_PREFIXED_P (opval);
   7505     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7506   }
   7507 }
   7508 }
   7509 }
   7510 
   7511 #undef FLD
   7512 }
   7513   NEXT (vpc);
   7514 
   7515   CASE (sem, INSN_SUBCDR) : /* sub.d ${const32}],${Rd} */
   7516 {
   7517   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7518   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7519 #define FLD(f) abuf->fields.sfmt_addcdr.f
   7520   int UNUSED written = 0;
   7521   IADDR UNUSED pc = abuf->addr;
   7522   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   7523 
   7524 {
   7525   SI tmp_tmpopd;
   7526   SI tmp_tmpops;
   7527   BI tmp_carry;
   7528   SI tmp_newval;
   7529   tmp_tmpops = FLD (f_indir_pc__dword);
   7530   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7531   tmp_carry = CPU (h_cbit);
   7532   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7533   {
   7534     SI opval = tmp_newval;
   7535     SET_H_GR (FLD (f_operand2), opval);
   7536     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7537   }
   7538 {
   7539   {
   7540     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7541     CPU (h_cbit) = opval;
   7542     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7543   }
   7544   {
   7545     BI opval = LTSI (tmp_newval, 0);
   7546     CPU (h_nbit) = opval;
   7547     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7548   }
   7549   {
   7550     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7551     CPU (h_zbit) = opval;
   7552     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7553   }
   7554   {
   7555     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7556     CPU (h_vbit) = opval;
   7557     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7558   }
   7559 {
   7560   {
   7561     BI opval = 0;
   7562     CPU (h_xbit) = opval;
   7563     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7564   }
   7565   {
   7566     BI opval = 0;
   7567     SET_H_INSN_PREFIXED_P (opval);
   7568     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7569   }
   7570 }
   7571 }
   7572 }
   7573 
   7574 #undef FLD
   7575 }
   7576   NEXT (vpc);
   7577 
   7578   CASE (sem, INSN_SUBS_B_R) : /* subs.b $Rs,$Rd */
   7579 {
   7580   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7581   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7582 #define FLD(f) abuf->fields.sfmt_addc_m.f
   7583   int UNUSED written = 0;
   7584   IADDR UNUSED pc = abuf->addr;
   7585   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7586 
   7587 {
   7588   SI tmp_tmpopd;
   7589   SI tmp_tmpops;
   7590   BI tmp_carry;
   7591   SI tmp_newval;
   7592   tmp_tmpops = EXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   7593   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7594   tmp_carry = CPU (h_cbit);
   7595   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7596   {
   7597     SI opval = tmp_newval;
   7598     SET_H_GR (FLD (f_operand2), opval);
   7599     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7600   }
   7601 {
   7602   {
   7603     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7604     CPU (h_cbit) = opval;
   7605     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7606   }
   7607   {
   7608     BI opval = LTSI (tmp_newval, 0);
   7609     CPU (h_nbit) = opval;
   7610     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7611   }
   7612   {
   7613     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7614     CPU (h_zbit) = opval;
   7615     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7616   }
   7617   {
   7618     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7619     CPU (h_vbit) = opval;
   7620     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7621   }
   7622 {
   7623   {
   7624     BI opval = 0;
   7625     CPU (h_xbit) = opval;
   7626     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7627   }
   7628   {
   7629     BI opval = 0;
   7630     SET_H_INSN_PREFIXED_P (opval);
   7631     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7632   }
   7633 }
   7634 }
   7635 }
   7636 
   7637 #undef FLD
   7638 }
   7639   NEXT (vpc);
   7640 
   7641   CASE (sem, INSN_SUBS_W_R) : /* subs.w $Rs,$Rd */
   7642 {
   7643   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7644   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7645 #define FLD(f) abuf->fields.sfmt_addc_m.f
   7646   int UNUSED written = 0;
   7647   IADDR UNUSED pc = abuf->addr;
   7648   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7649 
   7650 {
   7651   SI tmp_tmpopd;
   7652   SI tmp_tmpops;
   7653   BI tmp_carry;
   7654   SI tmp_newval;
   7655   tmp_tmpops = EXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   7656   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7657   tmp_carry = CPU (h_cbit);
   7658   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7659   {
   7660     SI opval = tmp_newval;
   7661     SET_H_GR (FLD (f_operand2), opval);
   7662     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7663   }
   7664 {
   7665   {
   7666     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7667     CPU (h_cbit) = opval;
   7668     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7669   }
   7670   {
   7671     BI opval = LTSI (tmp_newval, 0);
   7672     CPU (h_nbit) = opval;
   7673     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7674   }
   7675   {
   7676     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7677     CPU (h_zbit) = opval;
   7678     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7679   }
   7680   {
   7681     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7682     CPU (h_vbit) = opval;
   7683     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7684   }
   7685 {
   7686   {
   7687     BI opval = 0;
   7688     CPU (h_xbit) = opval;
   7689     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7690   }
   7691   {
   7692     BI opval = 0;
   7693     SET_H_INSN_PREFIXED_P (opval);
   7694     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7695   }
   7696 }
   7697 }
   7698 }
   7699 
   7700 #undef FLD
   7701 }
   7702   NEXT (vpc);
   7703 
   7704   CASE (sem, INSN_SUBS_M_B_M) : /* subs-m.b [${Rs}${inc}],$Rd */
   7705 {
   7706   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7707   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7708 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7709   int UNUSED written = 0;
   7710   IADDR UNUSED pc = abuf->addr;
   7711   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7712 
   7713 {
   7714   SI tmp_tmpopd;
   7715   SI tmp_tmpops;
   7716   BI tmp_carry;
   7717   SI tmp_newval;
   7718   tmp_tmpops = EXTQISI (({   SI tmp_addr;
   7719   QI tmp_tmp_mem;
   7720   BI tmp_postinc;
   7721   tmp_postinc = FLD (f_memmode);
   7722 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7723 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   7724 ; if (NEBI (tmp_postinc, 0)) {
   7725 {
   7726 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7727   tmp_addr = ADDSI (tmp_addr, 1);
   7728 }
   7729   {
   7730     SI opval = tmp_addr;
   7731     SET_H_GR (FLD (f_operand1), opval);
   7732     written |= (1 << 11);
   7733     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7734   }
   7735 }
   7736 }
   7737 ; tmp_tmp_mem; }));
   7738   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7739   tmp_carry = CPU (h_cbit);
   7740   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7741   {
   7742     SI opval = tmp_newval;
   7743     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7744     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7745   }
   7746 {
   7747   {
   7748     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7749     CPU (h_cbit) = opval;
   7750     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7751   }
   7752   {
   7753     BI opval = LTSI (tmp_newval, 0);
   7754     CPU (h_nbit) = opval;
   7755     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7756   }
   7757   {
   7758     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7759     CPU (h_zbit) = opval;
   7760     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7761   }
   7762   {
   7763     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7764     CPU (h_vbit) = opval;
   7765     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7766   }
   7767 {
   7768   {
   7769     BI opval = 0;
   7770     CPU (h_xbit) = opval;
   7771     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7772   }
   7773   {
   7774     BI opval = 0;
   7775     SET_H_INSN_PREFIXED_P (opval);
   7776     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7777   }
   7778 }
   7779 }
   7780 }
   7781 
   7782   abuf->written = written;
   7783 #undef FLD
   7784 }
   7785   NEXT (vpc);
   7786 
   7787   CASE (sem, INSN_SUBS_M_W_M) : /* subs-m.w [${Rs}${inc}],$Rd */
   7788 {
   7789   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7790   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7791 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7792   int UNUSED written = 0;
   7793   IADDR UNUSED pc = abuf->addr;
   7794   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7795 
   7796 {
   7797   SI tmp_tmpopd;
   7798   SI tmp_tmpops;
   7799   BI tmp_carry;
   7800   SI tmp_newval;
   7801   tmp_tmpops = EXTHISI (({   SI tmp_addr;
   7802   HI tmp_tmp_mem;
   7803   BI tmp_postinc;
   7804   tmp_postinc = FLD (f_memmode);
   7805 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7806 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   7807 ; if (NEBI (tmp_postinc, 0)) {
   7808 {
   7809 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7810   tmp_addr = ADDSI (tmp_addr, 2);
   7811 }
   7812   {
   7813     SI opval = tmp_addr;
   7814     SET_H_GR (FLD (f_operand1), opval);
   7815     written |= (1 << 11);
   7816     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7817   }
   7818 }
   7819 }
   7820 ; tmp_tmp_mem; }));
   7821   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7822   tmp_carry = CPU (h_cbit);
   7823   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7824   {
   7825     SI opval = tmp_newval;
   7826     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7827     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7828   }
   7829 {
   7830   {
   7831     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7832     CPU (h_cbit) = opval;
   7833     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7834   }
   7835   {
   7836     BI opval = LTSI (tmp_newval, 0);
   7837     CPU (h_nbit) = opval;
   7838     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7839   }
   7840   {
   7841     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7842     CPU (h_zbit) = opval;
   7843     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7844   }
   7845   {
   7846     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7847     CPU (h_vbit) = opval;
   7848     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7849   }
   7850 {
   7851   {
   7852     BI opval = 0;
   7853     CPU (h_xbit) = opval;
   7854     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7855   }
   7856   {
   7857     BI opval = 0;
   7858     SET_H_INSN_PREFIXED_P (opval);
   7859     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7860   }
   7861 }
   7862 }
   7863 }
   7864 
   7865   abuf->written = written;
   7866 #undef FLD
   7867 }
   7868   NEXT (vpc);
   7869 
   7870   CASE (sem, INSN_SUBSCBR) : /* [${Rs}${inc}],$Rd */
   7871 {
   7872   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7873   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7874 #define FLD(f) abuf->fields.sfmt_addcbr.f
   7875   int UNUSED written = 0;
   7876   IADDR UNUSED pc = abuf->addr;
   7877   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7878 
   7879 {
   7880   SI tmp_tmpopd;
   7881   SI tmp_tmpops;
   7882   BI tmp_carry;
   7883   SI tmp_newval;
   7884   tmp_tmpops = EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   7885   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7886   tmp_carry = CPU (h_cbit);
   7887   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7888   {
   7889     SI opval = tmp_newval;
   7890     SET_H_GR (FLD (f_operand2), opval);
   7891     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7892   }
   7893 {
   7894   {
   7895     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7896     CPU (h_cbit) = opval;
   7897     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7898   }
   7899   {
   7900     BI opval = LTSI (tmp_newval, 0);
   7901     CPU (h_nbit) = opval;
   7902     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7903   }
   7904   {
   7905     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7906     CPU (h_zbit) = opval;
   7907     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7908   }
   7909   {
   7910     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7911     CPU (h_vbit) = opval;
   7912     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7913   }
   7914 {
   7915   {
   7916     BI opval = 0;
   7917     CPU (h_xbit) = opval;
   7918     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7919   }
   7920   {
   7921     BI opval = 0;
   7922     SET_H_INSN_PREFIXED_P (opval);
   7923     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7924   }
   7925 }
   7926 }
   7927 }
   7928 
   7929 #undef FLD
   7930 }
   7931   NEXT (vpc);
   7932 
   7933   CASE (sem, INSN_SUBSCWR) : /* [${Rs}${inc}],$Rd */
   7934 {
   7935   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7936   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7937 #define FLD(f) abuf->fields.sfmt_addcwr.f
   7938   int UNUSED written = 0;
   7939   IADDR UNUSED pc = abuf->addr;
   7940   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7941 
   7942 {
   7943   SI tmp_tmpopd;
   7944   SI tmp_tmpops;
   7945   BI tmp_carry;
   7946   SI tmp_newval;
   7947   tmp_tmpops = EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   7948   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7949   tmp_carry = CPU (h_cbit);
   7950   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7951   {
   7952     SI opval = tmp_newval;
   7953     SET_H_GR (FLD (f_operand2), opval);
   7954     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7955   }
   7956 {
   7957   {
   7958     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   7959     CPU (h_cbit) = opval;
   7960     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7961   }
   7962   {
   7963     BI opval = LTSI (tmp_newval, 0);
   7964     CPU (h_nbit) = opval;
   7965     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7966   }
   7967   {
   7968     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7969     CPU (h_zbit) = opval;
   7970     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7971   }
   7972   {
   7973     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   7974     CPU (h_vbit) = opval;
   7975     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7976   }
   7977 {
   7978   {
   7979     BI opval = 0;
   7980     CPU (h_xbit) = opval;
   7981     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7982   }
   7983   {
   7984     BI opval = 0;
   7985     SET_H_INSN_PREFIXED_P (opval);
   7986     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7987   }
   7988 }
   7989 }
   7990 }
   7991 
   7992 #undef FLD
   7993 }
   7994   NEXT (vpc);
   7995 
   7996   CASE (sem, INSN_SUBU_B_R) : /* subu.b $Rs,$Rd */
   7997 {
   7998   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7999   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8000 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8001   int UNUSED written = 0;
   8002   IADDR UNUSED pc = abuf->addr;
   8003   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8004 
   8005 {
   8006   SI tmp_tmpopd;
   8007   SI tmp_tmpops;
   8008   BI tmp_carry;
   8009   SI tmp_newval;
   8010   tmp_tmpops = ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   8011   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8012   tmp_carry = CPU (h_cbit);
   8013   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8014   {
   8015     SI opval = tmp_newval;
   8016     SET_H_GR (FLD (f_operand2), opval);
   8017     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8018   }
   8019 {
   8020   {
   8021     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8022     CPU (h_cbit) = opval;
   8023     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8024   }
   8025   {
   8026     BI opval = LTSI (tmp_newval, 0);
   8027     CPU (h_nbit) = opval;
   8028     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8029   }
   8030   {
   8031     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8032     CPU (h_zbit) = opval;
   8033     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8034   }
   8035   {
   8036     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8037     CPU (h_vbit) = opval;
   8038     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8039   }
   8040 {
   8041   {
   8042     BI opval = 0;
   8043     CPU (h_xbit) = opval;
   8044     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8045   }
   8046   {
   8047     BI opval = 0;
   8048     SET_H_INSN_PREFIXED_P (opval);
   8049     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8050   }
   8051 }
   8052 }
   8053 }
   8054 
   8055 #undef FLD
   8056 }
   8057   NEXT (vpc);
   8058 
   8059   CASE (sem, INSN_SUBU_W_R) : /* subu.w $Rs,$Rd */
   8060 {
   8061   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8062   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8063 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8064   int UNUSED written = 0;
   8065   IADDR UNUSED pc = abuf->addr;
   8066   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8067 
   8068 {
   8069   SI tmp_tmpopd;
   8070   SI tmp_tmpops;
   8071   BI tmp_carry;
   8072   SI tmp_newval;
   8073   tmp_tmpops = ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   8074   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8075   tmp_carry = CPU (h_cbit);
   8076   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8077   {
   8078     SI opval = tmp_newval;
   8079     SET_H_GR (FLD (f_operand2), opval);
   8080     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8081   }
   8082 {
   8083   {
   8084     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8085     CPU (h_cbit) = opval;
   8086     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8087   }
   8088   {
   8089     BI opval = LTSI (tmp_newval, 0);
   8090     CPU (h_nbit) = opval;
   8091     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8092   }
   8093   {
   8094     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8095     CPU (h_zbit) = opval;
   8096     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8097   }
   8098   {
   8099     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8100     CPU (h_vbit) = opval;
   8101     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8102   }
   8103 {
   8104   {
   8105     BI opval = 0;
   8106     CPU (h_xbit) = opval;
   8107     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8108   }
   8109   {
   8110     BI opval = 0;
   8111     SET_H_INSN_PREFIXED_P (opval);
   8112     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8113   }
   8114 }
   8115 }
   8116 }
   8117 
   8118 #undef FLD
   8119 }
   8120   NEXT (vpc);
   8121 
   8122   CASE (sem, INSN_SUBU_M_B_M) : /* subu-m.b [${Rs}${inc}],$Rd */
   8123 {
   8124   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8125   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8126 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   8127   int UNUSED written = 0;
   8128   IADDR UNUSED pc = abuf->addr;
   8129   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8130 
   8131 {
   8132   SI tmp_tmpopd;
   8133   SI tmp_tmpops;
   8134   BI tmp_carry;
   8135   SI tmp_newval;
   8136   tmp_tmpops = ZEXTQISI (({   SI tmp_addr;
   8137   QI tmp_tmp_mem;
   8138   BI tmp_postinc;
   8139   tmp_postinc = FLD (f_memmode);
   8140 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   8141 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   8142 ; if (NEBI (tmp_postinc, 0)) {
   8143 {
   8144 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   8145   tmp_addr = ADDSI (tmp_addr, 1);
   8146 }
   8147   {
   8148     SI opval = tmp_addr;
   8149     SET_H_GR (FLD (f_operand1), opval);
   8150     written |= (1 << 11);
   8151     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8152   }
   8153 }
   8154 }
   8155 ; tmp_tmp_mem; }));
   8156   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8157   tmp_carry = CPU (h_cbit);
   8158   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8159   {
   8160     SI opval = tmp_newval;
   8161     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   8162     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8163   }
   8164 {
   8165   {
   8166     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8167     CPU (h_cbit) = opval;
   8168     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8169   }
   8170   {
   8171     BI opval = LTSI (tmp_newval, 0);
   8172     CPU (h_nbit) = opval;
   8173     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8174   }
   8175   {
   8176     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8177     CPU (h_zbit) = opval;
   8178     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8179   }
   8180   {
   8181     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8182     CPU (h_vbit) = opval;
   8183     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8184   }
   8185 {
   8186   {
   8187     BI opval = 0;
   8188     CPU (h_xbit) = opval;
   8189     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8190   }
   8191   {
   8192     BI opval = 0;
   8193     SET_H_INSN_PREFIXED_P (opval);
   8194     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8195   }
   8196 }
   8197 }
   8198 }
   8199 
   8200   abuf->written = written;
   8201 #undef FLD
   8202 }
   8203   NEXT (vpc);
   8204 
   8205   CASE (sem, INSN_SUBU_M_W_M) : /* subu-m.w [${Rs}${inc}],$Rd */
   8206 {
   8207   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8208   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8209 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   8210   int UNUSED written = 0;
   8211   IADDR UNUSED pc = abuf->addr;
   8212   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8213 
   8214 {
   8215   SI tmp_tmpopd;
   8216   SI tmp_tmpops;
   8217   BI tmp_carry;
   8218   SI tmp_newval;
   8219   tmp_tmpops = ZEXTHISI (({   SI tmp_addr;
   8220   HI tmp_tmp_mem;
   8221   BI tmp_postinc;
   8222   tmp_postinc = FLD (f_memmode);
   8223 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   8224 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   8225 ; if (NEBI (tmp_postinc, 0)) {
   8226 {
   8227 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   8228   tmp_addr = ADDSI (tmp_addr, 2);
   8229 }
   8230   {
   8231     SI opval = tmp_addr;
   8232     SET_H_GR (FLD (f_operand1), opval);
   8233     written |= (1 << 11);
   8234     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8235   }
   8236 }
   8237 }
   8238 ; tmp_tmp_mem; }));
   8239   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8240   tmp_carry = CPU (h_cbit);
   8241   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8242   {
   8243     SI opval = tmp_newval;
   8244     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   8245     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8246   }
   8247 {
   8248   {
   8249     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8250     CPU (h_cbit) = opval;
   8251     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8252   }
   8253   {
   8254     BI opval = LTSI (tmp_newval, 0);
   8255     CPU (h_nbit) = opval;
   8256     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8257   }
   8258   {
   8259     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8260     CPU (h_zbit) = opval;
   8261     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8262   }
   8263   {
   8264     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8265     CPU (h_vbit) = opval;
   8266     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8267   }
   8268 {
   8269   {
   8270     BI opval = 0;
   8271     CPU (h_xbit) = opval;
   8272     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8273   }
   8274   {
   8275     BI opval = 0;
   8276     SET_H_INSN_PREFIXED_P (opval);
   8277     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8278   }
   8279 }
   8280 }
   8281 }
   8282 
   8283   abuf->written = written;
   8284 #undef FLD
   8285 }
   8286   NEXT (vpc);
   8287 
   8288   CASE (sem, INSN_SUBUCBR) : /* [${Rs}${inc}],$Rd */
   8289 {
   8290   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8291   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8292 #define FLD(f) abuf->fields.sfmt_addcbr.f
   8293   int UNUSED written = 0;
   8294   IADDR UNUSED pc = abuf->addr;
   8295   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   8296 
   8297 {
   8298   SI tmp_tmpopd;
   8299   SI tmp_tmpops;
   8300   BI tmp_carry;
   8301   SI tmp_newval;
   8302   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   8303   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8304   tmp_carry = CPU (h_cbit);
   8305   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8306   {
   8307     SI opval = tmp_newval;
   8308     SET_H_GR (FLD (f_operand2), opval);
   8309     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8310   }
   8311 {
   8312   {
   8313     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8314     CPU (h_cbit) = opval;
   8315     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8316   }
   8317   {
   8318     BI opval = LTSI (tmp_newval, 0);
   8319     CPU (h_nbit) = opval;
   8320     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8321   }
   8322   {
   8323     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8324     CPU (h_zbit) = opval;
   8325     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8326   }
   8327   {
   8328     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8329     CPU (h_vbit) = opval;
   8330     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8331   }
   8332 {
   8333   {
   8334     BI opval = 0;
   8335     CPU (h_xbit) = opval;
   8336     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8337   }
   8338   {
   8339     BI opval = 0;
   8340     SET_H_INSN_PREFIXED_P (opval);
   8341     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8342   }
   8343 }
   8344 }
   8345 }
   8346 
   8347 #undef FLD
   8348 }
   8349   NEXT (vpc);
   8350 
   8351   CASE (sem, INSN_SUBUCWR) : /* [${Rs}${inc}],$Rd */
   8352 {
   8353   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8354   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8355 #define FLD(f) abuf->fields.sfmt_addcwr.f
   8356   int UNUSED written = 0;
   8357   IADDR UNUSED pc = abuf->addr;
   8358   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   8359 
   8360 {
   8361   SI tmp_tmpopd;
   8362   SI tmp_tmpops;
   8363   BI tmp_carry;
   8364   SI tmp_newval;
   8365   tmp_tmpops = ZEXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   8366   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8367   tmp_carry = CPU (h_cbit);
   8368   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8369   {
   8370     SI opval = tmp_newval;
   8371     SET_H_GR (FLD (f_operand2), opval);
   8372     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8373   }
   8374 {
   8375   {
   8376     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8377     CPU (h_cbit) = opval;
   8378     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8379   }
   8380   {
   8381     BI opval = LTSI (tmp_newval, 0);
   8382     CPU (h_nbit) = opval;
   8383     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8384   }
   8385   {
   8386     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8387     CPU (h_zbit) = opval;
   8388     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8389   }
   8390   {
   8391     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8392     CPU (h_vbit) = opval;
   8393     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8394   }
   8395 {
   8396   {
   8397     BI opval = 0;
   8398     CPU (h_xbit) = opval;
   8399     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8400   }
   8401   {
   8402     BI opval = 0;
   8403     SET_H_INSN_PREFIXED_P (opval);
   8404     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8405   }
   8406 }
   8407 }
   8408 }
   8409 
   8410 #undef FLD
   8411 }
   8412   NEXT (vpc);
   8413 
   8414   CASE (sem, INSN_ADDC_R) : /* addc $Rs,$Rd */
   8415 {
   8416   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8417   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8418 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8419   int UNUSED written = 0;
   8420   IADDR UNUSED pc = abuf->addr;
   8421   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8422 
   8423 {
   8424 CPU (h_xbit) = 1;
   8425 {
   8426   SI tmp_tmpopd;
   8427   SI tmp_tmpops;
   8428   BI tmp_carry;
   8429   SI tmp_newval;
   8430   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8431   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8432   tmp_carry = CPU (h_cbit);
   8433   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8434   {
   8435     SI opval = tmp_newval;
   8436     SET_H_GR (FLD (f_operand2), opval);
   8437     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8438   }
   8439 {
   8440   {
   8441     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   8442     CPU (h_cbit) = opval;
   8443     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8444   }
   8445   {
   8446     BI opval = LTSI (tmp_newval, 0);
   8447     CPU (h_nbit) = opval;
   8448     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8449   }
   8450   {
   8451     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8452     CPU (h_zbit) = opval;
   8453     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8454   }
   8455   {
   8456     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8457     CPU (h_vbit) = opval;
   8458     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8459   }
   8460 {
   8461   {
   8462     BI opval = 0;
   8463     CPU (h_xbit) = opval;
   8464     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8465   }
   8466   {
   8467     BI opval = 0;
   8468     SET_H_INSN_PREFIXED_P (opval);
   8469     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8470   }
   8471 }
   8472 }
   8473 }
   8474 }
   8475 
   8476 #undef FLD
   8477 }
   8478   NEXT (vpc);
   8479 
   8480   CASE (sem, INSN_ADDC_M) : /* addc [${Rs}${inc}],${Rd} */
   8481 {
   8482   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8483   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8484 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8485   int UNUSED written = 0;
   8486   IADDR UNUSED pc = abuf->addr;
   8487   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8488 
   8489 {
   8490 CPU (h_xbit) = 1;
   8491 {
   8492   SI tmp_tmpopd;
   8493   SI tmp_tmpops;
   8494   BI tmp_carry;
   8495   SI tmp_newval;
   8496   tmp_tmpops = ({   SI tmp_addr;
   8497   SI tmp_tmp_mem;
   8498   BI tmp_postinc;
   8499   tmp_postinc = FLD (f_memmode);
   8500 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   8501 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   8502 ; if (NEBI (tmp_postinc, 0)) {
   8503 {
   8504 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   8505   tmp_addr = ADDSI (tmp_addr, 4);
   8506 }
   8507   {
   8508     SI opval = tmp_addr;
   8509     SET_H_GR (FLD (f_operand1), opval);
   8510     written |= (1 << 10);
   8511     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8512   }
   8513 }
   8514 }
   8515 ; tmp_tmp_mem; });
   8516   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8517   tmp_carry = CPU (h_cbit);
   8518   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8519   {
   8520     SI opval = tmp_newval;
   8521     SET_H_GR (FLD (f_operand2), opval);
   8522     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8523   }
   8524 {
   8525   {
   8526     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   8527     CPU (h_cbit) = opval;
   8528     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8529   }
   8530   {
   8531     BI opval = LTSI (tmp_newval, 0);
   8532     CPU (h_nbit) = opval;
   8533     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8534   }
   8535   {
   8536     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8537     CPU (h_zbit) = opval;
   8538     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8539   }
   8540   {
   8541     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8542     CPU (h_vbit) = opval;
   8543     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8544   }
   8545 {
   8546   {
   8547     BI opval = 0;
   8548     CPU (h_xbit) = opval;
   8549     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8550   }
   8551   {
   8552     BI opval = 0;
   8553     SET_H_INSN_PREFIXED_P (opval);
   8554     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8555   }
   8556 }
   8557 }
   8558 }
   8559 }
   8560 
   8561   abuf->written = written;
   8562 #undef FLD
   8563 }
   8564   NEXT (vpc);
   8565 
   8566   CASE (sem, INSN_ADDC_C) : /* addc ${const32},${Rd} */
   8567 {
   8568   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8569   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8570 #define FLD(f) abuf->fields.sfmt_addcdr.f
   8571   int UNUSED written = 0;
   8572   IADDR UNUSED pc = abuf->addr;
   8573   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   8574 
   8575 {
   8576 CPU (h_xbit) = 1;
   8577 {
   8578   SI tmp_tmpopd;
   8579   SI tmp_tmpops;
   8580   BI tmp_carry;
   8581   SI tmp_newval;
   8582   tmp_tmpops = FLD (f_indir_pc__dword);
   8583   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8584   tmp_carry = CPU (h_cbit);
   8585   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8586   {
   8587     SI opval = tmp_newval;
   8588     SET_H_GR (FLD (f_operand2), opval);
   8589     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8590   }
   8591 {
   8592   {
   8593     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   8594     CPU (h_cbit) = opval;
   8595     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8596   }
   8597   {
   8598     BI opval = LTSI (tmp_newval, 0);
   8599     CPU (h_nbit) = opval;
   8600     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8601   }
   8602   {
   8603     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8604     CPU (h_zbit) = opval;
   8605     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8606   }
   8607   {
   8608     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8609     CPU (h_vbit) = opval;
   8610     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8611   }
   8612 {
   8613   {
   8614     BI opval = 0;
   8615     CPU (h_xbit) = opval;
   8616     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8617   }
   8618   {
   8619     BI opval = 0;
   8620     SET_H_INSN_PREFIXED_P (opval);
   8621     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8622   }
   8623 }
   8624 }
   8625 }
   8626 }
   8627 
   8628 #undef FLD
   8629 }
   8630   NEXT (vpc);
   8631 
   8632   CASE (sem, INSN_LAPC_D) : /* lapc.d ${const32-pcrel},${Rd} */
   8633 {
   8634   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8635   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8636 #define FLD(f) abuf->fields.sfmt_lapc_d.f
   8637   int UNUSED written = 0;
   8638   IADDR UNUSED pc = abuf->addr;
   8639   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   8640 
   8641 {
   8642   {
   8643     SI opval = FLD (i_const32_pcrel);
   8644     SET_H_GR (FLD (f_operand2), opval);
   8645     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8646   }
   8647 {
   8648   {
   8649     BI opval = 0;
   8650     CPU (h_xbit) = opval;
   8651     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8652   }
   8653   {
   8654     BI opval = 0;
   8655     SET_H_INSN_PREFIXED_P (opval);
   8656     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8657   }
   8658 }
   8659 }
   8660 
   8661 #undef FLD
   8662 }
   8663   NEXT (vpc);
   8664 
   8665   CASE (sem, INSN_LAPCQ) : /* lapcq ${qo},${Rd} */
   8666 {
   8667   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8668   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8669 #define FLD(f) abuf->fields.sfmt_lapcq.f
   8670   int UNUSED written = 0;
   8671   IADDR UNUSED pc = abuf->addr;
   8672   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8673 
   8674 {
   8675   {
   8676     SI opval = FLD (i_qo);
   8677     SET_H_GR (FLD (f_operand2), opval);
   8678     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8679   }
   8680 {
   8681   {
   8682     BI opval = 0;
   8683     CPU (h_xbit) = opval;
   8684     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8685   }
   8686   {
   8687     BI opval = 0;
   8688     SET_H_INSN_PREFIXED_P (opval);
   8689     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8690   }
   8691 }
   8692 }
   8693 
   8694 #undef FLD
   8695 }
   8696   NEXT (vpc);
   8697 
   8698   CASE (sem, INSN_ADDI_B_R) : /* addi.b ${Rs-dfield}.m,${Rd-sfield} */
   8699 {
   8700   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8701   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8702 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8703   int UNUSED written = 0;
   8704   IADDR UNUSED pc = abuf->addr;
   8705   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8706 
   8707 {
   8708   {
   8709     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
   8710     SET_H_GR (FLD (f_operand1), opval);
   8711     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8712   }
   8713 {
   8714   {
   8715     BI opval = 0;
   8716     CPU (h_xbit) = opval;
   8717     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8718   }
   8719   {
   8720     BI opval = 0;
   8721     SET_H_INSN_PREFIXED_P (opval);
   8722     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8723   }
   8724 }
   8725 }
   8726 
   8727 #undef FLD
   8728 }
   8729   NEXT (vpc);
   8730 
   8731   CASE (sem, INSN_ADDI_W_R) : /* addi.w ${Rs-dfield}.m,${Rd-sfield} */
   8732 {
   8733   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8734   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8735 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8736   int UNUSED written = 0;
   8737   IADDR UNUSED pc = abuf->addr;
   8738   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8739 
   8740 {
   8741   {
   8742     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
   8743     SET_H_GR (FLD (f_operand1), opval);
   8744     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8745   }
   8746 {
   8747   {
   8748     BI opval = 0;
   8749     CPU (h_xbit) = opval;
   8750     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8751   }
   8752   {
   8753     BI opval = 0;
   8754     SET_H_INSN_PREFIXED_P (opval);
   8755     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8756   }
   8757 }
   8758 }
   8759 
   8760 #undef FLD
   8761 }
   8762   NEXT (vpc);
   8763 
   8764   CASE (sem, INSN_ADDI_D_R) : /* addi.d ${Rs-dfield}.m,${Rd-sfield} */
   8765 {
   8766   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8767   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8768 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8769   int UNUSED written = 0;
   8770   IADDR UNUSED pc = abuf->addr;
   8771   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8772 
   8773 {
   8774   {
   8775     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
   8776     SET_H_GR (FLD (f_operand1), opval);
   8777     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8778   }
   8779 {
   8780   {
   8781     BI opval = 0;
   8782     CPU (h_xbit) = opval;
   8783     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8784   }
   8785   {
   8786     BI opval = 0;
   8787     SET_H_INSN_PREFIXED_P (opval);
   8788     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8789   }
   8790 }
   8791 }
   8792 
   8793 #undef FLD
   8794 }
   8795   NEXT (vpc);
   8796 
   8797   CASE (sem, INSN_NEG_B_R) : /* neg.b $Rs,$Rd */
   8798 {
   8799   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8800   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8801 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8802   int UNUSED written = 0;
   8803   IADDR UNUSED pc = abuf->addr;
   8804   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8805 
   8806 {
   8807   QI tmp_tmpopd;
   8808   QI tmp_tmpops;
   8809   BI tmp_carry;
   8810   QI tmp_newval;
   8811   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8812   tmp_tmpopd = 0;
   8813   tmp_carry = CPU (h_cbit);
   8814   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8815 {
   8816   SI tmp_oldregval;
   8817   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   8818   {
   8819     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   8820     SET_H_GR (FLD (f_operand2), opval);
   8821     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8822   }
   8823 }
   8824 {
   8825   {
   8826     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   8827     CPU (h_cbit) = opval;
   8828     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8829   }
   8830   {
   8831     BI opval = LTQI (tmp_newval, 0);
   8832     CPU (h_nbit) = opval;
   8833     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8834   }
   8835   {
   8836     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8837     CPU (h_zbit) = opval;
   8838     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8839   }
   8840   {
   8841     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   8842     CPU (h_vbit) = opval;
   8843     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8844   }
   8845 {
   8846   {
   8847     BI opval = 0;
   8848     CPU (h_xbit) = opval;
   8849     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8850   }
   8851   {
   8852     BI opval = 0;
   8853     SET_H_INSN_PREFIXED_P (opval);
   8854     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8855   }
   8856 }
   8857 }
   8858 }
   8859 
   8860 #undef FLD
   8861 }
   8862   NEXT (vpc);
   8863 
   8864   CASE (sem, INSN_NEG_W_R) : /* neg.w $Rs,$Rd */
   8865 {
   8866   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8867   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8868 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8869   int UNUSED written = 0;
   8870   IADDR UNUSED pc = abuf->addr;
   8871   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8872 
   8873 {
   8874   HI tmp_tmpopd;
   8875   HI tmp_tmpops;
   8876   BI tmp_carry;
   8877   HI tmp_newval;
   8878   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8879   tmp_tmpopd = 0;
   8880   tmp_carry = CPU (h_cbit);
   8881   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8882 {
   8883   SI tmp_oldregval;
   8884   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   8885   {
   8886     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   8887     SET_H_GR (FLD (f_operand2), opval);
   8888     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8889   }
   8890 }
   8891 {
   8892   {
   8893     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   8894     CPU (h_cbit) = opval;
   8895     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8896   }
   8897   {
   8898     BI opval = LTHI (tmp_newval, 0);
   8899     CPU (h_nbit) = opval;
   8900     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8901   }
   8902   {
   8903     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8904     CPU (h_zbit) = opval;
   8905     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8906   }
   8907   {
   8908     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   8909     CPU (h_vbit) = opval;
   8910     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8911   }
   8912 {
   8913   {
   8914     BI opval = 0;
   8915     CPU (h_xbit) = opval;
   8916     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8917   }
   8918   {
   8919     BI opval = 0;
   8920     SET_H_INSN_PREFIXED_P (opval);
   8921     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8922   }
   8923 }
   8924 }
   8925 }
   8926 
   8927 #undef FLD
   8928 }
   8929   NEXT (vpc);
   8930 
   8931   CASE (sem, INSN_NEG_D_R) : /* neg.d $Rs,$Rd */
   8932 {
   8933   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8934   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8935 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8936   int UNUSED written = 0;
   8937   IADDR UNUSED pc = abuf->addr;
   8938   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8939 
   8940 {
   8941   SI tmp_tmpopd;
   8942   SI tmp_tmpops;
   8943   BI tmp_carry;
   8944   SI tmp_newval;
   8945   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8946   tmp_tmpopd = 0;
   8947   tmp_carry = CPU (h_cbit);
   8948   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8949   {
   8950     SI opval = tmp_newval;
   8951     SET_H_GR (FLD (f_operand2), opval);
   8952     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8953   }
   8954 {
   8955   {
   8956     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   8957     CPU (h_cbit) = opval;
   8958     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8959   }
   8960   {
   8961     BI opval = LTSI (tmp_newval, 0);
   8962     CPU (h_nbit) = opval;
   8963     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8964   }
   8965   {
   8966     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8967     CPU (h_zbit) = opval;
   8968     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8969   }
   8970   {
   8971     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   8972     CPU (h_vbit) = opval;
   8973     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8974   }
   8975 {
   8976   {
   8977     BI opval = 0;
   8978     CPU (h_xbit) = opval;
   8979     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8980   }
   8981   {
   8982     BI opval = 0;
   8983     SET_H_INSN_PREFIXED_P (opval);
   8984     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8985   }
   8986 }
   8987 }
   8988 }
   8989 
   8990 #undef FLD
   8991 }
   8992   NEXT (vpc);
   8993 
   8994   CASE (sem, INSN_TEST_M_B_M) : /* test-m.b [${Rs}${inc}] */
   8995 {
   8996   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8997   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8998 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   8999   int UNUSED written = 0;
   9000   IADDR UNUSED pc = abuf->addr;
   9001   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9002 
   9003 {
   9004   QI tmp_tmpd;
   9005   tmp_tmpd = ({   SI tmp_addr;
   9006   QI tmp_tmp_mem;
   9007   BI tmp_postinc;
   9008   tmp_postinc = FLD (f_memmode);
   9009 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9010 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   9011 ; if (NEBI (tmp_postinc, 0)) {
   9012 {
   9013 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9014   tmp_addr = ADDSI (tmp_addr, 1);
   9015 }
   9016   {
   9017     SI opval = tmp_addr;
   9018     SET_H_GR (FLD (f_operand1), opval);
   9019     written |= (1 << 8);
   9020     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9021   }
   9022 }
   9023 }
   9024 ; tmp_tmp_mem; });
   9025 {
   9026   QI tmp_tmpopd;
   9027   QI tmp_tmpops;
   9028   BI tmp_carry;
   9029   QI tmp_newval;
   9030   tmp_tmpops = 0;
   9031   tmp_tmpopd = tmp_tmpd;
   9032   tmp_carry = CPU (h_cbit);
   9033   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9034 ((void) 0); /*nop*/
   9035 {
   9036   {
   9037     BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
   9038     CPU (h_cbit) = opval;
   9039     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9040   }
   9041   {
   9042     BI opval = LTQI (tmp_newval, 0);
   9043     CPU (h_nbit) = opval;
   9044     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9045   }
   9046   {
   9047     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9048     CPU (h_zbit) = opval;
   9049     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9050   }
   9051   {
   9052     BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
   9053     CPU (h_vbit) = opval;
   9054     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9055   }
   9056 {
   9057   {
   9058     BI opval = 0;
   9059     CPU (h_xbit) = opval;
   9060     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9061   }
   9062   {
   9063     BI opval = 0;
   9064     SET_H_INSN_PREFIXED_P (opval);
   9065     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9066   }
   9067 }
   9068 }
   9069 }
   9070 }
   9071 
   9072   abuf->written = written;
   9073 #undef FLD
   9074 }
   9075   NEXT (vpc);
   9076 
   9077   CASE (sem, INSN_TEST_M_W_M) : /* test-m.w [${Rs}${inc}] */
   9078 {
   9079   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9080   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9081 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   9082   int UNUSED written = 0;
   9083   IADDR UNUSED pc = abuf->addr;
   9084   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9085 
   9086 {
   9087   HI tmp_tmpd;
   9088   tmp_tmpd = ({   SI tmp_addr;
   9089   HI tmp_tmp_mem;
   9090   BI tmp_postinc;
   9091   tmp_postinc = FLD (f_memmode);
   9092 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9093 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   9094 ; if (NEBI (tmp_postinc, 0)) {
   9095 {
   9096 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9097   tmp_addr = ADDSI (tmp_addr, 2);
   9098 }
   9099   {
   9100     SI opval = tmp_addr;
   9101     SET_H_GR (FLD (f_operand1), opval);
   9102     written |= (1 << 8);
   9103     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9104   }
   9105 }
   9106 }
   9107 ; tmp_tmp_mem; });
   9108 {
   9109   HI tmp_tmpopd;
   9110   HI tmp_tmpops;
   9111   BI tmp_carry;
   9112   HI tmp_newval;
   9113   tmp_tmpops = 0;
   9114   tmp_tmpopd = tmp_tmpd;
   9115   tmp_carry = CPU (h_cbit);
   9116   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9117 ((void) 0); /*nop*/
   9118 {
   9119   {
   9120     BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
   9121     CPU (h_cbit) = opval;
   9122     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9123   }
   9124   {
   9125     BI opval = LTHI (tmp_newval, 0);
   9126     CPU (h_nbit) = opval;
   9127     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9128   }
   9129   {
   9130     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9131     CPU (h_zbit) = opval;
   9132     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9133   }
   9134   {
   9135     BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
   9136     CPU (h_vbit) = opval;
   9137     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9138   }
   9139 {
   9140   {
   9141     BI opval = 0;
   9142     CPU (h_xbit) = opval;
   9143     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9144   }
   9145   {
   9146     BI opval = 0;
   9147     SET_H_INSN_PREFIXED_P (opval);
   9148     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9149   }
   9150 }
   9151 }
   9152 }
   9153 }
   9154 
   9155   abuf->written = written;
   9156 #undef FLD
   9157 }
   9158   NEXT (vpc);
   9159 
   9160   CASE (sem, INSN_TEST_M_D_M) : /* test-m.d [${Rs}${inc}] */
   9161 {
   9162   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9163   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9164 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   9165   int UNUSED written = 0;
   9166   IADDR UNUSED pc = abuf->addr;
   9167   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9168 
   9169 {
   9170   SI tmp_tmpd;
   9171   tmp_tmpd = ({   SI tmp_addr;
   9172   SI tmp_tmp_mem;
   9173   BI tmp_postinc;
   9174   tmp_postinc = FLD (f_memmode);
   9175 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9176 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   9177 ; if (NEBI (tmp_postinc, 0)) {
   9178 {
   9179 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9180   tmp_addr = ADDSI (tmp_addr, 4);
   9181 }
   9182   {
   9183     SI opval = tmp_addr;
   9184     SET_H_GR (FLD (f_operand1), opval);
   9185     written |= (1 << 8);
   9186     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9187   }
   9188 }
   9189 }
   9190 ; tmp_tmp_mem; });
   9191 {
   9192   SI tmp_tmpopd;
   9193   SI tmp_tmpops;
   9194   BI tmp_carry;
   9195   SI tmp_newval;
   9196   tmp_tmpops = 0;
   9197   tmp_tmpopd = tmp_tmpd;
   9198   tmp_carry = CPU (h_cbit);
   9199   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9200 ((void) 0); /*nop*/
   9201 {
   9202   {
   9203     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
   9204     CPU (h_cbit) = opval;
   9205     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9206   }
   9207   {
   9208     BI opval = LTSI (tmp_newval, 0);
   9209     CPU (h_nbit) = opval;
   9210     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9211   }
   9212   {
   9213     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9214     CPU (h_zbit) = opval;
   9215     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9216   }
   9217   {
   9218     BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   9219     CPU (h_vbit) = opval;
   9220     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9221   }
   9222 {
   9223   {
   9224     BI opval = 0;
   9225     CPU (h_xbit) = opval;
   9226     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9227   }
   9228   {
   9229     BI opval = 0;
   9230     SET_H_INSN_PREFIXED_P (opval);
   9231     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9232   }
   9233 }
   9234 }
   9235 }
   9236 }
   9237 
   9238   abuf->written = written;
   9239 #undef FLD
   9240 }
   9241   NEXT (vpc);
   9242 
   9243   CASE (sem, INSN_MOVE_R_M_B_M) : /* move-r-m.b ${Rs-dfield},[${Rd-sfield}${inc}] */
   9244 {
   9245   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9246   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9247 #define FLD(f) abuf->fields.sfmt_addc_m.f
   9248   int UNUSED written = 0;
   9249   IADDR UNUSED pc = abuf->addr;
   9250   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9251 
   9252 {
   9253   QI tmp_tmpd;
   9254   tmp_tmpd = GET_H_GR (FLD (f_operand2));
   9255 {
   9256   SI tmp_addr;
   9257   BI tmp_postinc;
   9258   tmp_postinc = FLD (f_memmode);
   9259   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9260 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   9261 if (EQBI (CPU (h_pbit), 0)) {
   9262 {
   9263   {
   9264     QI opval = tmp_tmpd;
   9265     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   9266     written |= (1 << 10);
   9267     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9268   }
   9269   {
   9270     BI opval = CPU (h_pbit);
   9271     CPU (h_cbit) = opval;
   9272     written |= (1 << 9);
   9273     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9274   }
   9275 }
   9276 } else {
   9277   {
   9278     BI opval = 1;
   9279     CPU (h_cbit) = opval;
   9280     written |= (1 << 9);
   9281     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9282   }
   9283 }
   9284 } else {
   9285   {
   9286     QI opval = tmp_tmpd;
   9287     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   9288     written |= (1 << 10);
   9289     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9290   }
   9291 }
   9292 if (NEBI (tmp_postinc, 0)) {
   9293 {
   9294 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9295   tmp_addr = ADDSI (tmp_addr, 1);
   9296 }
   9297   {
   9298     SI opval = tmp_addr;
   9299     SET_H_GR (FLD (f_operand1), opval);
   9300     written |= (1 << 8);
   9301     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9302   }
   9303 }
   9304 }
   9305 }
   9306 {
   9307   {
   9308     BI opval = 0;
   9309     CPU (h_xbit) = opval;
   9310     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9311   }
   9312   {
   9313     BI opval = 0;
   9314     SET_H_INSN_PREFIXED_P (opval);
   9315     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9316   }
   9317 }
   9318 }
   9319 
   9320   abuf->written = written;
   9321 #undef FLD
   9322 }
   9323   NEXT (vpc);
   9324 
   9325   CASE (sem, INSN_MOVE_R_M_W_M) : /* move-r-m.w ${Rs-dfield},[${Rd-sfield}${inc}] */
   9326 {
   9327   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9328   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9329 #define FLD(f) abuf->fields.sfmt_addc_m.f
   9330   int UNUSED written = 0;
   9331   IADDR UNUSED pc = abuf->addr;
   9332   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9333 
   9334 {
   9335   HI tmp_tmpd;
   9336   tmp_tmpd = GET_H_GR (FLD (f_operand2));
   9337 {
   9338   SI tmp_addr;
   9339   BI tmp_postinc;
   9340   tmp_postinc = FLD (f_memmode);
   9341   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9342 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   9343 if (EQBI (CPU (h_pbit), 0)) {
   9344 {
   9345   {
   9346     HI opval = tmp_tmpd;
   9347     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   9348     written |= (1 << 10);
   9349     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9350   }
   9351   {
   9352     BI opval = CPU (h_pbit);
   9353     CPU (h_cbit) = opval;
   9354     written |= (1 << 9);
   9355     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9356   }
   9357 }
   9358 } else {
   9359   {
   9360     BI opval = 1;
   9361     CPU (h_cbit) = opval;
   9362     written |= (1 << 9);
   9363     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9364   }
   9365 }
   9366 } else {
   9367   {
   9368     HI opval = tmp_tmpd;
   9369     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   9370     written |= (1 << 10);
   9371     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9372   }
   9373 }
   9374 if (NEBI (tmp_postinc, 0)) {
   9375 {
   9376 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9377   tmp_addr = ADDSI (tmp_addr, 2);
   9378 }
   9379   {
   9380     SI opval = tmp_addr;
   9381     SET_H_GR (FLD (f_operand1), opval);
   9382     written |= (1 << 8);
   9383     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9384   }
   9385 }
   9386 }
   9387 }
   9388 {
   9389   {
   9390     BI opval = 0;
   9391     CPU (h_xbit) = opval;
   9392     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9393   }
   9394   {
   9395     BI opval = 0;
   9396     SET_H_INSN_PREFIXED_P (opval);
   9397     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9398   }
   9399 }
   9400 }
   9401 
   9402   abuf->written = written;
   9403 #undef FLD
   9404 }
   9405   NEXT (vpc);
   9406 
   9407   CASE (sem, INSN_MOVE_R_M_D_M) : /* move-r-m.d ${Rs-dfield},[${Rd-sfield}${inc}] */
   9408 {
   9409   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9410   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9411 #define FLD(f) abuf->fields.sfmt_addc_m.f
   9412   int UNUSED written = 0;
   9413   IADDR UNUSED pc = abuf->addr;
   9414   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9415 
   9416 {
   9417   SI tmp_tmpd;
   9418   tmp_tmpd = GET_H_GR (FLD (f_operand2));
   9419 {
   9420   SI tmp_addr;
   9421   BI tmp_postinc;
   9422   tmp_postinc = FLD (f_memmode);
   9423   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9424 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   9425 if (EQBI (CPU (h_pbit), 0)) {
   9426 {
   9427   {
   9428     SI opval = tmp_tmpd;
   9429     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   9430     written |= (1 << 10);
   9431     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9432   }
   9433   {
   9434     BI opval = CPU (h_pbit);
   9435     CPU (h_cbit) = opval;
   9436     written |= (1 << 9);
   9437     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9438   }
   9439 }
   9440 } else {
   9441   {
   9442     BI opval = 1;
   9443     CPU (h_cbit) = opval;
   9444     written |= (1 << 9);
   9445     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9446   }
   9447 }
   9448 } else {
   9449   {
   9450     SI opval = tmp_tmpd;
   9451     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   9452     written |= (1 << 10);
   9453     TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9454   }
   9455 }
   9456 if (NEBI (tmp_postinc, 0)) {
   9457 {
   9458 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9459   tmp_addr = ADDSI (tmp_addr, 4);
   9460 }
   9461   {
   9462     SI opval = tmp_addr;
   9463     SET_H_GR (FLD (f_operand1), opval);
   9464     written |= (1 << 8);
   9465     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9466   }
   9467 }
   9468 }
   9469 }
   9470 {
   9471   {
   9472     BI opval = 0;
   9473     CPU (h_xbit) = opval;
   9474     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9475   }
   9476   {
   9477     BI opval = 0;
   9478     SET_H_INSN_PREFIXED_P (opval);
   9479     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9480   }
   9481 }
   9482 }
   9483 
   9484   abuf->written = written;
   9485 #undef FLD
   9486 }
   9487   NEXT (vpc);
   9488 
   9489   CASE (sem, INSN_MULS_B) : /* muls.b $Rs,$Rd */
   9490 {
   9491   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9492   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9493 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9494   int UNUSED written = 0;
   9495   IADDR UNUSED pc = abuf->addr;
   9496   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9497 
   9498 {
   9499   DI tmp_src1;
   9500   DI tmp_src2;
   9501   DI tmp_tmpr;
   9502   tmp_src1 = EXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   9503   tmp_src2 = EXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand2))));
   9504   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9505   {
   9506     SI opval = TRUNCDISI (tmp_tmpr);
   9507     SET_H_GR (FLD (f_operand2), opval);
   9508     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9509   }
   9510   {
   9511     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9512     SET_H_SR (((UINT) 7), opval);
   9513     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9514   }
   9515 {
   9516   {
   9517     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9518     CPU (h_cbit) = opval;
   9519     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9520   }
   9521   {
   9522     BI opval = LTDI (tmp_tmpr, 0);
   9523     CPU (h_nbit) = opval;
   9524     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9525   }
   9526   {
   9527     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9528     CPU (h_zbit) = opval;
   9529     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9530   }
   9531   {
   9532     BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
   9533     CPU (h_vbit) = opval;
   9534     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9535   }
   9536 {
   9537   {
   9538     BI opval = 0;
   9539     CPU (h_xbit) = opval;
   9540     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9541   }
   9542   {
   9543     BI opval = 0;
   9544     SET_H_INSN_PREFIXED_P (opval);
   9545     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9546   }
   9547 }
   9548 }
   9549 }
   9550 
   9551 #undef FLD
   9552 }
   9553   NEXT (vpc);
   9554 
   9555   CASE (sem, INSN_MULS_W) : /* muls.w $Rs,$Rd */
   9556 {
   9557   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9558   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9559 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9560   int UNUSED written = 0;
   9561   IADDR UNUSED pc = abuf->addr;
   9562   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9563 
   9564 {
   9565   DI tmp_src1;
   9566   DI tmp_src2;
   9567   DI tmp_tmpr;
   9568   tmp_src1 = EXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   9569   tmp_src2 = EXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand2))));
   9570   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9571   {
   9572     SI opval = TRUNCDISI (tmp_tmpr);
   9573     SET_H_GR (FLD (f_operand2), opval);
   9574     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9575   }
   9576   {
   9577     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9578     SET_H_SR (((UINT) 7), opval);
   9579     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9580   }
   9581 {
   9582   {
   9583     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9584     CPU (h_cbit) = opval;
   9585     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9586   }
   9587   {
   9588     BI opval = LTDI (tmp_tmpr, 0);
   9589     CPU (h_nbit) = opval;
   9590     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9591   }
   9592   {
   9593     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9594     CPU (h_zbit) = opval;
   9595     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9596   }
   9597   {
   9598     BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
   9599     CPU (h_vbit) = opval;
   9600     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9601   }
   9602 {
   9603   {
   9604     BI opval = 0;
   9605     CPU (h_xbit) = opval;
   9606     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9607   }
   9608   {
   9609     BI opval = 0;
   9610     SET_H_INSN_PREFIXED_P (opval);
   9611     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9612   }
   9613 }
   9614 }
   9615 }
   9616 
   9617 #undef FLD
   9618 }
   9619   NEXT (vpc);
   9620 
   9621   CASE (sem, INSN_MULS_D) : /* muls.d $Rs,$Rd */
   9622 {
   9623   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9624   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9625 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9626   int UNUSED written = 0;
   9627   IADDR UNUSED pc = abuf->addr;
   9628   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9629 
   9630 {
   9631   DI tmp_src1;
   9632   DI tmp_src2;
   9633   DI tmp_tmpr;
   9634   tmp_src1 = EXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand1))));
   9635   tmp_src2 = EXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand2))));
   9636   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9637   {
   9638     SI opval = TRUNCDISI (tmp_tmpr);
   9639     SET_H_GR (FLD (f_operand2), opval);
   9640     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9641   }
   9642   {
   9643     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9644     SET_H_SR (((UINT) 7), opval);
   9645     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9646   }
   9647 {
   9648   {
   9649     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9650     CPU (h_cbit) = opval;
   9651     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9652   }
   9653   {
   9654     BI opval = LTDI (tmp_tmpr, 0);
   9655     CPU (h_nbit) = opval;
   9656     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9657   }
   9658   {
   9659     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9660     CPU (h_zbit) = opval;
   9661     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9662   }
   9663   {
   9664     BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
   9665     CPU (h_vbit) = opval;
   9666     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9667   }
   9668 {
   9669   {
   9670     BI opval = 0;
   9671     CPU (h_xbit) = opval;
   9672     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9673   }
   9674   {
   9675     BI opval = 0;
   9676     SET_H_INSN_PREFIXED_P (opval);
   9677     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9678   }
   9679 }
   9680 }
   9681 }
   9682 
   9683 #undef FLD
   9684 }
   9685   NEXT (vpc);
   9686 
   9687   CASE (sem, INSN_MULU_B) : /* mulu.b $Rs,$Rd */
   9688 {
   9689   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9690   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9691 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9692   int UNUSED written = 0;
   9693   IADDR UNUSED pc = abuf->addr;
   9694   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9695 
   9696 {
   9697   DI tmp_src1;
   9698   DI tmp_src2;
   9699   DI tmp_tmpr;
   9700   tmp_src1 = ZEXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   9701   tmp_src2 = ZEXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand2))));
   9702   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9703   {
   9704     SI opval = TRUNCDISI (tmp_tmpr);
   9705     SET_H_GR (FLD (f_operand2), opval);
   9706     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9707   }
   9708   {
   9709     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9710     SET_H_SR (((UINT) 7), opval);
   9711     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9712   }
   9713 {
   9714   {
   9715     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9716     CPU (h_cbit) = opval;
   9717     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9718   }
   9719   {
   9720     BI opval = LTDI (tmp_tmpr, 0);
   9721     CPU (h_nbit) = opval;
   9722     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9723   }
   9724   {
   9725     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9726     CPU (h_zbit) = opval;
   9727     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9728   }
   9729   {
   9730     BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
   9731     CPU (h_vbit) = opval;
   9732     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9733   }
   9734 {
   9735   {
   9736     BI opval = 0;
   9737     CPU (h_xbit) = opval;
   9738     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9739   }
   9740   {
   9741     BI opval = 0;
   9742     SET_H_INSN_PREFIXED_P (opval);
   9743     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9744   }
   9745 }
   9746 }
   9747 }
   9748 
   9749 #undef FLD
   9750 }
   9751   NEXT (vpc);
   9752 
   9753   CASE (sem, INSN_MULU_W) : /* mulu.w $Rs,$Rd */
   9754 {
   9755   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9756   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9757 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9758   int UNUSED written = 0;
   9759   IADDR UNUSED pc = abuf->addr;
   9760   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9761 
   9762 {
   9763   DI tmp_src1;
   9764   DI tmp_src2;
   9765   DI tmp_tmpr;
   9766   tmp_src1 = ZEXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   9767   tmp_src2 = ZEXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand2))));
   9768   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9769   {
   9770     SI opval = TRUNCDISI (tmp_tmpr);
   9771     SET_H_GR (FLD (f_operand2), opval);
   9772     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9773   }
   9774   {
   9775     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9776     SET_H_SR (((UINT) 7), opval);
   9777     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9778   }
   9779 {
   9780   {
   9781     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9782     CPU (h_cbit) = opval;
   9783     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9784   }
   9785   {
   9786     BI opval = LTDI (tmp_tmpr, 0);
   9787     CPU (h_nbit) = opval;
   9788     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9789   }
   9790   {
   9791     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9792     CPU (h_zbit) = opval;
   9793     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9794   }
   9795   {
   9796     BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
   9797     CPU (h_vbit) = opval;
   9798     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9799   }
   9800 {
   9801   {
   9802     BI opval = 0;
   9803     CPU (h_xbit) = opval;
   9804     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9805   }
   9806   {
   9807     BI opval = 0;
   9808     SET_H_INSN_PREFIXED_P (opval);
   9809     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9810   }
   9811 }
   9812 }
   9813 }
   9814 
   9815 #undef FLD
   9816 }
   9817   NEXT (vpc);
   9818 
   9819   CASE (sem, INSN_MULU_D) : /* mulu.d $Rs,$Rd */
   9820 {
   9821   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9822   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9823 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9824   int UNUSED written = 0;
   9825   IADDR UNUSED pc = abuf->addr;
   9826   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9827 
   9828 {
   9829   DI tmp_src1;
   9830   DI tmp_src2;
   9831   DI tmp_tmpr;
   9832   tmp_src1 = ZEXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand1))));
   9833   tmp_src2 = ZEXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand2))));
   9834   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9835   {
   9836     SI opval = TRUNCDISI (tmp_tmpr);
   9837     SET_H_GR (FLD (f_operand2), opval);
   9838     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9839   }
   9840   {
   9841     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9842     SET_H_SR (((UINT) 7), opval);
   9843     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9844   }
   9845 {
   9846   {
   9847     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9848     CPU (h_cbit) = opval;
   9849     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9850   }
   9851   {
   9852     BI opval = LTDI (tmp_tmpr, 0);
   9853     CPU (h_nbit) = opval;
   9854     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9855   }
   9856   {
   9857     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9858     CPU (h_zbit) = opval;
   9859     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9860   }
   9861   {
   9862     BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
   9863     CPU (h_vbit) = opval;
   9864     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9865   }
   9866 {
   9867   {
   9868     BI opval = 0;
   9869     CPU (h_xbit) = opval;
   9870     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9871   }
   9872   {
   9873     BI opval = 0;
   9874     SET_H_INSN_PREFIXED_P (opval);
   9875     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9876   }
   9877 }
   9878 }
   9879 }
   9880 
   9881 #undef FLD
   9882 }
   9883   NEXT (vpc);
   9884 
   9885   CASE (sem, INSN_MCP) : /* mcp $Ps,$Rd */
   9886 {
   9887   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9888   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9889 #define FLD(f) abuf->fields.sfmt_mcp.f
   9890   int UNUSED written = 0;
   9891   IADDR UNUSED pc = abuf->addr;
   9892   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9893 
   9894 {
   9895 CPU (h_xbit) = 1;
   9896 CPU (h_zbit) = 1;
   9897 {
   9898   SI tmp_tmpopd;
   9899   SI tmp_tmpops;
   9900   BI tmp_carry;
   9901   SI tmp_newval;
   9902   tmp_tmpops = GET_H_SR (FLD (f_operand2));
   9903   tmp_tmpopd = GET_H_GR (FLD (f_operand1));
   9904   tmp_carry = CPU (h_rbit);
   9905   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9906   {
   9907     SI opval = tmp_newval;
   9908     SET_H_GR (FLD (f_operand1), opval);
   9909     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9910   }
   9911 {
   9912   {
   9913     BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
   9914     CPU (h_rbit) = opval;
   9915     TRACE_RESULT (current_cpu, abuf, "rbit", 'x', opval);
   9916   }
   9917   {
   9918     BI opval = LTSI (tmp_newval, 0);
   9919     CPU (h_nbit) = opval;
   9920     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9921   }
   9922   {
   9923     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9924     CPU (h_zbit) = opval;
   9925     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9926   }
   9927   {
   9928     BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
   9929     CPU (h_vbit) = opval;
   9930     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9931   }
   9932 {
   9933   {
   9934     BI opval = 0;
   9935     CPU (h_xbit) = opval;
   9936     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9937   }
   9938   {
   9939     BI opval = 0;
   9940     SET_H_INSN_PREFIXED_P (opval);
   9941     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9942   }
   9943 }
   9944 }
   9945 }
   9946 }
   9947 
   9948 #undef FLD
   9949 }
   9950   NEXT (vpc);
   9951 
   9952   CASE (sem, INSN_DSTEP) : /* dstep $Rs,$Rd */
   9953 {
   9954   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9955   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9956 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9957   int UNUSED written = 0;
   9958   IADDR UNUSED pc = abuf->addr;
   9959   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9960 
   9961 {
   9962   SI tmp_tmp;
   9963   SI tmp_tmps;
   9964   SI tmp_tmpd;
   9965   tmp_tmps = GET_H_GR (FLD (f_operand1));
   9966   tmp_tmp = SLLSI (GET_H_GR (FLD (f_operand2)), 1);
   9967   tmp_tmpd = ((GEUSI (tmp_tmp, tmp_tmps)) ? (SUBSI (tmp_tmp, tmp_tmps)) : (tmp_tmp));
   9968   {
   9969     SI opval = tmp_tmpd;
   9970     SET_H_GR (FLD (f_operand2), opval);
   9971     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9972   }
   9973 {
   9974   {
   9975     BI opval = LTSI (tmp_tmpd, 0);
   9976     CPU (h_nbit) = opval;
   9977     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9978   }
   9979   {
   9980     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   9981     CPU (h_zbit) = opval;
   9982     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9983   }
   9984 SET_H_CBIT_MOVE (0);
   9985 SET_H_VBIT_MOVE (0);
   9986 {
   9987   {
   9988     BI opval = 0;
   9989     CPU (h_xbit) = opval;
   9990     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9991   }
   9992   {
   9993     BI opval = 0;
   9994     SET_H_INSN_PREFIXED_P (opval);
   9995     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9996   }
   9997 }
   9998 }
   9999 }
   10000 
   10001 #undef FLD
   10002 }
   10003   NEXT (vpc);
   10004 
   10005   CASE (sem, INSN_ABS) : /* abs $Rs,$Rd */
   10006 {
   10007   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10008   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10009 #define FLD(f) abuf->fields.sfmt_muls_b.f
   10010   int UNUSED written = 0;
   10011   IADDR UNUSED pc = abuf->addr;
   10012   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10013 
   10014 {
   10015   SI tmp_tmpd;
   10016   tmp_tmpd = ABSSI (GET_H_GR (FLD (f_operand1)));
   10017   {
   10018     SI opval = tmp_tmpd;
   10019     SET_H_GR (FLD (f_operand2), opval);
   10020     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10021   }
   10022 {
   10023   {
   10024     BI opval = LTSI (tmp_tmpd, 0);
   10025     CPU (h_nbit) = opval;
   10026     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10027   }
   10028   {
   10029     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10030     CPU (h_zbit) = opval;
   10031     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10032   }
   10033 SET_H_CBIT_MOVE (0);
   10034 SET_H_VBIT_MOVE (0);
   10035 {
   10036   {
   10037     BI opval = 0;
   10038     CPU (h_xbit) = opval;
   10039     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10040   }
   10041   {
   10042     BI opval = 0;
   10043     SET_H_INSN_PREFIXED_P (opval);
   10044     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10045   }
   10046 }
   10047 }
   10048 }
   10049 
   10050 #undef FLD
   10051 }
   10052   NEXT (vpc);
   10053 
   10054   CASE (sem, INSN_AND_B_R) : /* and.b $Rs,$Rd */
   10055 {
   10056   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10057   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10058 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10059   int UNUSED written = 0;
   10060   IADDR UNUSED pc = abuf->addr;
   10061   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10062 
   10063 {
   10064   QI tmp_tmpd;
   10065   tmp_tmpd = ANDQI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10066 {
   10067   SI tmp_oldregval;
   10068   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10069   {
   10070     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10071     SET_H_GR (FLD (f_operand2), opval);
   10072     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10073   }
   10074 }
   10075 {
   10076   {
   10077     BI opval = LTQI (tmp_tmpd, 0);
   10078     CPU (h_nbit) = opval;
   10079     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10080   }
   10081   {
   10082     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10083     CPU (h_zbit) = opval;
   10084     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10085   }
   10086 SET_H_CBIT_MOVE (0);
   10087 SET_H_VBIT_MOVE (0);
   10088 {
   10089   {
   10090     BI opval = 0;
   10091     CPU (h_xbit) = opval;
   10092     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10093   }
   10094   {
   10095     BI opval = 0;
   10096     SET_H_INSN_PREFIXED_P (opval);
   10097     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10098   }
   10099 }
   10100 }
   10101 }
   10102 
   10103 #undef FLD
   10104 }
   10105   NEXT (vpc);
   10106 
   10107   CASE (sem, INSN_AND_W_R) : /* and.w $Rs,$Rd */
   10108 {
   10109   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10110   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10111 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10112   int UNUSED written = 0;
   10113   IADDR UNUSED pc = abuf->addr;
   10114   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10115 
   10116 {
   10117   HI tmp_tmpd;
   10118   tmp_tmpd = ANDHI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10119 {
   10120   SI tmp_oldregval;
   10121   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10122   {
   10123     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10124     SET_H_GR (FLD (f_operand2), opval);
   10125     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10126   }
   10127 }
   10128 {
   10129   {
   10130     BI opval = LTHI (tmp_tmpd, 0);
   10131     CPU (h_nbit) = opval;
   10132     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10133   }
   10134   {
   10135     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10136     CPU (h_zbit) = opval;
   10137     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10138   }
   10139 SET_H_CBIT_MOVE (0);
   10140 SET_H_VBIT_MOVE (0);
   10141 {
   10142   {
   10143     BI opval = 0;
   10144     CPU (h_xbit) = opval;
   10145     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10146   }
   10147   {
   10148     BI opval = 0;
   10149     SET_H_INSN_PREFIXED_P (opval);
   10150     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10151   }
   10152 }
   10153 }
   10154 }
   10155 
   10156 #undef FLD
   10157 }
   10158   NEXT (vpc);
   10159 
   10160   CASE (sem, INSN_AND_D_R) : /* and.d $Rs,$Rd */
   10161 {
   10162   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10163   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10164 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10165   int UNUSED written = 0;
   10166   IADDR UNUSED pc = abuf->addr;
   10167   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10168 
   10169 {
   10170   SI tmp_tmpd;
   10171   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10172   {
   10173     SI opval = tmp_tmpd;
   10174     SET_H_GR (FLD (f_operand2), opval);
   10175     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10176   }
   10177 {
   10178   {
   10179     BI opval = LTSI (tmp_tmpd, 0);
   10180     CPU (h_nbit) = opval;
   10181     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10182   }
   10183   {
   10184     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10185     CPU (h_zbit) = opval;
   10186     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10187   }
   10188 SET_H_CBIT_MOVE (0);
   10189 SET_H_VBIT_MOVE (0);
   10190 {
   10191   {
   10192     BI opval = 0;
   10193     CPU (h_xbit) = opval;
   10194     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10195   }
   10196   {
   10197     BI opval = 0;
   10198     SET_H_INSN_PREFIXED_P (opval);
   10199     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10200   }
   10201 }
   10202 }
   10203 }
   10204 
   10205 #undef FLD
   10206 }
   10207   NEXT (vpc);
   10208 
   10209   CASE (sem, INSN_AND_M_B_M) : /* and-m.b [${Rs}${inc}],${Rd} */
   10210 {
   10211   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10212   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10213 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10214   int UNUSED written = 0;
   10215   IADDR UNUSED pc = abuf->addr;
   10216   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10217 
   10218 {
   10219   QI tmp_tmpd;
   10220   tmp_tmpd = ANDQI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10221   QI tmp_tmp_mem;
   10222   BI tmp_postinc;
   10223   tmp_postinc = FLD (f_memmode);
   10224 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10225 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   10226 ; if (NEBI (tmp_postinc, 0)) {
   10227 {
   10228 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10229   tmp_addr = ADDSI (tmp_addr, 1);
   10230 }
   10231   {
   10232     SI opval = tmp_addr;
   10233     SET_H_GR (FLD (f_operand1), opval);
   10234     written |= (1 << 11);
   10235     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10236   }
   10237 }
   10238 }
   10239 ; tmp_tmp_mem; }));
   10240 {
   10241   SI tmp_oldregval;
   10242   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10243   {
   10244     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10245     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10246     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10247   }
   10248 }
   10249 {
   10250   {
   10251     BI opval = LTQI (tmp_tmpd, 0);
   10252     CPU (h_nbit) = opval;
   10253     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10254   }
   10255   {
   10256     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10257     CPU (h_zbit) = opval;
   10258     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10259   }
   10260 SET_H_CBIT_MOVE (0);
   10261 SET_H_VBIT_MOVE (0);
   10262 {
   10263   {
   10264     BI opval = 0;
   10265     CPU (h_xbit) = opval;
   10266     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10267   }
   10268   {
   10269     BI opval = 0;
   10270     SET_H_INSN_PREFIXED_P (opval);
   10271     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10272   }
   10273 }
   10274 }
   10275 }
   10276 
   10277   abuf->written = written;
   10278 #undef FLD
   10279 }
   10280   NEXT (vpc);
   10281 
   10282   CASE (sem, INSN_AND_M_W_M) : /* and-m.w [${Rs}${inc}],${Rd} */
   10283 {
   10284   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10285   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10286 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10287   int UNUSED written = 0;
   10288   IADDR UNUSED pc = abuf->addr;
   10289   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10290 
   10291 {
   10292   HI tmp_tmpd;
   10293   tmp_tmpd = ANDHI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10294   HI tmp_tmp_mem;
   10295   BI tmp_postinc;
   10296   tmp_postinc = FLD (f_memmode);
   10297 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10298 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   10299 ; if (NEBI (tmp_postinc, 0)) {
   10300 {
   10301 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10302   tmp_addr = ADDSI (tmp_addr, 2);
   10303 }
   10304   {
   10305     SI opval = tmp_addr;
   10306     SET_H_GR (FLD (f_operand1), opval);
   10307     written |= (1 << 11);
   10308     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10309   }
   10310 }
   10311 }
   10312 ; tmp_tmp_mem; }));
   10313 {
   10314   SI tmp_oldregval;
   10315   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10316   {
   10317     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10318     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10319     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10320   }
   10321 }
   10322 {
   10323   {
   10324     BI opval = LTHI (tmp_tmpd, 0);
   10325     CPU (h_nbit) = opval;
   10326     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10327   }
   10328   {
   10329     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10330     CPU (h_zbit) = opval;
   10331     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10332   }
   10333 SET_H_CBIT_MOVE (0);
   10334 SET_H_VBIT_MOVE (0);
   10335 {
   10336   {
   10337     BI opval = 0;
   10338     CPU (h_xbit) = opval;
   10339     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10340   }
   10341   {
   10342     BI opval = 0;
   10343     SET_H_INSN_PREFIXED_P (opval);
   10344     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10345   }
   10346 }
   10347 }
   10348 }
   10349 
   10350   abuf->written = written;
   10351 #undef FLD
   10352 }
   10353   NEXT (vpc);
   10354 
   10355   CASE (sem, INSN_AND_M_D_M) : /* and-m.d [${Rs}${inc}],${Rd} */
   10356 {
   10357   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10358   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10359 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10360   int UNUSED written = 0;
   10361   IADDR UNUSED pc = abuf->addr;
   10362   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10363 
   10364 {
   10365   SI tmp_tmpd;
   10366   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10367   SI tmp_tmp_mem;
   10368   BI tmp_postinc;
   10369   tmp_postinc = FLD (f_memmode);
   10370 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10371 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   10372 ; if (NEBI (tmp_postinc, 0)) {
   10373 {
   10374 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10375   tmp_addr = ADDSI (tmp_addr, 4);
   10376 }
   10377   {
   10378     SI opval = tmp_addr;
   10379     SET_H_GR (FLD (f_operand1), opval);
   10380     written |= (1 << 10);
   10381     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10382   }
   10383 }
   10384 }
   10385 ; tmp_tmp_mem; }));
   10386   {
   10387     SI opval = tmp_tmpd;
   10388     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10389     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10390   }
   10391 {
   10392   {
   10393     BI opval = LTSI (tmp_tmpd, 0);
   10394     CPU (h_nbit) = opval;
   10395     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10396   }
   10397   {
   10398     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10399     CPU (h_zbit) = opval;
   10400     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10401   }
   10402 SET_H_CBIT_MOVE (0);
   10403 SET_H_VBIT_MOVE (0);
   10404 {
   10405   {
   10406     BI opval = 0;
   10407     CPU (h_xbit) = opval;
   10408     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10409   }
   10410   {
   10411     BI opval = 0;
   10412     SET_H_INSN_PREFIXED_P (opval);
   10413     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10414   }
   10415 }
   10416 }
   10417 }
   10418 
   10419   abuf->written = written;
   10420 #undef FLD
   10421 }
   10422   NEXT (vpc);
   10423 
   10424   CASE (sem, INSN_ANDCBR) : /* and.b ${sconst8}],${Rd} */
   10425 {
   10426   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10427   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10428 #define FLD(f) abuf->fields.sfmt_addcbr.f
   10429   int UNUSED written = 0;
   10430   IADDR UNUSED pc = abuf->addr;
   10431   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   10432 
   10433 {
   10434   QI tmp_tmpd;
   10435   tmp_tmpd = ANDQI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__byte));
   10436 {
   10437   SI tmp_oldregval;
   10438   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10439   {
   10440     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10441     SET_H_GR (FLD (f_operand2), opval);
   10442     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10443   }
   10444 }
   10445 {
   10446   {
   10447     BI opval = LTQI (tmp_tmpd, 0);
   10448     CPU (h_nbit) = opval;
   10449     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10450   }
   10451   {
   10452     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10453     CPU (h_zbit) = opval;
   10454     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10455   }
   10456 SET_H_CBIT_MOVE (0);
   10457 SET_H_VBIT_MOVE (0);
   10458 {
   10459   {
   10460     BI opval = 0;
   10461     CPU (h_xbit) = opval;
   10462     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10463   }
   10464   {
   10465     BI opval = 0;
   10466     SET_H_INSN_PREFIXED_P (opval);
   10467     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10468   }
   10469 }
   10470 }
   10471 }
   10472 
   10473 #undef FLD
   10474 }
   10475   NEXT (vpc);
   10476 
   10477   CASE (sem, INSN_ANDCWR) : /* and.w ${sconst16}],${Rd} */
   10478 {
   10479   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10480   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10481 #define FLD(f) abuf->fields.sfmt_addcwr.f
   10482   int UNUSED written = 0;
   10483   IADDR UNUSED pc = abuf->addr;
   10484   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   10485 
   10486 {
   10487   HI tmp_tmpd;
   10488   tmp_tmpd = ANDHI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__word));
   10489 {
   10490   SI tmp_oldregval;
   10491   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10492   {
   10493     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10494     SET_H_GR (FLD (f_operand2), opval);
   10495     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10496   }
   10497 }
   10498 {
   10499   {
   10500     BI opval = LTHI (tmp_tmpd, 0);
   10501     CPU (h_nbit) = opval;
   10502     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10503   }
   10504   {
   10505     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10506     CPU (h_zbit) = opval;
   10507     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10508   }
   10509 SET_H_CBIT_MOVE (0);
   10510 SET_H_VBIT_MOVE (0);
   10511 {
   10512   {
   10513     BI opval = 0;
   10514     CPU (h_xbit) = opval;
   10515     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10516   }
   10517   {
   10518     BI opval = 0;
   10519     SET_H_INSN_PREFIXED_P (opval);
   10520     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10521   }
   10522 }
   10523 }
   10524 }
   10525 
   10526 #undef FLD
   10527 }
   10528   NEXT (vpc);
   10529 
   10530   CASE (sem, INSN_ANDCDR) : /* and.d ${const32}],${Rd} */
   10531 {
   10532   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10533   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10534 #define FLD(f) abuf->fields.sfmt_addcdr.f
   10535   int UNUSED written = 0;
   10536   IADDR UNUSED pc = abuf->addr;
   10537   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   10538 
   10539 {
   10540   SI tmp_tmpd;
   10541   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
   10542   {
   10543     SI opval = tmp_tmpd;
   10544     SET_H_GR (FLD (f_operand2), opval);
   10545     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10546   }
   10547 {
   10548   {
   10549     BI opval = LTSI (tmp_tmpd, 0);
   10550     CPU (h_nbit) = opval;
   10551     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10552   }
   10553   {
   10554     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10555     CPU (h_zbit) = opval;
   10556     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10557   }
   10558 SET_H_CBIT_MOVE (0);
   10559 SET_H_VBIT_MOVE (0);
   10560 {
   10561   {
   10562     BI opval = 0;
   10563     CPU (h_xbit) = opval;
   10564     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10565   }
   10566   {
   10567     BI opval = 0;
   10568     SET_H_INSN_PREFIXED_P (opval);
   10569     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10570   }
   10571 }
   10572 }
   10573 }
   10574 
   10575 #undef FLD
   10576 }
   10577   NEXT (vpc);
   10578 
   10579   CASE (sem, INSN_ANDQ) : /* andq $i,$Rd */
   10580 {
   10581   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10582   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10583 #define FLD(f) abuf->fields.sfmt_andq.f
   10584   int UNUSED written = 0;
   10585   IADDR UNUSED pc = abuf->addr;
   10586   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10587 
   10588 {
   10589   SI tmp_tmpd;
   10590   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), FLD (f_s6));
   10591   {
   10592     SI opval = tmp_tmpd;
   10593     SET_H_GR (FLD (f_operand2), opval);
   10594     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10595   }
   10596 {
   10597   {
   10598     BI opval = LTSI (tmp_tmpd, 0);
   10599     CPU (h_nbit) = opval;
   10600     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10601   }
   10602   {
   10603     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10604     CPU (h_zbit) = opval;
   10605     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10606   }
   10607 SET_H_CBIT_MOVE (0);
   10608 SET_H_VBIT_MOVE (0);
   10609 {
   10610   {
   10611     BI opval = 0;
   10612     CPU (h_xbit) = opval;
   10613     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10614   }
   10615   {
   10616     BI opval = 0;
   10617     SET_H_INSN_PREFIXED_P (opval);
   10618     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10619   }
   10620 }
   10621 }
   10622 }
   10623 
   10624 #undef FLD
   10625 }
   10626   NEXT (vpc);
   10627 
   10628   CASE (sem, INSN_ORR_B_R) : /* orr.b $Rs,$Rd */
   10629 {
   10630   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10631   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10632 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10633   int UNUSED written = 0;
   10634   IADDR UNUSED pc = abuf->addr;
   10635   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10636 
   10637 {
   10638   QI tmp_tmpd;
   10639   tmp_tmpd = ORQI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10640 {
   10641   SI tmp_oldregval;
   10642   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10643   {
   10644     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10645     SET_H_GR (FLD (f_operand2), opval);
   10646     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10647   }
   10648 }
   10649 {
   10650   {
   10651     BI opval = LTQI (tmp_tmpd, 0);
   10652     CPU (h_nbit) = opval;
   10653     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10654   }
   10655   {
   10656     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10657     CPU (h_zbit) = opval;
   10658     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10659   }
   10660 SET_H_CBIT_MOVE (0);
   10661 SET_H_VBIT_MOVE (0);
   10662 {
   10663   {
   10664     BI opval = 0;
   10665     CPU (h_xbit) = opval;
   10666     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10667   }
   10668   {
   10669     BI opval = 0;
   10670     SET_H_INSN_PREFIXED_P (opval);
   10671     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10672   }
   10673 }
   10674 }
   10675 }
   10676 
   10677 #undef FLD
   10678 }
   10679   NEXT (vpc);
   10680 
   10681   CASE (sem, INSN_ORR_W_R) : /* orr.w $Rs,$Rd */
   10682 {
   10683   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10684   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10685 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10686   int UNUSED written = 0;
   10687   IADDR UNUSED pc = abuf->addr;
   10688   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10689 
   10690 {
   10691   HI tmp_tmpd;
   10692   tmp_tmpd = ORHI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10693 {
   10694   SI tmp_oldregval;
   10695   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10696   {
   10697     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10698     SET_H_GR (FLD (f_operand2), opval);
   10699     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10700   }
   10701 }
   10702 {
   10703   {
   10704     BI opval = LTHI (tmp_tmpd, 0);
   10705     CPU (h_nbit) = opval;
   10706     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10707   }
   10708   {
   10709     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10710     CPU (h_zbit) = opval;
   10711     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10712   }
   10713 SET_H_CBIT_MOVE (0);
   10714 SET_H_VBIT_MOVE (0);
   10715 {
   10716   {
   10717     BI opval = 0;
   10718     CPU (h_xbit) = opval;
   10719     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10720   }
   10721   {
   10722     BI opval = 0;
   10723     SET_H_INSN_PREFIXED_P (opval);
   10724     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10725   }
   10726 }
   10727 }
   10728 }
   10729 
   10730 #undef FLD
   10731 }
   10732   NEXT (vpc);
   10733 
   10734   CASE (sem, INSN_ORR_D_R) : /* orr.d $Rs,$Rd */
   10735 {
   10736   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10737   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10738 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10739   int UNUSED written = 0;
   10740   IADDR UNUSED pc = abuf->addr;
   10741   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10742 
   10743 {
   10744   SI tmp_tmpd;
   10745   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10746   {
   10747     SI opval = tmp_tmpd;
   10748     SET_H_GR (FLD (f_operand2), opval);
   10749     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10750   }
   10751 {
   10752   {
   10753     BI opval = LTSI (tmp_tmpd, 0);
   10754     CPU (h_nbit) = opval;
   10755     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10756   }
   10757   {
   10758     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10759     CPU (h_zbit) = opval;
   10760     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10761   }
   10762 SET_H_CBIT_MOVE (0);
   10763 SET_H_VBIT_MOVE (0);
   10764 {
   10765   {
   10766     BI opval = 0;
   10767     CPU (h_xbit) = opval;
   10768     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10769   }
   10770   {
   10771     BI opval = 0;
   10772     SET_H_INSN_PREFIXED_P (opval);
   10773     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10774   }
   10775 }
   10776 }
   10777 }
   10778 
   10779 #undef FLD
   10780 }
   10781   NEXT (vpc);
   10782 
   10783   CASE (sem, INSN_OR_M_B_M) : /* or-m.b [${Rs}${inc}],${Rd} */
   10784 {
   10785   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10786   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10787 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10788   int UNUSED written = 0;
   10789   IADDR UNUSED pc = abuf->addr;
   10790   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10791 
   10792 {
   10793   QI tmp_tmpd;
   10794   tmp_tmpd = ORQI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10795   QI tmp_tmp_mem;
   10796   BI tmp_postinc;
   10797   tmp_postinc = FLD (f_memmode);
   10798 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10799 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   10800 ; if (NEBI (tmp_postinc, 0)) {
   10801 {
   10802 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10803   tmp_addr = ADDSI (tmp_addr, 1);
   10804 }
   10805   {
   10806     SI opval = tmp_addr;
   10807     SET_H_GR (FLD (f_operand1), opval);
   10808     written |= (1 << 11);
   10809     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10810   }
   10811 }
   10812 }
   10813 ; tmp_tmp_mem; }));
   10814 {
   10815   SI tmp_oldregval;
   10816   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10817   {
   10818     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10819     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10820     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10821   }
   10822 }
   10823 {
   10824   {
   10825     BI opval = LTQI (tmp_tmpd, 0);
   10826     CPU (h_nbit) = opval;
   10827     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10828   }
   10829   {
   10830     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10831     CPU (h_zbit) = opval;
   10832     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10833   }
   10834 SET_H_CBIT_MOVE (0);
   10835 SET_H_VBIT_MOVE (0);
   10836 {
   10837   {
   10838     BI opval = 0;
   10839     CPU (h_xbit) = opval;
   10840     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10841   }
   10842   {
   10843     BI opval = 0;
   10844     SET_H_INSN_PREFIXED_P (opval);
   10845     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10846   }
   10847 }
   10848 }
   10849 }
   10850 
   10851   abuf->written = written;
   10852 #undef FLD
   10853 }
   10854   NEXT (vpc);
   10855 
   10856   CASE (sem, INSN_OR_M_W_M) : /* or-m.w [${Rs}${inc}],${Rd} */
   10857 {
   10858   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10859   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10860 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10861   int UNUSED written = 0;
   10862   IADDR UNUSED pc = abuf->addr;
   10863   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10864 
   10865 {
   10866   HI tmp_tmpd;
   10867   tmp_tmpd = ORHI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10868   HI tmp_tmp_mem;
   10869   BI tmp_postinc;
   10870   tmp_postinc = FLD (f_memmode);
   10871 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10872 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   10873 ; if (NEBI (tmp_postinc, 0)) {
   10874 {
   10875 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10876   tmp_addr = ADDSI (tmp_addr, 2);
   10877 }
   10878   {
   10879     SI opval = tmp_addr;
   10880     SET_H_GR (FLD (f_operand1), opval);
   10881     written |= (1 << 11);
   10882     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10883   }
   10884 }
   10885 }
   10886 ; tmp_tmp_mem; }));
   10887 {
   10888   SI tmp_oldregval;
   10889   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10890   {
   10891     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10892     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10893     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10894   }
   10895 }
   10896 {
   10897   {
   10898     BI opval = LTHI (tmp_tmpd, 0);
   10899     CPU (h_nbit) = opval;
   10900     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10901   }
   10902   {
   10903     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10904     CPU (h_zbit) = opval;
   10905     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10906   }
   10907 SET_H_CBIT_MOVE (0);
   10908 SET_H_VBIT_MOVE (0);
   10909 {
   10910   {
   10911     BI opval = 0;
   10912     CPU (h_xbit) = opval;
   10913     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10914   }
   10915   {
   10916     BI opval = 0;
   10917     SET_H_INSN_PREFIXED_P (opval);
   10918     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10919   }
   10920 }
   10921 }
   10922 }
   10923 
   10924   abuf->written = written;
   10925 #undef FLD
   10926 }
   10927   NEXT (vpc);
   10928 
   10929   CASE (sem, INSN_OR_M_D_M) : /* or-m.d [${Rs}${inc}],${Rd} */
   10930 {
   10931   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10932   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10933 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10934   int UNUSED written = 0;
   10935   IADDR UNUSED pc = abuf->addr;
   10936   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10937 
   10938 {
   10939   SI tmp_tmpd;
   10940   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10941   SI tmp_tmp_mem;
   10942   BI tmp_postinc;
   10943   tmp_postinc = FLD (f_memmode);
   10944 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10945 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   10946 ; if (NEBI (tmp_postinc, 0)) {
   10947 {
   10948 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10949   tmp_addr = ADDSI (tmp_addr, 4);
   10950 }
   10951   {
   10952     SI opval = tmp_addr;
   10953     SET_H_GR (FLD (f_operand1), opval);
   10954     written |= (1 << 10);
   10955     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10956   }
   10957 }
   10958 }
   10959 ; tmp_tmp_mem; }));
   10960   {
   10961     SI opval = tmp_tmpd;
   10962     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10963     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10964   }
   10965 {
   10966   {
   10967     BI opval = LTSI (tmp_tmpd, 0);
   10968     CPU (h_nbit) = opval;
   10969     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10970   }
   10971   {
   10972     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10973     CPU (h_zbit) = opval;
   10974     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10975   }
   10976 SET_H_CBIT_MOVE (0);
   10977 SET_H_VBIT_MOVE (0);
   10978 {
   10979   {
   10980     BI opval = 0;
   10981     CPU (h_xbit) = opval;
   10982     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10983   }
   10984   {
   10985     BI opval = 0;
   10986     SET_H_INSN_PREFIXED_P (opval);
   10987     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10988   }
   10989 }
   10990 }
   10991 }
   10992 
   10993   abuf->written = written;
   10994 #undef FLD
   10995 }
   10996   NEXT (vpc);
   10997 
   10998   CASE (sem, INSN_ORCBR) : /* or.b ${sconst8}],${Rd} */
   10999 {
   11000   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11001   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11002 #define FLD(f) abuf->fields.sfmt_addcbr.f
   11003   int UNUSED written = 0;
   11004   IADDR UNUSED pc = abuf->addr;
   11005   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   11006 
   11007 {
   11008   QI tmp_tmpd;
   11009   tmp_tmpd = ORQI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__byte));
   11010 {
   11011   SI tmp_oldregval;
   11012   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11013   {
   11014     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11015     SET_H_GR (FLD (f_operand2), opval);
   11016     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11017   }
   11018 }
   11019 {
   11020   {
   11021     BI opval = LTQI (tmp_tmpd, 0);
   11022     CPU (h_nbit) = opval;
   11023     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11024   }
   11025   {
   11026     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11027     CPU (h_zbit) = opval;
   11028     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11029   }
   11030 SET_H_CBIT_MOVE (0);
   11031 SET_H_VBIT_MOVE (0);
   11032 {
   11033   {
   11034     BI opval = 0;
   11035     CPU (h_xbit) = opval;
   11036     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11037   }
   11038   {
   11039     BI opval = 0;
   11040     SET_H_INSN_PREFIXED_P (opval);
   11041     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11042   }
   11043 }
   11044 }
   11045 }
   11046 
   11047 #undef FLD
   11048 }
   11049   NEXT (vpc);
   11050 
   11051   CASE (sem, INSN_ORCWR) : /* or.w ${sconst16}],${Rd} */
   11052 {
   11053   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11054   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11055 #define FLD(f) abuf->fields.sfmt_addcwr.f
   11056   int UNUSED written = 0;
   11057   IADDR UNUSED pc = abuf->addr;
   11058   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   11059 
   11060 {
   11061   HI tmp_tmpd;
   11062   tmp_tmpd = ORHI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__word));
   11063 {
   11064   SI tmp_oldregval;
   11065   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11066   {
   11067     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11068     SET_H_GR (FLD (f_operand2), opval);
   11069     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11070   }
   11071 }
   11072 {
   11073   {
   11074     BI opval = LTHI (tmp_tmpd, 0);
   11075     CPU (h_nbit) = opval;
   11076     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11077   }
   11078   {
   11079     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11080     CPU (h_zbit) = opval;
   11081     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11082   }
   11083 SET_H_CBIT_MOVE (0);
   11084 SET_H_VBIT_MOVE (0);
   11085 {
   11086   {
   11087     BI opval = 0;
   11088     CPU (h_xbit) = opval;
   11089     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11090   }
   11091   {
   11092     BI opval = 0;
   11093     SET_H_INSN_PREFIXED_P (opval);
   11094     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11095   }
   11096 }
   11097 }
   11098 }
   11099 
   11100 #undef FLD
   11101 }
   11102   NEXT (vpc);
   11103 
   11104   CASE (sem, INSN_ORCDR) : /* or.d ${const32}],${Rd} */
   11105 {
   11106   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11107   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11108 #define FLD(f) abuf->fields.sfmt_addcdr.f
   11109   int UNUSED written = 0;
   11110   IADDR UNUSED pc = abuf->addr;
   11111   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   11112 
   11113 {
   11114   SI tmp_tmpd;
   11115   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
   11116   {
   11117     SI opval = tmp_tmpd;
   11118     SET_H_GR (FLD (f_operand2), opval);
   11119     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11120   }
   11121 {
   11122   {
   11123     BI opval = LTSI (tmp_tmpd, 0);
   11124     CPU (h_nbit) = opval;
   11125     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11126   }
   11127   {
   11128     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11129     CPU (h_zbit) = opval;
   11130     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11131   }
   11132 SET_H_CBIT_MOVE (0);
   11133 SET_H_VBIT_MOVE (0);
   11134 {
   11135   {
   11136     BI opval = 0;
   11137     CPU (h_xbit) = opval;
   11138     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11139   }
   11140   {
   11141     BI opval = 0;
   11142     SET_H_INSN_PREFIXED_P (opval);
   11143     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11144   }
   11145 }
   11146 }
   11147 }
   11148 
   11149 #undef FLD
   11150 }
   11151   NEXT (vpc);
   11152 
   11153   CASE (sem, INSN_ORQ) : /* orq $i,$Rd */
   11154 {
   11155   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11156   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11157 #define FLD(f) abuf->fields.sfmt_andq.f
   11158   int UNUSED written = 0;
   11159   IADDR UNUSED pc = abuf->addr;
   11160   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11161 
   11162 {
   11163   SI tmp_tmpd;
   11164   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), FLD (f_s6));
   11165   {
   11166     SI opval = tmp_tmpd;
   11167     SET_H_GR (FLD (f_operand2), opval);
   11168     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11169   }
   11170 {
   11171   {
   11172     BI opval = LTSI (tmp_tmpd, 0);
   11173     CPU (h_nbit) = opval;
   11174     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11175   }
   11176   {
   11177     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11178     CPU (h_zbit) = opval;
   11179     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11180   }
   11181 SET_H_CBIT_MOVE (0);
   11182 SET_H_VBIT_MOVE (0);
   11183 {
   11184   {
   11185     BI opval = 0;
   11186     CPU (h_xbit) = opval;
   11187     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11188   }
   11189   {
   11190     BI opval = 0;
   11191     SET_H_INSN_PREFIXED_P (opval);
   11192     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11193   }
   11194 }
   11195 }
   11196 }
   11197 
   11198 #undef FLD
   11199 }
   11200   NEXT (vpc);
   11201 
   11202   CASE (sem, INSN_XOR) : /* xor $Rs,$Rd */
   11203 {
   11204   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11205   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11206 #define FLD(f) abuf->fields.sfmt_muls_b.f
   11207   int UNUSED written = 0;
   11208   IADDR UNUSED pc = abuf->addr;
   11209   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11210 
   11211 {
   11212   SI tmp_tmpd;
   11213   tmp_tmpd = XORSI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   11214   {
   11215     SI opval = tmp_tmpd;
   11216     SET_H_GR (FLD (f_operand2), opval);
   11217     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11218   }
   11219 {
   11220   {
   11221     BI opval = LTSI (tmp_tmpd, 0);
   11222     CPU (h_nbit) = opval;
   11223     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11224   }
   11225   {
   11226     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11227     CPU (h_zbit) = opval;
   11228     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11229   }
   11230 SET_H_CBIT_MOVE (0);
   11231 SET_H_VBIT_MOVE (0);
   11232 {
   11233   {
   11234     BI opval = 0;
   11235     CPU (h_xbit) = opval;
   11236     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11237   }
   11238   {
   11239     BI opval = 0;
   11240     SET_H_INSN_PREFIXED_P (opval);
   11241     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11242   }
   11243 }
   11244 }
   11245 }
   11246 
   11247 #undef FLD
   11248 }
   11249   NEXT (vpc);
   11250 
   11251   CASE (sem, INSN_SWAP) : /* swap${swapoption} ${Rs} */
   11252 {
   11253   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11254   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11255 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   11256   int UNUSED written = 0;
   11257   IADDR UNUSED pc = abuf->addr;
   11258   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11259 
   11260 {
   11261   SI tmp_tmps;
   11262   SI tmp_tmpd;
   11263   tmp_tmps = GET_H_GR (FLD (f_operand1));
   11264   tmp_tmpd = ({   SI tmp_tmpcode;
   11265   SI tmp_tmpval;
   11266   SI tmp_tmpres;
   11267   tmp_tmpcode = FLD (f_operand2);
   11268 ;   tmp_tmpval = tmp_tmps;
   11269 ; if (EQSI (tmp_tmpcode, 0)) {
   11270   tmp_tmpres = (cgen_rtx_error (current_cpu, "SWAP without swap modifier isn't implemented"), 0);
   11271 }
   11272  else if (EQSI (tmp_tmpcode, 1)) {
   11273   tmp_tmpres = ({   SI tmp_tmpr;
   11274   tmp_tmpr = tmp_tmpval;
   11275 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11276 }
   11277  else if (EQSI (tmp_tmpcode, 2)) {
   11278   tmp_tmpres = ({   SI tmp_tmpb;
   11279   tmp_tmpb = tmp_tmpval;
   11280 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11281 }
   11282  else if (EQSI (tmp_tmpcode, 3)) {
   11283   tmp_tmpres = ({   SI tmp_tmpr;
   11284   tmp_tmpr = ({   SI tmp_tmpb;
   11285   tmp_tmpb = tmp_tmpval;
   11286 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11287 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11288 }
   11289  else if (EQSI (tmp_tmpcode, 4)) {
   11290   tmp_tmpres = ({   SI tmp_tmpb;
   11291   tmp_tmpb = tmp_tmpval;
   11292 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11293 }
   11294  else if (EQSI (tmp_tmpcode, 5)) {
   11295   tmp_tmpres = ({   SI tmp_tmpr;
   11296   tmp_tmpr = ({   SI tmp_tmpb;
   11297   tmp_tmpb = tmp_tmpval;
   11298 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11299 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11300 }
   11301  else if (EQSI (tmp_tmpcode, 6)) {
   11302   tmp_tmpres = ({   SI tmp_tmpb;
   11303   tmp_tmpb = ({   SI tmp_tmpb;
   11304   tmp_tmpb = tmp_tmpval;
   11305 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11306 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11307 }
   11308  else if (EQSI (tmp_tmpcode, 7)) {
   11309   tmp_tmpres = ({   SI tmp_tmpr;
   11310   tmp_tmpr = ({   SI tmp_tmpb;
   11311   tmp_tmpb = ({   SI tmp_tmpb;
   11312   tmp_tmpb = tmp_tmpval;
   11313 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11314 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11315 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11316 }
   11317  else if (EQSI (tmp_tmpcode, 8)) {
   11318   tmp_tmpres = INVSI (tmp_tmpval);
   11319 }
   11320  else if (EQSI (tmp_tmpcode, 9)) {
   11321   tmp_tmpres = ({   SI tmp_tmpr;
   11322   tmp_tmpr = INVSI (tmp_tmpval);
   11323 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11324 }
   11325  else if (EQSI (tmp_tmpcode, 10)) {
   11326   tmp_tmpres = ({   SI tmp_tmpb;
   11327   tmp_tmpb = INVSI (tmp_tmpval);
   11328 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11329 }
   11330  else if (EQSI (tmp_tmpcode, 11)) {
   11331   tmp_tmpres = ({   SI tmp_tmpr;
   11332   tmp_tmpr = ({   SI tmp_tmpb;
   11333   tmp_tmpb = INVSI (tmp_tmpval);
   11334 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11335 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11336 }
   11337  else if (EQSI (tmp_tmpcode, 12)) {
   11338   tmp_tmpres = ({   SI tmp_tmpb;
   11339   tmp_tmpb = INVSI (tmp_tmpval);
   11340 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11341 }
   11342  else if (EQSI (tmp_tmpcode, 13)) {
   11343   tmp_tmpres = ({   SI tmp_tmpr;
   11344   tmp_tmpr = ({   SI tmp_tmpb;
   11345   tmp_tmpb = INVSI (tmp_tmpval);
   11346 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11347 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11348 }
   11349  else if (EQSI (tmp_tmpcode, 14)) {
   11350   tmp_tmpres = ({   SI tmp_tmpb;
   11351   tmp_tmpb = ({   SI tmp_tmpb;
   11352   tmp_tmpb = INVSI (tmp_tmpval);
   11353 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11354 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11355 }
   11356  else if (EQSI (tmp_tmpcode, 15)) {
   11357   tmp_tmpres = ({   SI tmp_tmpr;
   11358   tmp_tmpr = ({   SI tmp_tmpb;
   11359   tmp_tmpb = ({   SI tmp_tmpb;
   11360   tmp_tmpb = INVSI (tmp_tmpval);
   11361 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpb, 16), 65535)); });
   11362 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11363 ; ORSI (SLLSI (ANDSI (tmp_tmpr, 16843009), 7), ORSI (SLLSI (ANDSI (tmp_tmpr, 33686018), 5), ORSI (SLLSI (ANDSI (tmp_tmpr, 67372036), 3), ORSI (SLLSI (ANDSI (tmp_tmpr, 134744072), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 269488144), 1), ORSI (SRLSI (ANDSI (tmp_tmpr, 538976288), 3), ORSI (SRLSI (ANDSI (tmp_tmpr, 1077952576), 5), SRLSI (ANDSI (tmp_tmpr, 0x80808080), 7)))))))); });
   11364 }
   11365 ; tmp_tmpres; });
   11366   {
   11367     SI opval = tmp_tmpd;
   11368     SET_H_GR (FLD (f_operand1), opval);
   11369     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11370   }
   11371 {
   11372   {
   11373     BI opval = LTSI (tmp_tmpd, 0);
   11374     CPU (h_nbit) = opval;
   11375     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11376   }
   11377   {
   11378     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11379     CPU (h_zbit) = opval;
   11380     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11381   }
   11382 SET_H_CBIT_MOVE (0);
   11383 SET_H_VBIT_MOVE (0);
   11384 {
   11385   {
   11386     BI opval = 0;
   11387     CPU (h_xbit) = opval;
   11388     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11389   }
   11390   {
   11391     BI opval = 0;
   11392     SET_H_INSN_PREFIXED_P (opval);
   11393     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11394   }
   11395 }
   11396 }
   11397 }
   11398 
   11399 #undef FLD
   11400 }
   11401   NEXT (vpc);
   11402 
   11403   CASE (sem, INSN_ASRR_B_R) : /* asrr.b $Rs,$Rd */
   11404 {
   11405   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11406   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11407 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11408   int UNUSED written = 0;
   11409   IADDR UNUSED pc = abuf->addr;
   11410   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11411 
   11412 {
   11413   QI tmp_tmpd;
   11414   SI tmp_cnt1;
   11415   SI tmp_cnt2;
   11416   tmp_cnt1 = GET_H_GR (FLD (f_operand1));
   11417   tmp_cnt2 = ((NESI (ANDSI (tmp_cnt1, 32), 0)) ? (31) : (ANDSI (tmp_cnt1, 31)));
   11418   tmp_tmpd = SRASI (EXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand2)))), tmp_cnt2);
   11419 {
   11420   SI tmp_oldregval;
   11421   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11422   {
   11423     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11424     SET_H_GR (FLD (f_operand2), opval);
   11425     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11426   }
   11427 }
   11428 {
   11429   {
   11430     BI opval = LTQI (tmp_tmpd, 0);
   11431     CPU (h_nbit) = opval;
   11432     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11433   }
   11434   {
   11435     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11436     CPU (h_zbit) = opval;
   11437     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11438   }
   11439 SET_H_CBIT_MOVE (0);
   11440 SET_H_VBIT_MOVE (0);
   11441 {
   11442   {
   11443     BI opval = 0;
   11444     CPU (h_xbit) = opval;
   11445     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11446   }
   11447   {
   11448     BI opval = 0;
   11449     SET_H_INSN_PREFIXED_P (opval);
   11450     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11451   }
   11452 }
   11453 }
   11454 }
   11455 
   11456 #undef FLD
   11457 }
   11458   NEXT (vpc);
   11459 
   11460   CASE (sem, INSN_ASRR_W_R) : /* asrr.w $Rs,$Rd */
   11461 {
   11462   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11463   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11464 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11465   int UNUSED written = 0;
   11466   IADDR UNUSED pc = abuf->addr;
   11467   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11468 
   11469 {
   11470   HI tmp_tmpd;
   11471   SI tmp_cnt1;
   11472   SI tmp_cnt2;
   11473   tmp_cnt1 = GET_H_GR (FLD (f_operand1));
   11474   tmp_cnt2 = ((NESI (ANDSI (tmp_cnt1, 32), 0)) ? (31) : (ANDSI (tmp_cnt1, 31)));
   11475   tmp_tmpd = SRASI (EXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand2)))), tmp_cnt2);
   11476 {
   11477   SI tmp_oldregval;
   11478   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11479   {
   11480     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11481     SET_H_GR (FLD (f_operand2), opval);
   11482     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11483   }
   11484 }
   11485 {
   11486   {
   11487     BI opval = LTHI (tmp_tmpd, 0);
   11488     CPU (h_nbit) = opval;
   11489     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11490   }
   11491   {
   11492     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11493     CPU (h_zbit) = opval;
   11494     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11495   }
   11496 SET_H_CBIT_MOVE (0);
   11497 SET_H_VBIT_MOVE (0);
   11498 {
   11499   {
   11500     BI opval = 0;
   11501     CPU (h_xbit) = opval;
   11502     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11503   }
   11504   {
   11505     BI opval = 0;
   11506     SET_H_INSN_PREFIXED_P (opval);
   11507     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11508   }
   11509 }
   11510 }
   11511 }
   11512 
   11513 #undef FLD
   11514 }
   11515   NEXT (vpc);
   11516 
   11517   CASE (sem, INSN_ASRR_D_R) : /* asrr.d $Rs,$Rd */
   11518 {
   11519   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11520   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11521 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11522   int UNUSED written = 0;
   11523   IADDR UNUSED pc = abuf->addr;
   11524   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11525 
   11526 {
   11527   SI tmp_tmpd;
   11528   SI tmp_cnt1;
   11529   SI tmp_cnt2;
   11530   tmp_cnt1 = GET_H_GR (FLD (f_operand1));
   11531   tmp_cnt2 = ((NESI (ANDSI (tmp_cnt1, 32), 0)) ? (31) : (ANDSI (tmp_cnt1, 31)));
   11532   tmp_tmpd = SRASI (EXTSISI (TRUNCSISI (GET_H_GR (FLD (f_operand2)))), tmp_cnt2);
   11533   {
   11534     SI opval = tmp_tmpd;
   11535     SET_H_GR (FLD (f_operand2), opval);
   11536     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11537   }
   11538 {
   11539   {
   11540     BI opval = LTSI (tmp_tmpd, 0);
   11541     CPU (h_nbit) = opval;
   11542     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11543   }
   11544   {
   11545     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11546     CPU (h_zbit) = opval;
   11547     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11548   }
   11549 SET_H_CBIT_MOVE (0);
   11550 SET_H_VBIT_MOVE (0);
   11551 {
   11552   {
   11553     BI opval = 0;
   11554     CPU (h_xbit) = opval;
   11555     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11556   }
   11557   {
   11558     BI opval = 0;
   11559     SET_H_INSN_PREFIXED_P (opval);
   11560     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11561   }
   11562 }
   11563 }
   11564 }
   11565 
   11566 #undef FLD
   11567 }
   11568   NEXT (vpc);
   11569 
   11570   CASE (sem, INSN_ASRQ) : /* asrq $c,${Rd} */
   11571 {
   11572   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11573   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11574 #define FLD(f) abuf->fields.sfmt_asrq.f
   11575   int UNUSED written = 0;
   11576   IADDR UNUSED pc = abuf->addr;
   11577   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11578 
   11579 {
   11580   SI tmp_tmpd;
   11581   tmp_tmpd = SRASI (GET_H_GR (FLD (f_operand2)), FLD (f_u5));
   11582   {
   11583     SI opval = tmp_tmpd;
   11584     SET_H_GR (FLD (f_operand2), opval);
   11585     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11586   }
   11587 {
   11588   {
   11589     BI opval = LTSI (tmp_tmpd, 0);
   11590     CPU (h_nbit) = opval;
   11591     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11592   }
   11593   {
   11594     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11595     CPU (h_zbit) = opval;
   11596     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11597   }
   11598 SET_H_CBIT_MOVE (0);
   11599 SET_H_VBIT_MOVE (0);
   11600 {
   11601   {
   11602     BI opval = 0;
   11603     CPU (h_xbit) = opval;
   11604     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11605   }
   11606   {
   11607     BI opval = 0;
   11608     SET_H_INSN_PREFIXED_P (opval);
   11609     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11610   }
   11611 }
   11612 }
   11613 }
   11614 
   11615 #undef FLD
   11616 }
   11617   NEXT (vpc);
   11618 
   11619   CASE (sem, INSN_LSRR_B_R) : /* lsrr.b $Rs,$Rd */
   11620 {
   11621   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11622   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11623 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11624   int UNUSED written = 0;
   11625   IADDR UNUSED pc = abuf->addr;
   11626   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11627 
   11628 {
   11629   SI tmp_tmpd;
   11630   SI tmp_cnt;
   11631   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11632   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SRLSI (ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11633 {
   11634   SI tmp_oldregval;
   11635   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11636   {
   11637     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11638     SET_H_GR (FLD (f_operand2), opval);
   11639     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11640   }
   11641 }
   11642 {
   11643   {
   11644     BI opval = LTQI (tmp_tmpd, 0);
   11645     CPU (h_nbit) = opval;
   11646     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11647   }
   11648   {
   11649     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11650     CPU (h_zbit) = opval;
   11651     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11652   }
   11653 SET_H_CBIT_MOVE (0);
   11654 SET_H_VBIT_MOVE (0);
   11655 {
   11656   {
   11657     BI opval = 0;
   11658     CPU (h_xbit) = opval;
   11659     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11660   }
   11661   {
   11662     BI opval = 0;
   11663     SET_H_INSN_PREFIXED_P (opval);
   11664     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11665   }
   11666 }
   11667 }
   11668 }
   11669 
   11670 #undef FLD
   11671 }
   11672   NEXT (vpc);
   11673 
   11674   CASE (sem, INSN_LSRR_W_R) : /* lsrr.w $Rs,$Rd */
   11675 {
   11676   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11677   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11678 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11679   int UNUSED written = 0;
   11680   IADDR UNUSED pc = abuf->addr;
   11681   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11682 
   11683 {
   11684   SI tmp_tmpd;
   11685   SI tmp_cnt;
   11686   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11687   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SRLSI (ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11688 {
   11689   SI tmp_oldregval;
   11690   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11691   {
   11692     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11693     SET_H_GR (FLD (f_operand2), opval);
   11694     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11695   }
   11696 }
   11697 {
   11698   {
   11699     BI opval = LTHI (tmp_tmpd, 0);
   11700     CPU (h_nbit) = opval;
   11701     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11702   }
   11703   {
   11704     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11705     CPU (h_zbit) = opval;
   11706     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11707   }
   11708 SET_H_CBIT_MOVE (0);
   11709 SET_H_VBIT_MOVE (0);
   11710 {
   11711   {
   11712     BI opval = 0;
   11713     CPU (h_xbit) = opval;
   11714     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11715   }
   11716   {
   11717     BI opval = 0;
   11718     SET_H_INSN_PREFIXED_P (opval);
   11719     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11720   }
   11721 }
   11722 }
   11723 }
   11724 
   11725 #undef FLD
   11726 }
   11727   NEXT (vpc);
   11728 
   11729   CASE (sem, INSN_LSRR_D_R) : /* lsrr.d $Rs,$Rd */
   11730 {
   11731   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11732   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11733 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11734   int UNUSED written = 0;
   11735   IADDR UNUSED pc = abuf->addr;
   11736   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11737 
   11738 {
   11739   SI tmp_tmpd;
   11740   SI tmp_cnt;
   11741   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11742   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SRLSI (ZEXTSISI (TRUNCSISI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11743   {
   11744     SI opval = tmp_tmpd;
   11745     SET_H_GR (FLD (f_operand2), opval);
   11746     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11747   }
   11748 {
   11749   {
   11750     BI opval = LTSI (tmp_tmpd, 0);
   11751     CPU (h_nbit) = opval;
   11752     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11753   }
   11754   {
   11755     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11756     CPU (h_zbit) = opval;
   11757     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11758   }
   11759 SET_H_CBIT_MOVE (0);
   11760 SET_H_VBIT_MOVE (0);
   11761 {
   11762   {
   11763     BI opval = 0;
   11764     CPU (h_xbit) = opval;
   11765     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11766   }
   11767   {
   11768     BI opval = 0;
   11769     SET_H_INSN_PREFIXED_P (opval);
   11770     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11771   }
   11772 }
   11773 }
   11774 }
   11775 
   11776 #undef FLD
   11777 }
   11778   NEXT (vpc);
   11779 
   11780   CASE (sem, INSN_LSRQ) : /* lsrq $c,${Rd} */
   11781 {
   11782   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11783   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11784 #define FLD(f) abuf->fields.sfmt_asrq.f
   11785   int UNUSED written = 0;
   11786   IADDR UNUSED pc = abuf->addr;
   11787   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11788 
   11789 {
   11790   SI tmp_tmpd;
   11791   tmp_tmpd = SRLSI (GET_H_GR (FLD (f_operand2)), FLD (f_u5));
   11792   {
   11793     SI opval = tmp_tmpd;
   11794     SET_H_GR (FLD (f_operand2), opval);
   11795     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11796   }
   11797 {
   11798   {
   11799     BI opval = LTSI (tmp_tmpd, 0);
   11800     CPU (h_nbit) = opval;
   11801     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11802   }
   11803   {
   11804     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11805     CPU (h_zbit) = opval;
   11806     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11807   }
   11808 SET_H_CBIT_MOVE (0);
   11809 SET_H_VBIT_MOVE (0);
   11810 {
   11811   {
   11812     BI opval = 0;
   11813     CPU (h_xbit) = opval;
   11814     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11815   }
   11816   {
   11817     BI opval = 0;
   11818     SET_H_INSN_PREFIXED_P (opval);
   11819     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11820   }
   11821 }
   11822 }
   11823 }
   11824 
   11825 #undef FLD
   11826 }
   11827   NEXT (vpc);
   11828 
   11829   CASE (sem, INSN_LSLR_B_R) : /* lslr.b $Rs,$Rd */
   11830 {
   11831   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11832   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11833 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11834   int UNUSED written = 0;
   11835   IADDR UNUSED pc = abuf->addr;
   11836   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11837 
   11838 {
   11839   SI tmp_tmpd;
   11840   SI tmp_cnt;
   11841   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11842   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SLLSI (ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11843 {
   11844   SI tmp_oldregval;
   11845   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11846   {
   11847     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11848     SET_H_GR (FLD (f_operand2), opval);
   11849     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11850   }
   11851 }
   11852 {
   11853   {
   11854     BI opval = LTQI (tmp_tmpd, 0);
   11855     CPU (h_nbit) = opval;
   11856     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11857   }
   11858   {
   11859     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11860     CPU (h_zbit) = opval;
   11861     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11862   }
   11863 SET_H_CBIT_MOVE (0);
   11864 SET_H_VBIT_MOVE (0);
   11865 {
   11866   {
   11867     BI opval = 0;
   11868     CPU (h_xbit) = opval;
   11869     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11870   }
   11871   {
   11872     BI opval = 0;
   11873     SET_H_INSN_PREFIXED_P (opval);
   11874     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11875   }
   11876 }
   11877 }
   11878 }
   11879 
   11880 #undef FLD
   11881 }
   11882   NEXT (vpc);
   11883 
   11884   CASE (sem, INSN_LSLR_W_R) : /* lslr.w $Rs,$Rd */
   11885 {
   11886   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11887   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11888 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11889   int UNUSED written = 0;
   11890   IADDR UNUSED pc = abuf->addr;
   11891   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11892 
   11893 {
   11894   SI tmp_tmpd;
   11895   SI tmp_cnt;
   11896   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11897   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SLLSI (ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11898 {
   11899   SI tmp_oldregval;
   11900   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11901   {
   11902     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11903     SET_H_GR (FLD (f_operand2), opval);
   11904     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11905   }
   11906 }
   11907 {
   11908   {
   11909     BI opval = LTHI (tmp_tmpd, 0);
   11910     CPU (h_nbit) = opval;
   11911     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11912   }
   11913   {
   11914     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11915     CPU (h_zbit) = opval;
   11916     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11917   }
   11918 SET_H_CBIT_MOVE (0);
   11919 SET_H_VBIT_MOVE (0);
   11920 {
   11921   {
   11922     BI opval = 0;
   11923     CPU (h_xbit) = opval;
   11924     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11925   }
   11926   {
   11927     BI opval = 0;
   11928     SET_H_INSN_PREFIXED_P (opval);
   11929     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11930   }
   11931 }
   11932 }
   11933 }
   11934 
   11935 #undef FLD
   11936 }
   11937   NEXT (vpc);
   11938 
   11939   CASE (sem, INSN_LSLR_D_R) : /* lslr.d $Rs,$Rd */
   11940 {
   11941   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11942   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11943 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11944   int UNUSED written = 0;
   11945   IADDR UNUSED pc = abuf->addr;
   11946   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11947 
   11948 {
   11949   SI tmp_tmpd;
   11950   SI tmp_cnt;
   11951   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11952   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SLLSI (ZEXTSISI (TRUNCSISI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11953   {
   11954     SI opval = tmp_tmpd;
   11955     SET_H_GR (FLD (f_operand2), opval);
   11956     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11957   }
   11958 {
   11959   {
   11960     BI opval = LTSI (tmp_tmpd, 0);
   11961     CPU (h_nbit) = opval;
   11962     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11963   }
   11964   {
   11965     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11966     CPU (h_zbit) = opval;
   11967     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11968   }
   11969 SET_H_CBIT_MOVE (0);
   11970 SET_H_VBIT_MOVE (0);
   11971 {
   11972   {
   11973     BI opval = 0;
   11974     CPU (h_xbit) = opval;
   11975     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11976   }
   11977   {
   11978     BI opval = 0;
   11979     SET_H_INSN_PREFIXED_P (opval);
   11980     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11981   }
   11982 }
   11983 }
   11984 }
   11985 
   11986 #undef FLD
   11987 }
   11988   NEXT (vpc);
   11989 
   11990   CASE (sem, INSN_LSLQ) : /* lslq $c,${Rd} */
   11991 {
   11992   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11993   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11994 #define FLD(f) abuf->fields.sfmt_asrq.f
   11995   int UNUSED written = 0;
   11996   IADDR UNUSED pc = abuf->addr;
   11997   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11998 
   11999 {
   12000   SI tmp_tmpd;
   12001   tmp_tmpd = SLLSI (GET_H_GR (FLD (f_operand2)), FLD (f_u5));
   12002   {
   12003     SI opval = tmp_tmpd;
   12004     SET_H_GR (FLD (f_operand2), opval);
   12005     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   12006   }
   12007 {
   12008   {
   12009     BI opval = LTSI (tmp_tmpd, 0);
   12010     CPU (h_nbit) = opval;
   12011     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12012   }
   12013   {
   12014     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   12015     CPU (h_zbit) = opval;
   12016     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12017   }
   12018 SET_H_CBIT_MOVE (0);
   12019 SET_H_VBIT_MOVE (0);
   12020 {
   12021   {
   12022     BI opval = 0;
   12023     CPU (h_xbit) = opval;
   12024     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12025   }
   12026   {
   12027     BI opval = 0;
   12028     SET_H_INSN_PREFIXED_P (opval);
   12029     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12030   }
   12031 }
   12032 }
   12033 }
   12034 
   12035 #undef FLD
   12036 }
   12037   NEXT (vpc);
   12038 
   12039   CASE (sem, INSN_BTST) : /* $Rs,$Rd */
   12040 {
   12041   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12042   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12043 #define FLD(f) abuf->fields.sfmt_muls_b.f
   12044   int UNUSED written = 0;
   12045   IADDR UNUSED pc = abuf->addr;
   12046   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12047 
   12048 {
   12049   SI tmp_tmpd;
   12050   SI tmp_cnt;
   12051   tmp_tmpd = SLLSI (GET_H_GR (FLD (f_operand2)), SUBSI (31, ANDSI (GET_H_GR (FLD (f_operand1)), 31)));
   12052 {
   12053   {
   12054     BI opval = LTSI (tmp_tmpd, 0);
   12055     CPU (h_nbit) = opval;
   12056     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12057   }
   12058   {
   12059     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   12060     CPU (h_zbit) = opval;
   12061     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12062   }
   12063 SET_H_CBIT_MOVE (0);
   12064 SET_H_VBIT_MOVE (0);
   12065 {
   12066   {
   12067     BI opval = 0;
   12068     CPU (h_xbit) = opval;
   12069     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12070   }
   12071   {
   12072     BI opval = 0;
   12073     SET_H_INSN_PREFIXED_P (opval);
   12074     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12075   }
   12076 }
   12077 }
   12078 }
   12079 
   12080 #undef FLD
   12081 }
   12082   NEXT (vpc);
   12083 
   12084   CASE (sem, INSN_BTSTQ) : /* btstq $c,${Rd} */
   12085 {
   12086   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12087   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12088 #define FLD(f) abuf->fields.sfmt_asrq.f
   12089   int UNUSED written = 0;
   12090   IADDR UNUSED pc = abuf->addr;
   12091   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12092 
   12093 {
   12094   SI tmp_tmpd;
   12095   tmp_tmpd = SLLSI (GET_H_GR (FLD (f_operand2)), SUBSI (31, FLD (f_u5)));
   12096 {
   12097   {
   12098     BI opval = LTSI (tmp_tmpd, 0);
   12099     CPU (h_nbit) = opval;
   12100     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12101   }
   12102   {
   12103     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   12104     CPU (h_zbit) = opval;
   12105     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12106   }
   12107 SET_H_CBIT_MOVE (0);
   12108 SET_H_VBIT_MOVE (0);
   12109 {
   12110   {
   12111     BI opval = 0;
   12112     CPU (h_xbit) = opval;
   12113     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12114   }
   12115   {
   12116     BI opval = 0;
   12117     SET_H_INSN_PREFIXED_P (opval);
   12118     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12119   }
   12120 }
   12121 }
   12122 }
   12123 
   12124 #undef FLD
   12125 }
   12126   NEXT (vpc);
   12127 
   12128   CASE (sem, INSN_SETF) : /* setf ${list-of-flags} */
   12129 {
   12130   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12131   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12132 #define FLD(f) abuf->fields.sfmt_setf.f
   12133   int UNUSED written = 0;
   12134   IADDR UNUSED pc = abuf->addr;
   12135   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12136 
   12137 {
   12138   SI tmp_tmp;
   12139   tmp_tmp = FLD (f_dstsrc);
   12140 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
   12141   {
   12142     BI opval = 1;
   12143     CPU (h_cbit) = opval;
   12144     written |= (1 << 1);
   12145     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   12146   }
   12147 }
   12148 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
   12149   {
   12150     BI opval = 1;
   12151     CPU (h_vbit) = opval;
   12152     written |= (1 << 7);
   12153     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   12154   }
   12155 }
   12156 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
   12157   {
   12158     BI opval = 1;
   12159     CPU (h_zbit) = opval;
   12160     written |= (1 << 9);
   12161     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12162   }
   12163 }
   12164 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
   12165   {
   12166     BI opval = 1;
   12167     CPU (h_nbit) = opval;
   12168     written |= (1 << 3);
   12169     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12170   }
   12171 }
   12172 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
   12173   {
   12174     BI opval = 1;
   12175     CPU (h_xbit) = opval;
   12176     written |= (1 << 8);
   12177     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12178   }
   12179 }
   12180 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
   12181   {
   12182     BI opval = 1;
   12183     SET_H_IBIT (opval);
   12184     written |= (1 << 2);
   12185     TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
   12186   }
   12187 }
   12188 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
   12189   {
   12190     BI opval = 1;
   12191     SET_H_UBIT (opval);
   12192     written |= (1 << 6);
   12193     TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
   12194   }
   12195 }
   12196 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
   12197   {
   12198     BI opval = 1;
   12199     CPU (h_pbit) = opval;
   12200     written |= (1 << 4);
   12201     TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
   12202   }
   12203 }
   12204   {
   12205     BI opval = 0;
   12206     SET_H_INSN_PREFIXED_P (opval);
   12207     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12208   }
   12209 if (EQSI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
   12210   {
   12211     BI opval = 0;
   12212     CPU (h_xbit) = opval;
   12213     written |= (1 << 8);
   12214     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12215   }
   12216 }
   12217 }
   12218 
   12219   abuf->written = written;
   12220 #undef FLD
   12221 }
   12222   NEXT (vpc);
   12223 
   12224   CASE (sem, INSN_CLEARF) : /* clearf ${list-of-flags} */
   12225 {
   12226   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12227   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12228 #define FLD(f) abuf->fields.sfmt_setf.f
   12229   int UNUSED written = 0;
   12230   IADDR UNUSED pc = abuf->addr;
   12231   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12232 
   12233 {
   12234   SI tmp_tmp;
   12235   tmp_tmp = FLD (f_dstsrc);
   12236 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
   12237   {
   12238     BI opval = 0;
   12239     CPU (h_cbit) = opval;
   12240     written |= (1 << 1);
   12241     TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   12242   }
   12243 }
   12244 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
   12245   {
   12246     BI opval = 0;
   12247     CPU (h_vbit) = opval;
   12248     written |= (1 << 7);
   12249     TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   12250   }
   12251 }
   12252 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
   12253   {
   12254     BI opval = 0;
   12255     CPU (h_zbit) = opval;
   12256     written |= (1 << 9);
   12257     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12258   }
   12259 }
   12260 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
   12261   {
   12262     BI opval = 0;
   12263     CPU (h_nbit) = opval;
   12264     written |= (1 << 3);
   12265     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12266   }
   12267 }
   12268 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
   12269   {
   12270     BI opval = 0;
   12271     CPU (h_xbit) = opval;
   12272     written |= (1 << 8);
   12273     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12274   }
   12275 }
   12276 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
   12277   {
   12278     BI opval = 0;
   12279     SET_H_IBIT (opval);
   12280     written |= (1 << 2);
   12281     TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
   12282   }
   12283 }
   12284 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
   12285   {
   12286     BI opval = 0;
   12287     SET_H_UBIT (opval);
   12288     written |= (1 << 6);
   12289     TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
   12290   }
   12291 }
   12292 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
   12293   {
   12294     BI opval = 0;
   12295     CPU (h_pbit) = opval;
   12296     written |= (1 << 4);
   12297     TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
   12298   }
   12299 }
   12300 {
   12301   {
   12302     BI opval = 0;
   12303     CPU (h_xbit) = opval;
   12304     written |= (1 << 8);
   12305     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12306   }
   12307   {
   12308     BI opval = 0;
   12309     SET_H_INSN_PREFIXED_P (opval);
   12310     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12311   }
   12312 }
   12313 }
   12314 
   12315   abuf->written = written;
   12316 #undef FLD
   12317 }
   12318   NEXT (vpc);
   12319 
   12320   CASE (sem, INSN_RFE) : /* rfe */
   12321 {
   12322   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12323   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12324 #define FLD(f) abuf->fields.sfmt_rfe.f
   12325   int UNUSED written = 0;
   12326   IADDR UNUSED pc = abuf->addr;
   12327   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12328 
   12329 {
   12330   USI tmp_oldccs;
   12331   USI tmp_samebits;
   12332   USI tmp_shiftbits;
   12333   USI tmp_keepmask;
   12334   BI tmp_p1;
   12335   tmp_oldccs = GET_H_SR (((UINT) 13));
   12336   tmp_keepmask = 0xc0000000;
   12337   tmp_samebits = ANDSI (tmp_oldccs, tmp_keepmask);
   12338   tmp_shiftbits = ANDSI (SRLSI (ANDSI (tmp_oldccs, 1073609728), 10), INVSI (tmp_keepmask));
   12339   tmp_p1 = NESI (0, ANDSI (tmp_oldccs, 131072));
   12340   {
   12341     SI opval = ORSI (ORSI (tmp_samebits, tmp_shiftbits), ((ANDBI (CPU (h_rbit), NOTBI (tmp_p1))) ? (0) : (128)));
   12342     SET_H_SR (((UINT) 13), opval);
   12343     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12344   }
   12345 }
   12346 
   12347 #undef FLD
   12348 }
   12349   NEXT (vpc);
   12350 
   12351   CASE (sem, INSN_SFE) : /* sfe */
   12352 {
   12353   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12354   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12355 #define FLD(f) abuf->fields.sfmt_rfe.f
   12356   int UNUSED written = 0;
   12357   IADDR UNUSED pc = abuf->addr;
   12358   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12359 
   12360 {
   12361   SI tmp_oldccs;
   12362   SI tmp_savemask;
   12363   tmp_savemask = 0xc0000000;
   12364   tmp_oldccs = GET_H_SR (((UINT) 13));
   12365   {
   12366     SI opval = ORSI (ANDSI (tmp_savemask, tmp_oldccs), ANDSI (INVSI (tmp_savemask), SLLSI (tmp_oldccs, 10)));
   12367     SET_H_SR (((UINT) 13), opval);
   12368     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12369   }
   12370 }
   12371 
   12372 #undef FLD
   12373 }
   12374   NEXT (vpc);
   12375 
   12376   CASE (sem, INSN_RFG) : /* rfg */
   12377 {
   12378   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12379   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12380 #define FLD(f) abuf->fields.sfmt_empty.f
   12381   int UNUSED written = 0;
   12382   IADDR UNUSED pc = abuf->addr;
   12383   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12384 
   12385 crisv32f_rfg_handler (current_cpu, pc);
   12386 
   12387 #undef FLD
   12388 }
   12389   NEXT (vpc);
   12390 
   12391   CASE (sem, INSN_RFN) : /* rfn */
   12392 {
   12393   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12394   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12395 #define FLD(f) abuf->fields.sfmt_rfe.f
   12396   int UNUSED written = 0;
   12397   IADDR UNUSED pc = abuf->addr;
   12398   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12399 
   12400 {
   12401 {
   12402   USI tmp_oldccs;
   12403   USI tmp_samebits;
   12404   USI tmp_shiftbits;
   12405   USI tmp_keepmask;
   12406   BI tmp_p1;
   12407   tmp_oldccs = GET_H_SR (((UINT) 13));
   12408   tmp_keepmask = 0xc0000000;
   12409   tmp_samebits = ANDSI (tmp_oldccs, tmp_keepmask);
   12410   tmp_shiftbits = ANDSI (SRLSI (ANDSI (tmp_oldccs, 1073609728), 10), INVSI (tmp_keepmask));
   12411   tmp_p1 = NESI (0, ANDSI (tmp_oldccs, 131072));
   12412   {
   12413     SI opval = ORSI (ORSI (tmp_samebits, tmp_shiftbits), ((ANDBI (CPU (h_rbit), NOTBI (tmp_p1))) ? (0) : (128)));
   12414     SET_H_SR (((UINT) 13), opval);
   12415     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12416   }
   12417 }
   12418   {
   12419     BI opval = 1;
   12420     SET_H_MBIT (opval);
   12421     TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
   12422   }
   12423 }
   12424 
   12425 #undef FLD
   12426 }
   12427   NEXT (vpc);
   12428 
   12429   CASE (sem, INSN_HALT) : /* halt */
   12430 {
   12431   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12432   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12433 #define FLD(f) abuf->fields.sfmt_empty.f
   12434   int UNUSED written = 0;
   12435   IADDR UNUSED pc = abuf->addr;
   12436   SEM_BRANCH_INIT
   12437   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12438 
   12439   {
   12440     USI opval = crisv32f_halt_handler (current_cpu, pc);
   12441     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12442     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12443   }
   12444 
   12445   SEM_BRANCH_FINI (vpc);
   12446 #undef FLD
   12447 }
   12448   NEXT (vpc);
   12449 
   12450   CASE (sem, INSN_BCC_B) : /* b${cc} ${o-pcrel} */
   12451 {
   12452   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12453   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12454 #define FLD(f) abuf->fields.sfmt_bcc_b.f
   12455   int UNUSED written = 0;
   12456   IADDR UNUSED pc = abuf->addr;
   12457   SEM_BRANCH_INIT
   12458   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12459 
   12460 {
   12461   BI tmp_truthval;
   12462   tmp_truthval = ({   SI tmp_tmpcond;
   12463   BI tmp_condres;
   12464   tmp_tmpcond = FLD (f_operand2);
   12465 ; if (EQSI (tmp_tmpcond, 0)) {
   12466   tmp_condres = NOTBI (CPU (h_cbit));
   12467 }
   12468  else if (EQSI (tmp_tmpcond, 1)) {
   12469   tmp_condres = CPU (h_cbit);
   12470 }
   12471  else if (EQSI (tmp_tmpcond, 2)) {
   12472   tmp_condres = NOTBI (CPU (h_zbit));
   12473 }
   12474  else if (EQSI (tmp_tmpcond, 3)) {
   12475   tmp_condres = CPU (h_zbit);
   12476 }
   12477  else if (EQSI (tmp_tmpcond, 4)) {
   12478   tmp_condres = NOTBI (CPU (h_vbit));
   12479 }
   12480  else if (EQSI (tmp_tmpcond, 5)) {
   12481   tmp_condres = CPU (h_vbit);
   12482 }
   12483  else if (EQSI (tmp_tmpcond, 6)) {
   12484   tmp_condres = NOTBI (CPU (h_nbit));
   12485 }
   12486  else if (EQSI (tmp_tmpcond, 7)) {
   12487   tmp_condres = CPU (h_nbit);
   12488 }
   12489  else if (EQSI (tmp_tmpcond, 8)) {
   12490   tmp_condres = ORBI (CPU (h_cbit), CPU (h_zbit));
   12491 }
   12492  else if (EQSI (tmp_tmpcond, 9)) {
   12493   tmp_condres = NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)));
   12494 }
   12495  else if (EQSI (tmp_tmpcond, 10)) {
   12496   tmp_condres = NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)));
   12497 }
   12498  else if (EQSI (tmp_tmpcond, 11)) {
   12499   tmp_condres = XORBI (CPU (h_vbit), CPU (h_nbit));
   12500 }
   12501  else if (EQSI (tmp_tmpcond, 12)) {
   12502   tmp_condres = NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)));
   12503 }
   12504  else if (EQSI (tmp_tmpcond, 13)) {
   12505   tmp_condres = ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit));
   12506 }
   12507  else if (EQSI (tmp_tmpcond, 14)) {
   12508   tmp_condres = 1;
   12509 }
   12510  else if (EQSI (tmp_tmpcond, 15)) {
   12511   tmp_condres = CPU (h_pbit);
   12512 }
   12513 ; tmp_condres; });
   12514 crisv32f_branch_taken (current_cpu, pc, FLD (i_o_pcrel), tmp_truthval);
   12515 {
   12516   {
   12517     BI opval = 0;
   12518     CPU (h_xbit) = opval;
   12519     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12520   }
   12521   {
   12522     BI opval = 0;
   12523     SET_H_INSN_PREFIXED_P (opval);
   12524     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12525   }
   12526 }
   12527 if (tmp_truthval) {
   12528 {
   12529   {
   12530     USI opval = FLD (i_o_pcrel);
   12531     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12532     written |= (1 << 8);
   12533     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12534   }
   12535 }
   12536 }
   12537 }
   12538 
   12539   abuf->written = written;
   12540   SEM_BRANCH_FINI (vpc);
   12541 #undef FLD
   12542 }
   12543   NEXT (vpc);
   12544 
   12545   CASE (sem, INSN_BA_B) : /* ba ${o-pcrel} */
   12546 {
   12547   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12548   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12549 #define FLD(f) abuf->fields.sfmt_bcc_b.f
   12550   int UNUSED written = 0;
   12551   IADDR UNUSED pc = abuf->addr;
   12552   SEM_BRANCH_INIT
   12553   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12554 
   12555 {
   12556 {
   12557   {
   12558     BI opval = 0;
   12559     CPU (h_xbit) = opval;
   12560     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12561   }
   12562   {
   12563     BI opval = 0;
   12564     SET_H_INSN_PREFIXED_P (opval);
   12565     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12566   }
   12567 }
   12568 {
   12569   {
   12570     USI opval = FLD (i_o_pcrel);
   12571     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12572     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12573   }
   12574 }
   12575 }
   12576 
   12577   SEM_BRANCH_FINI (vpc);
   12578 #undef FLD
   12579 }
   12580   NEXT (vpc);
   12581 
   12582   CASE (sem, INSN_BCC_W) : /* b${cc} ${o-word-pcrel} */
   12583 {
   12584   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12585   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12586 #define FLD(f) abuf->fields.sfmt_bcc_w.f
   12587   int UNUSED written = 0;
   12588   IADDR UNUSED pc = abuf->addr;
   12589   SEM_BRANCH_INIT
   12590   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   12591 
   12592 {
   12593   BI tmp_truthval;
   12594   tmp_truthval = ({   SI tmp_tmpcond;
   12595   BI tmp_condres;
   12596   tmp_tmpcond = FLD (f_operand2);
   12597 ; if (EQSI (tmp_tmpcond, 0)) {
   12598   tmp_condres = NOTBI (CPU (h_cbit));
   12599 }
   12600  else if (EQSI (tmp_tmpcond, 1)) {
   12601   tmp_condres = CPU (h_cbit);
   12602 }
   12603  else if (EQSI (tmp_tmpcond, 2)) {
   12604   tmp_condres = NOTBI (CPU (h_zbit));
   12605 }
   12606  else if (EQSI (tmp_tmpcond, 3)) {
   12607   tmp_condres = CPU (h_zbit);
   12608 }
   12609  else if (EQSI (tmp_tmpcond, 4)) {
   12610   tmp_condres = NOTBI (CPU (h_vbit));
   12611 }
   12612  else if (EQSI (tmp_tmpcond, 5)) {
   12613   tmp_condres = CPU (h_vbit);
   12614 }
   12615  else if (EQSI (tmp_tmpcond, 6)) {
   12616   tmp_condres = NOTBI (CPU (h_nbit));
   12617 }
   12618  else if (EQSI (tmp_tmpcond, 7)) {
   12619   tmp_condres = CPU (h_nbit);
   12620 }
   12621  else if (EQSI (tmp_tmpcond, 8)) {
   12622   tmp_condres = ORBI (CPU (h_cbit), CPU (h_zbit));
   12623 }
   12624  else if (EQSI (tmp_tmpcond, 9)) {
   12625   tmp_condres = NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)));
   12626 }
   12627  else if (EQSI (tmp_tmpcond, 10)) {
   12628   tmp_condres = NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)));
   12629 }
   12630  else if (EQSI (tmp_tmpcond, 11)) {
   12631   tmp_condres = XORBI (CPU (h_vbit), CPU (h_nbit));
   12632 }
   12633  else if (EQSI (tmp_tmpcond, 12)) {
   12634   tmp_condres = NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)));
   12635 }
   12636  else if (EQSI (tmp_tmpcond, 13)) {
   12637   tmp_condres = ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit));
   12638 }
   12639  else if (EQSI (tmp_tmpcond, 14)) {
   12640   tmp_condres = 1;
   12641 }
   12642  else if (EQSI (tmp_tmpcond, 15)) {
   12643   tmp_condres = CPU (h_pbit);
   12644 }
   12645 ; tmp_condres; });
   12646 crisv32f_branch_taken (current_cpu, pc, FLD (i_o_word_pcrel), tmp_truthval);
   12647 {
   12648   {
   12649     BI opval = 0;
   12650     CPU (h_xbit) = opval;
   12651     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12652   }
   12653   {
   12654     BI opval = 0;
   12655     SET_H_INSN_PREFIXED_P (opval);
   12656     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12657   }
   12658 }
   12659 if (tmp_truthval) {
   12660 {
   12661   {
   12662     USI opval = FLD (i_o_word_pcrel);
   12663     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12664     written |= (1 << 8);
   12665     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12666   }
   12667 }
   12668 }
   12669 }
   12670 
   12671   abuf->written = written;
   12672   SEM_BRANCH_FINI (vpc);
   12673 #undef FLD
   12674 }
   12675   NEXT (vpc);
   12676 
   12677   CASE (sem, INSN_BA_W) : /* ba ${o-word-pcrel} */
   12678 {
   12679   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12680   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12681 #define FLD(f) abuf->fields.sfmt_bcc_w.f
   12682   int UNUSED written = 0;
   12683   IADDR UNUSED pc = abuf->addr;
   12684   SEM_BRANCH_INIT
   12685   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   12686 
   12687 {
   12688 {
   12689   {
   12690     BI opval = 0;
   12691     CPU (h_xbit) = opval;
   12692     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12693   }
   12694   {
   12695     BI opval = 0;
   12696     SET_H_INSN_PREFIXED_P (opval);
   12697     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12698   }
   12699 }
   12700 {
   12701   {
   12702     USI opval = FLD (i_o_word_pcrel);
   12703     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12704     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12705   }
   12706 }
   12707 }
   12708 
   12709   SEM_BRANCH_FINI (vpc);
   12710 #undef FLD
   12711 }
   12712   NEXT (vpc);
   12713 
   12714   CASE (sem, INSN_JAS_R) : /* jas ${Rs},${Pd} */
   12715 {
   12716   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12717   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12718 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   12719   int UNUSED written = 0;
   12720   IADDR UNUSED pc = abuf->addr;
   12721   SEM_BRANCH_INIT
   12722   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12723 
   12724 {
   12725 {
   12726   {
   12727     BI opval = 0;
   12728     CPU (h_xbit) = opval;
   12729     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12730   }
   12731   {
   12732     BI opval = 0;
   12733     SET_H_INSN_PREFIXED_P (opval);
   12734     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12735   }
   12736 }
   12737 if (ANDIF (EQSI (FLD (f_operand1), 1), EQSI (FLD (f_operand2), 11))) {
   12738 cris_flush_simulator_decode_cache (current_cpu, pc);
   12739 }
   12740 {
   12741 {
   12742   {
   12743     SI opval = ADDSI (pc, 4);
   12744     SET_H_SR (FLD (f_operand2), opval);
   12745     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12746   }
   12747   {
   12748     USI opval = GET_H_GR (FLD (f_operand1));
   12749     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12750     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12751   }
   12752 }
   12753 }
   12754 }
   12755 
   12756   SEM_BRANCH_FINI (vpc);
   12757 #undef FLD
   12758 }
   12759   NEXT (vpc);
   12760 
   12761   CASE (sem, INSN_JAS_C) : /* jas ${const32},${Pd} */
   12762 {
   12763   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12764   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12765 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   12766   int UNUSED written = 0;
   12767   IADDR UNUSED pc = abuf->addr;
   12768   SEM_BRANCH_INIT
   12769   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12770 
   12771 {
   12772 {
   12773   {
   12774     BI opval = 0;
   12775     CPU (h_xbit) = opval;
   12776     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12777   }
   12778   {
   12779     BI opval = 0;
   12780     SET_H_INSN_PREFIXED_P (opval);
   12781     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12782   }
   12783 }
   12784 {
   12785 {
   12786   {
   12787     SI opval = ADDSI (pc, 8);
   12788     SET_H_SR (FLD (f_operand2), opval);
   12789     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12790   }
   12791   {
   12792     USI opval = FLD (f_indir_pc__dword);
   12793     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12794     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12795   }
   12796 }
   12797 }
   12798 }
   12799 
   12800   SEM_BRANCH_FINI (vpc);
   12801 #undef FLD
   12802 }
   12803   NEXT (vpc);
   12804 
   12805   CASE (sem, INSN_JUMP_P) : /* jump ${Ps} */
   12806 {
   12807   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12808   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12809 #define FLD(f) abuf->fields.sfmt_mcp.f
   12810   int UNUSED written = 0;
   12811   IADDR UNUSED pc = abuf->addr;
   12812   SEM_BRANCH_INIT
   12813   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12814 
   12815 {
   12816 {
   12817   {
   12818     BI opval = 0;
   12819     CPU (h_xbit) = opval;
   12820     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12821   }
   12822   {
   12823     BI opval = 0;
   12824     SET_H_INSN_PREFIXED_P (opval);
   12825     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12826   }
   12827 }
   12828 {
   12829   {
   12830     USI opval = GET_H_SR (FLD (f_operand2));
   12831     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12832     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12833   }
   12834 }
   12835 }
   12836 
   12837   SEM_BRANCH_FINI (vpc);
   12838 #undef FLD
   12839 }
   12840   NEXT (vpc);
   12841 
   12842   CASE (sem, INSN_BAS_C) : /* bas ${const32},${Pd} */
   12843 {
   12844   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12845   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12846 #define FLD(f) abuf->fields.sfmt_bas_c.f
   12847   int UNUSED written = 0;
   12848   IADDR UNUSED pc = abuf->addr;
   12849   SEM_BRANCH_INIT
   12850   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12851 
   12852 {
   12853 {
   12854   {
   12855     BI opval = 0;
   12856     CPU (h_xbit) = opval;
   12857     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12858   }
   12859   {
   12860     BI opval = 0;
   12861     SET_H_INSN_PREFIXED_P (opval);
   12862     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12863   }
   12864 }
   12865 {
   12866 {
   12867   {
   12868     SI opval = ADDSI (pc, 8);
   12869     SET_H_SR (FLD (f_operand2), opval);
   12870     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12871   }
   12872   {
   12873     USI opval = FLD (i_const32_pcrel);
   12874     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12875     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12876   }
   12877 }
   12878 }
   12879 }
   12880 
   12881   SEM_BRANCH_FINI (vpc);
   12882 #undef FLD
   12883 }
   12884   NEXT (vpc);
   12885 
   12886   CASE (sem, INSN_JASC_R) : /* jasc ${Rs},${Pd} */
   12887 {
   12888   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12889   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12890 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   12891   int UNUSED written = 0;
   12892   IADDR UNUSED pc = abuf->addr;
   12893   SEM_BRANCH_INIT
   12894   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12895 
   12896 {
   12897 {
   12898   {
   12899     BI opval = 0;
   12900     CPU (h_xbit) = opval;
   12901     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12902   }
   12903   {
   12904     BI opval = 0;
   12905     SET_H_INSN_PREFIXED_P (opval);
   12906     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12907   }
   12908 }
   12909 {
   12910 {
   12911   {
   12912     SI opval = ADDSI (pc, 8);
   12913     SET_H_SR (FLD (f_operand2), opval);
   12914     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12915   }
   12916   {
   12917     USI opval = GET_H_GR (FLD (f_operand1));
   12918     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12919     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12920   }
   12921 }
   12922 }
   12923 }
   12924 
   12925   SEM_BRANCH_FINI (vpc);
   12926 #undef FLD
   12927 }
   12928   NEXT (vpc);
   12929 
   12930   CASE (sem, INSN_JASC_C) : /* jasc ${const32},${Pd} */
   12931 {
   12932   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12933   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12934 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   12935   int UNUSED written = 0;
   12936   IADDR UNUSED pc = abuf->addr;
   12937   SEM_BRANCH_INIT
   12938   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12939 
   12940 {
   12941 {
   12942   {
   12943     BI opval = 0;
   12944     CPU (h_xbit) = opval;
   12945     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12946   }
   12947   {
   12948     BI opval = 0;
   12949     SET_H_INSN_PREFIXED_P (opval);
   12950     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12951   }
   12952 }
   12953 {
   12954 {
   12955   {
   12956     SI opval = ADDSI (pc, 12);
   12957     SET_H_SR (FLD (f_operand2), opval);
   12958     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12959   }
   12960   {
   12961     USI opval = FLD (f_indir_pc__dword);
   12962     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12963     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12964   }
   12965 }
   12966 }
   12967 }
   12968 
   12969   SEM_BRANCH_FINI (vpc);
   12970 #undef FLD
   12971 }
   12972   NEXT (vpc);
   12973 
   12974   CASE (sem, INSN_BASC_C) : /* basc ${const32},${Pd} */
   12975 {
   12976   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12977   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12978 #define FLD(f) abuf->fields.sfmt_bas_c.f
   12979   int UNUSED written = 0;
   12980   IADDR UNUSED pc = abuf->addr;
   12981   SEM_BRANCH_INIT
   12982   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12983 
   12984 {
   12985 {
   12986   {
   12987     BI opval = 0;
   12988     CPU (h_xbit) = opval;
   12989     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12990   }
   12991   {
   12992     BI opval = 0;
   12993     SET_H_INSN_PREFIXED_P (opval);
   12994     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12995   }
   12996 }
   12997 {
   12998 {
   12999   {
   13000     SI opval = ADDSI (pc, 12);
   13001     SET_H_SR (FLD (f_operand2), opval);
   13002     TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   13003   }
   13004   {
   13005     USI opval = FLD (i_const32_pcrel);
   13006     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   13007     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   13008   }
   13009 }
   13010 }
   13011 }
   13012 
   13013   SEM_BRANCH_FINI (vpc);
   13014 #undef FLD
   13015 }
   13016   NEXT (vpc);
   13017 
   13018   CASE (sem, INSN_BREAK) : /* break $n */
   13019 {
   13020   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13021   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13022 #define FLD(f) abuf->fields.sfmt_break.f
   13023   int UNUSED written = 0;
   13024   IADDR UNUSED pc = abuf->addr;
   13025   SEM_BRANCH_INIT
   13026   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13027 
   13028 {
   13029 {
   13030   {
   13031     BI opval = 0;
   13032     CPU (h_xbit) = opval;
   13033     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13034   }
   13035   {
   13036     BI opval = 0;
   13037     SET_H_INSN_PREFIXED_P (opval);
   13038     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13039   }
   13040 }
   13041   {
   13042     USI opval = crisv32f_break_handler (current_cpu, FLD (f_u4), pc);
   13043     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   13044     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   13045   }
   13046 }
   13047 
   13048   SEM_BRANCH_FINI (vpc);
   13049 #undef FLD
   13050 }
   13051   NEXT (vpc);
   13052 
   13053   CASE (sem, INSN_BOUND_R_B_R) : /* bound-r.b ${Rs},${Rd} */
   13054 {
   13055   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13056   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13057 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13058   int UNUSED written = 0;
   13059   IADDR UNUSED pc = abuf->addr;
   13060   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13061 
   13062 {
   13063   SI tmp_tmpopd;
   13064   SI tmp_tmpops;
   13065   SI tmp_newval;
   13066   tmp_tmpops = ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   13067   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13068   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13069   {
   13070     SI opval = tmp_newval;
   13071     SET_H_GR (FLD (f_operand2), opval);
   13072     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13073   }
   13074 {
   13075   {
   13076     BI opval = LTSI (tmp_newval, 0);
   13077     CPU (h_nbit) = opval;
   13078     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13079   }
   13080   {
   13081     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13082     CPU (h_zbit) = opval;
   13083     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13084   }
   13085 SET_H_CBIT_MOVE (0);
   13086 SET_H_VBIT_MOVE (0);
   13087 {
   13088   {
   13089     BI opval = 0;
   13090     CPU (h_xbit) = opval;
   13091     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13092   }
   13093   {
   13094     BI opval = 0;
   13095     SET_H_INSN_PREFIXED_P (opval);
   13096     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13097   }
   13098 }
   13099 }
   13100 }
   13101 
   13102 #undef FLD
   13103 }
   13104   NEXT (vpc);
   13105 
   13106   CASE (sem, INSN_BOUND_R_W_R) : /* bound-r.w ${Rs},${Rd} */
   13107 {
   13108   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13109   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13110 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13111   int UNUSED written = 0;
   13112   IADDR UNUSED pc = abuf->addr;
   13113   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13114 
   13115 {
   13116   SI tmp_tmpopd;
   13117   SI tmp_tmpops;
   13118   SI tmp_newval;
   13119   tmp_tmpops = ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   13120   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13121   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13122   {
   13123     SI opval = tmp_newval;
   13124     SET_H_GR (FLD (f_operand2), opval);
   13125     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13126   }
   13127 {
   13128   {
   13129     BI opval = LTSI (tmp_newval, 0);
   13130     CPU (h_nbit) = opval;
   13131     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13132   }
   13133   {
   13134     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13135     CPU (h_zbit) = opval;
   13136     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13137   }
   13138 SET_H_CBIT_MOVE (0);
   13139 SET_H_VBIT_MOVE (0);
   13140 {
   13141   {
   13142     BI opval = 0;
   13143     CPU (h_xbit) = opval;
   13144     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13145   }
   13146   {
   13147     BI opval = 0;
   13148     SET_H_INSN_PREFIXED_P (opval);
   13149     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13150   }
   13151 }
   13152 }
   13153 }
   13154 
   13155 #undef FLD
   13156 }
   13157   NEXT (vpc);
   13158 
   13159   CASE (sem, INSN_BOUND_R_D_R) : /* bound-r.d ${Rs},${Rd} */
   13160 {
   13161   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13162   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13163 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13164   int UNUSED written = 0;
   13165   IADDR UNUSED pc = abuf->addr;
   13166   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13167 
   13168 {
   13169   SI tmp_tmpopd;
   13170   SI tmp_tmpops;
   13171   SI tmp_newval;
   13172   tmp_tmpops = TRUNCSISI (GET_H_GR (FLD (f_operand1)));
   13173   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13174   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13175   {
   13176     SI opval = tmp_newval;
   13177     SET_H_GR (FLD (f_operand2), opval);
   13178     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13179   }
   13180 {
   13181   {
   13182     BI opval = LTSI (tmp_newval, 0);
   13183     CPU (h_nbit) = opval;
   13184     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13185   }
   13186   {
   13187     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13188     CPU (h_zbit) = opval;
   13189     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13190   }
   13191 SET_H_CBIT_MOVE (0);
   13192 SET_H_VBIT_MOVE (0);
   13193 {
   13194   {
   13195     BI opval = 0;
   13196     CPU (h_xbit) = opval;
   13197     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13198   }
   13199   {
   13200     BI opval = 0;
   13201     SET_H_INSN_PREFIXED_P (opval);
   13202     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13203   }
   13204 }
   13205 }
   13206 }
   13207 
   13208 #undef FLD
   13209 }
   13210   NEXT (vpc);
   13211 
   13212   CASE (sem, INSN_BOUND_CB) : /* bound.b [PC+],${Rd} */
   13213 {
   13214   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13215   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13216 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   13217   int UNUSED written = 0;
   13218   IADDR UNUSED pc = abuf->addr;
   13219   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13220 
   13221 {
   13222   SI tmp_tmpopd;
   13223   SI tmp_tmpops;
   13224   SI tmp_newval;
   13225   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   13226   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13227   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13228   {
   13229     SI opval = tmp_newval;
   13230     SET_H_GR (FLD (f_operand2), opval);
   13231     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13232   }
   13233 {
   13234   {
   13235     BI opval = LTSI (tmp_newval, 0);
   13236     CPU (h_nbit) = opval;
   13237     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13238   }
   13239   {
   13240     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13241     CPU (h_zbit) = opval;
   13242     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13243   }
   13244 SET_H_CBIT_MOVE (0);
   13245 SET_H_VBIT_MOVE (0);
   13246 {
   13247   {
   13248     BI opval = 0;
   13249     CPU (h_xbit) = opval;
   13250     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13251   }
   13252   {
   13253     BI opval = 0;
   13254     SET_H_INSN_PREFIXED_P (opval);
   13255     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13256   }
   13257 }
   13258 }
   13259 }
   13260 
   13261 #undef FLD
   13262 }
   13263   NEXT (vpc);
   13264 
   13265   CASE (sem, INSN_BOUND_CW) : /* bound.w [PC+],${Rd} */
   13266 {
   13267   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13268   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13269 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   13270   int UNUSED written = 0;
   13271   IADDR UNUSED pc = abuf->addr;
   13272   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13273 
   13274 {
   13275   SI tmp_tmpopd;
   13276   SI tmp_tmpops;
   13277   SI tmp_newval;
   13278   tmp_tmpops = ZEXTSISI (FLD (f_indir_pc__word));
   13279   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13280   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13281   {
   13282     SI opval = tmp_newval;
   13283     SET_H_GR (FLD (f_operand2), opval);
   13284     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13285   }
   13286 {
   13287   {
   13288     BI opval = LTSI (tmp_newval, 0);
   13289     CPU (h_nbit) = opval;
   13290     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13291   }
   13292   {
   13293     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13294     CPU (h_zbit) = opval;
   13295     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13296   }
   13297 SET_H_CBIT_MOVE (0);
   13298 SET_H_VBIT_MOVE (0);
   13299 {
   13300   {
   13301     BI opval = 0;
   13302     CPU (h_xbit) = opval;
   13303     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13304   }
   13305   {
   13306     BI opval = 0;
   13307     SET_H_INSN_PREFIXED_P (opval);
   13308     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13309   }
   13310 }
   13311 }
   13312 }
   13313 
   13314 #undef FLD
   13315 }
   13316   NEXT (vpc);
   13317 
   13318   CASE (sem, INSN_BOUND_CD) : /* bound.d [PC+],${Rd} */
   13319 {
   13320   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13321   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13322 #define FLD(f) abuf->fields.sfmt_bound_cd.f
   13323   int UNUSED written = 0;
   13324   IADDR UNUSED pc = abuf->addr;
   13325   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   13326 
   13327 {
   13328   SI tmp_tmpopd;
   13329   SI tmp_tmpops;
   13330   SI tmp_newval;
   13331   tmp_tmpops = FLD (f_indir_pc__dword);
   13332   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13333   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13334   {
   13335     SI opval = tmp_newval;
   13336     SET_H_GR (FLD (f_operand2), opval);
   13337     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13338   }
   13339 {
   13340   {
   13341     BI opval = LTSI (tmp_newval, 0);
   13342     CPU (h_nbit) = opval;
   13343     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13344   }
   13345   {
   13346     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13347     CPU (h_zbit) = opval;
   13348     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13349   }
   13350 SET_H_CBIT_MOVE (0);
   13351 SET_H_VBIT_MOVE (0);
   13352 {
   13353   {
   13354     BI opval = 0;
   13355     CPU (h_xbit) = opval;
   13356     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13357   }
   13358   {
   13359     BI opval = 0;
   13360     SET_H_INSN_PREFIXED_P (opval);
   13361     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13362   }
   13363 }
   13364 }
   13365 }
   13366 
   13367 #undef FLD
   13368 }
   13369   NEXT (vpc);
   13370 
   13371   CASE (sem, INSN_SCC) : /* s${cc} ${Rd-sfield} */
   13372 {
   13373   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13374   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13375 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   13376   int UNUSED written = 0;
   13377   IADDR UNUSED pc = abuf->addr;
   13378   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13379 
   13380 {
   13381   BI tmp_truthval;
   13382   tmp_truthval = ({   SI tmp_tmpcond;
   13383   BI tmp_condres;
   13384   tmp_tmpcond = FLD (f_operand2);
   13385 ; if (EQSI (tmp_tmpcond, 0)) {
   13386   tmp_condres = NOTBI (CPU (h_cbit));
   13387 }
   13388  else if (EQSI (tmp_tmpcond, 1)) {
   13389   tmp_condres = CPU (h_cbit);
   13390 }
   13391  else if (EQSI (tmp_tmpcond, 2)) {
   13392   tmp_condres = NOTBI (CPU (h_zbit));
   13393 }
   13394  else if (EQSI (tmp_tmpcond, 3)) {
   13395   tmp_condres = CPU (h_zbit);
   13396 }
   13397  else if (EQSI (tmp_tmpcond, 4)) {
   13398   tmp_condres = NOTBI (CPU (h_vbit));
   13399 }
   13400  else if (EQSI (tmp_tmpcond, 5)) {
   13401   tmp_condres = CPU (h_vbit);
   13402 }
   13403  else if (EQSI (tmp_tmpcond, 6)) {
   13404   tmp_condres = NOTBI (CPU (h_nbit));
   13405 }
   13406  else if (EQSI (tmp_tmpcond, 7)) {
   13407   tmp_condres = CPU (h_nbit);
   13408 }
   13409  else if (EQSI (tmp_tmpcond, 8)) {
   13410   tmp_condres = ORBI (CPU (h_cbit), CPU (h_zbit));
   13411 }
   13412  else if (EQSI (tmp_tmpcond, 9)) {
   13413   tmp_condres = NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)));
   13414 }
   13415  else if (EQSI (tmp_tmpcond, 10)) {
   13416   tmp_condres = NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)));
   13417 }
   13418  else if (EQSI (tmp_tmpcond, 11)) {
   13419   tmp_condres = XORBI (CPU (h_vbit), CPU (h_nbit));
   13420 }
   13421  else if (EQSI (tmp_tmpcond, 12)) {
   13422   tmp_condres = NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)));
   13423 }
   13424  else if (EQSI (tmp_tmpcond, 13)) {
   13425   tmp_condres = ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit));
   13426 }
   13427  else if (EQSI (tmp_tmpcond, 14)) {
   13428   tmp_condres = 1;
   13429 }
   13430  else if (EQSI (tmp_tmpcond, 15)) {
   13431   tmp_condres = CPU (h_pbit);
   13432 }
   13433 ; tmp_condres; });
   13434   {
   13435     SI opval = ZEXTBISI (tmp_truthval);
   13436     SET_H_GR (FLD (f_operand1), opval);
   13437     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13438   }
   13439 {
   13440   {
   13441     BI opval = 0;
   13442     CPU (h_xbit) = opval;
   13443     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13444   }
   13445   {
   13446     BI opval = 0;
   13447     SET_H_INSN_PREFIXED_P (opval);
   13448     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13449   }
   13450 }
   13451 }
   13452 
   13453 #undef FLD
   13454 }
   13455   NEXT (vpc);
   13456 
   13457   CASE (sem, INSN_LZ) : /* lz ${Rs},${Rd} */
   13458 {
   13459   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13460   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13461 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13462   int UNUSED written = 0;
   13463   IADDR UNUSED pc = abuf->addr;
   13464   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13465 
   13466 {
   13467   SI tmp_tmpd;
   13468   SI tmp_tmp;
   13469   tmp_tmp = GET_H_GR (FLD (f_operand1));
   13470   tmp_tmpd = 0;
   13471 {
   13472 if (GESI (tmp_tmp, 0)) {
   13473 {
   13474   tmp_tmp = SLLSI (tmp_tmp, 1);
   13475   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13476 }
   13477 }
   13478 if (GESI (tmp_tmp, 0)) {
   13479 {
   13480   tmp_tmp = SLLSI (tmp_tmp, 1);
   13481   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13482 }
   13483 }
   13484 if (GESI (tmp_tmp, 0)) {
   13485 {
   13486   tmp_tmp = SLLSI (tmp_tmp, 1);
   13487   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13488 }
   13489 }
   13490 if (GESI (tmp_tmp, 0)) {
   13491 {
   13492   tmp_tmp = SLLSI (tmp_tmp, 1);
   13493   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13494 }
   13495 }
   13496 if (GESI (tmp_tmp, 0)) {
   13497 {
   13498   tmp_tmp = SLLSI (tmp_tmp, 1);
   13499   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13500 }
   13501 }
   13502 if (GESI (tmp_tmp, 0)) {
   13503 {
   13504   tmp_tmp = SLLSI (tmp_tmp, 1);
   13505   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13506 }
   13507 }
   13508 if (GESI (tmp_tmp, 0)) {
   13509 {
   13510   tmp_tmp = SLLSI (tmp_tmp, 1);
   13511   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13512 }
   13513 }
   13514 if (GESI (tmp_tmp, 0)) {
   13515 {
   13516   tmp_tmp = SLLSI (tmp_tmp, 1);
   13517   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13518 }
   13519 }
   13520 if (GESI (tmp_tmp, 0)) {
   13521 {
   13522   tmp_tmp = SLLSI (tmp_tmp, 1);
   13523   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13524 }
   13525 }
   13526 if (GESI (tmp_tmp, 0)) {
   13527 {
   13528   tmp_tmp = SLLSI (tmp_tmp, 1);
   13529   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13530 }
   13531 }
   13532 if (GESI (tmp_tmp, 0)) {
   13533 {
   13534   tmp_tmp = SLLSI (tmp_tmp, 1);
   13535   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13536 }
   13537 }
   13538 if (GESI (tmp_tmp, 0)) {
   13539 {
   13540   tmp_tmp = SLLSI (tmp_tmp, 1);
   13541   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13542 }
   13543 }
   13544 if (GESI (tmp_tmp, 0)) {
   13545 {
   13546   tmp_tmp = SLLSI (tmp_tmp, 1);
   13547   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13548 }
   13549 }
   13550 if (GESI (tmp_tmp, 0)) {
   13551 {
   13552   tmp_tmp = SLLSI (tmp_tmp, 1);
   13553   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13554 }
   13555 }
   13556 if (GESI (tmp_tmp, 0)) {
   13557 {
   13558   tmp_tmp = SLLSI (tmp_tmp, 1);
   13559   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13560 }
   13561 }
   13562 if (GESI (tmp_tmp, 0)) {
   13563 {
   13564   tmp_tmp = SLLSI (tmp_tmp, 1);
   13565   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13566 }
   13567 }
   13568 if (GESI (tmp_tmp, 0)) {
   13569 {
   13570   tmp_tmp = SLLSI (tmp_tmp, 1);
   13571   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13572 }
   13573 }
   13574 if (GESI (tmp_tmp, 0)) {
   13575 {
   13576   tmp_tmp = SLLSI (tmp_tmp, 1);
   13577   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13578 }
   13579 }
   13580 if (GESI (tmp_tmp, 0)) {
   13581 {
   13582   tmp_tmp = SLLSI (tmp_tmp, 1);
   13583   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13584 }
   13585 }
   13586 if (GESI (tmp_tmp, 0)) {
   13587 {
   13588   tmp_tmp = SLLSI (tmp_tmp, 1);
   13589   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13590 }
   13591 }
   13592 if (GESI (tmp_tmp, 0)) {
   13593 {
   13594   tmp_tmp = SLLSI (tmp_tmp, 1);
   13595   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13596 }
   13597 }
   13598 if (GESI (tmp_tmp, 0)) {
   13599 {
   13600   tmp_tmp = SLLSI (tmp_tmp, 1);
   13601   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13602 }
   13603 }
   13604 if (GESI (tmp_tmp, 0)) {
   13605 {
   13606   tmp_tmp = SLLSI (tmp_tmp, 1);
   13607   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13608 }
   13609 }
   13610 if (GESI (tmp_tmp, 0)) {
   13611 {
   13612   tmp_tmp = SLLSI (tmp_tmp, 1);
   13613   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13614 }
   13615 }
   13616 if (GESI (tmp_tmp, 0)) {
   13617 {
   13618   tmp_tmp = SLLSI (tmp_tmp, 1);
   13619   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13620 }
   13621 }
   13622 if (GESI (tmp_tmp, 0)) {
   13623 {
   13624   tmp_tmp = SLLSI (tmp_tmp, 1);
   13625   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13626 }
   13627 }
   13628 if (GESI (tmp_tmp, 0)) {
   13629 {
   13630   tmp_tmp = SLLSI (tmp_tmp, 1);
   13631   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13632 }
   13633 }
   13634 if (GESI (tmp_tmp, 0)) {
   13635 {
   13636   tmp_tmp = SLLSI (tmp_tmp, 1);
   13637   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13638 }
   13639 }
   13640 if (GESI (tmp_tmp, 0)) {
   13641 {
   13642   tmp_tmp = SLLSI (tmp_tmp, 1);
   13643   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13644 }
   13645 }
   13646 if (GESI (tmp_tmp, 0)) {
   13647 {
   13648   tmp_tmp = SLLSI (tmp_tmp, 1);
   13649   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13650 }
   13651 }
   13652 if (GESI (tmp_tmp, 0)) {
   13653 {
   13654   tmp_tmp = SLLSI (tmp_tmp, 1);
   13655   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13656 }
   13657 }
   13658 if (GESI (tmp_tmp, 0)) {
   13659 {
   13660   tmp_tmp = SLLSI (tmp_tmp, 1);
   13661   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13662 }
   13663 }
   13664 }
   13665   {
   13666     SI opval = tmp_tmpd;
   13667     SET_H_GR (FLD (f_operand2), opval);
   13668     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13669   }
   13670 {
   13671   {
   13672     BI opval = LTSI (tmp_tmpd, 0);
   13673     CPU (h_nbit) = opval;
   13674     TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13675   }
   13676   {
   13677     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13678     CPU (h_zbit) = opval;
   13679     TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13680   }
   13681 SET_H_CBIT_MOVE (0);
   13682 SET_H_VBIT_MOVE (0);
   13683 {
   13684   {
   13685     BI opval = 0;
   13686     CPU (h_xbit) = opval;
   13687     TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13688   }
   13689   {
   13690     BI opval = 0;
   13691     SET_H_INSN_PREFIXED_P (opval);
   13692     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13693   }
   13694 }
   13695 }
   13696 }
   13697 
   13698 #undef FLD
   13699 }
   13700   NEXT (vpc);
   13701 
   13702   CASE (sem, INSN_ADDOQ) : /* addoq $o,$Rs,ACR */
   13703 {
   13704   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13705   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13706 #define FLD(f) abuf->fields.sfmt_addoq.f
   13707   int UNUSED written = 0;
   13708   IADDR UNUSED pc = abuf->addr;
   13709   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13710 
   13711 {
   13712   {
   13713     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_s8));
   13714     SET_H_PREFIXREG_V32 (opval);
   13715     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13716   }
   13717   {
   13718     BI opval = 1;
   13719     SET_H_INSN_PREFIXED_P (opval);
   13720     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13721   }
   13722 }
   13723 
   13724 #undef FLD
   13725 }
   13726   NEXT (vpc);
   13727 
   13728   CASE (sem, INSN_ADDO_M_B_M) : /* addo-m.b [${Rs}${inc}],$Rd,ACR */
   13729 {
   13730   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13731   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13732 #define FLD(f) abuf->fields.sfmt_addc_m.f
   13733   int UNUSED written = 0;
   13734   IADDR UNUSED pc = abuf->addr;
   13735   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13736 
   13737 {
   13738   QI tmp_tmps;
   13739   tmp_tmps = ({   SI tmp_addr;
   13740   QI tmp_tmp_mem;
   13741   BI tmp_postinc;
   13742   tmp_postinc = FLD (f_memmode);
   13743 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   13744 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   13745 ; if (NEBI (tmp_postinc, 0)) {
   13746 {
   13747 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   13748   tmp_addr = ADDSI (tmp_addr, 1);
   13749 }
   13750   {
   13751     SI opval = tmp_addr;
   13752     SET_H_GR (FLD (f_operand1), opval);
   13753     written |= (1 << 6);
   13754     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13755   }
   13756 }
   13757 }
   13758 ; tmp_tmp_mem; });
   13759   {
   13760     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (tmp_tmps));
   13761     SET_H_PREFIXREG_V32 (opval);
   13762     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13763   }
   13764   {
   13765     BI opval = 1;
   13766     SET_H_INSN_PREFIXED_P (opval);
   13767     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13768   }
   13769 }
   13770 
   13771   abuf->written = written;
   13772 #undef FLD
   13773 }
   13774   NEXT (vpc);
   13775 
   13776   CASE (sem, INSN_ADDO_M_W_M) : /* addo-m.w [${Rs}${inc}],$Rd,ACR */
   13777 {
   13778   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13779   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13780 #define FLD(f) abuf->fields.sfmt_addc_m.f
   13781   int UNUSED written = 0;
   13782   IADDR UNUSED pc = abuf->addr;
   13783   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13784 
   13785 {
   13786   HI tmp_tmps;
   13787   tmp_tmps = ({   SI tmp_addr;
   13788   HI tmp_tmp_mem;
   13789   BI tmp_postinc;
   13790   tmp_postinc = FLD (f_memmode);
   13791 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   13792 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   13793 ; if (NEBI (tmp_postinc, 0)) {
   13794 {
   13795 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   13796   tmp_addr = ADDSI (tmp_addr, 2);
   13797 }
   13798   {
   13799     SI opval = tmp_addr;
   13800     SET_H_GR (FLD (f_operand1), opval);
   13801     written |= (1 << 6);
   13802     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13803   }
   13804 }
   13805 }
   13806 ; tmp_tmp_mem; });
   13807   {
   13808     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (tmp_tmps));
   13809     SET_H_PREFIXREG_V32 (opval);
   13810     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13811   }
   13812   {
   13813     BI opval = 1;
   13814     SET_H_INSN_PREFIXED_P (opval);
   13815     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13816   }
   13817 }
   13818 
   13819   abuf->written = written;
   13820 #undef FLD
   13821 }
   13822   NEXT (vpc);
   13823 
   13824   CASE (sem, INSN_ADDO_M_D_M) : /* addo-m.d [${Rs}${inc}],$Rd,ACR */
   13825 {
   13826   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13827   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13828 #define FLD(f) abuf->fields.sfmt_addc_m.f
   13829   int UNUSED written = 0;
   13830   IADDR UNUSED pc = abuf->addr;
   13831   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13832 
   13833 {
   13834   SI tmp_tmps;
   13835   tmp_tmps = ({   SI tmp_addr;
   13836   SI tmp_tmp_mem;
   13837   BI tmp_postinc;
   13838   tmp_postinc = FLD (f_memmode);
   13839 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   13840 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   13841 ; if (NEBI (tmp_postinc, 0)) {
   13842 {
   13843 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   13844   tmp_addr = ADDSI (tmp_addr, 4);
   13845 }
   13846   {
   13847     SI opval = tmp_addr;
   13848     SET_H_GR (FLD (f_operand1), opval);
   13849     written |= (1 << 6);
   13850     TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13851   }
   13852 }
   13853 }
   13854 ; tmp_tmp_mem; });
   13855   {
   13856     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), tmp_tmps);
   13857     SET_H_PREFIXREG_V32 (opval);
   13858     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13859   }
   13860   {
   13861     BI opval = 1;
   13862     SET_H_INSN_PREFIXED_P (opval);
   13863     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13864   }
   13865 }
   13866 
   13867   abuf->written = written;
   13868 #undef FLD
   13869 }
   13870   NEXT (vpc);
   13871 
   13872   CASE (sem, INSN_ADDO_CB) : /* addo.b [PC+],$Rd,ACR */
   13873 {
   13874   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13875   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13876 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   13877   int UNUSED written = 0;
   13878   IADDR UNUSED pc = abuf->addr;
   13879   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13880 
   13881 {
   13882   {
   13883     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte))));
   13884     SET_H_PREFIXREG_V32 (opval);
   13885     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13886   }
   13887   {
   13888     BI opval = 1;
   13889     SET_H_INSN_PREFIXED_P (opval);
   13890     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13891   }
   13892 }
   13893 
   13894 #undef FLD
   13895 }
   13896   NEXT (vpc);
   13897 
   13898   CASE (sem, INSN_ADDO_CW) : /* addo.w [PC+],$Rd,ACR */
   13899 {
   13900   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13901   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13902 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   13903   int UNUSED written = 0;
   13904   IADDR UNUSED pc = abuf->addr;
   13905   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13906 
   13907 {
   13908   {
   13909     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word))));
   13910     SET_H_PREFIXREG_V32 (opval);
   13911     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13912   }
   13913   {
   13914     BI opval = 1;
   13915     SET_H_INSN_PREFIXED_P (opval);
   13916     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13917   }
   13918 }
   13919 
   13920 #undef FLD
   13921 }
   13922   NEXT (vpc);
   13923 
   13924   CASE (sem, INSN_ADDO_CD) : /* addo.d [PC+],$Rd,ACR */
   13925 {
   13926   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13927   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13928 #define FLD(f) abuf->fields.sfmt_bound_cd.f
   13929   int UNUSED written = 0;
   13930   IADDR UNUSED pc = abuf->addr;
   13931   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   13932 
   13933 {
   13934   {
   13935     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
   13936     SET_H_PREFIXREG_V32 (opval);
   13937     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13938   }
   13939   {
   13940     BI opval = 1;
   13941     SET_H_INSN_PREFIXED_P (opval);
   13942     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13943   }
   13944 }
   13945 
   13946 #undef FLD
   13947 }
   13948   NEXT (vpc);
   13949 
   13950   CASE (sem, INSN_ADDI_ACR_B_R) : /* addi-acr.b ${Rs-dfield}.m,${Rd-sfield},ACR */
   13951 {
   13952   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13953   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13954 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13955   int UNUSED written = 0;
   13956   IADDR UNUSED pc = abuf->addr;
   13957   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13958 
   13959 {
   13960   {
   13961     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
   13962     SET_H_PREFIXREG_V32 (opval);
   13963     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13964   }
   13965   {
   13966     BI opval = 1;
   13967     SET_H_INSN_PREFIXED_P (opval);
   13968     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13969   }
   13970 }
   13971 
   13972 #undef FLD
   13973 }
   13974   NEXT (vpc);
   13975 
   13976   CASE (sem, INSN_ADDI_ACR_W_R) : /* addi-acr.w ${Rs-dfield}.m,${Rd-sfield},ACR */
   13977 {
   13978   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13979   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13980 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13981   int UNUSED written = 0;
   13982   IADDR UNUSED pc = abuf->addr;
   13983   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13984 
   13985 {
   13986   {
   13987     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
   13988     SET_H_PREFIXREG_V32 (opval);
   13989     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13990   }
   13991   {
   13992     BI opval = 1;
   13993     SET_H_INSN_PREFIXED_P (opval);
   13994     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13995   }
   13996 }
   13997 
   13998 #undef FLD
   13999 }
   14000   NEXT (vpc);
   14001 
   14002   CASE (sem, INSN_ADDI_ACR_D_R) : /* addi-acr.d ${Rs-dfield}.m,${Rd-sfield},ACR */
   14003 {
   14004   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14005   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14006 #define FLD(f) abuf->fields.sfmt_muls_b.f
   14007   int UNUSED written = 0;
   14008   IADDR UNUSED pc = abuf->addr;
   14009   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14010 
   14011 {
   14012   {
   14013     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
   14014     SET_H_PREFIXREG_V32 (opval);
   14015     TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   14016   }
   14017   {
   14018     BI opval = 1;
   14019     SET_H_INSN_PREFIXED_P (opval);
   14020     TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   14021   }
   14022 }
   14023 
   14024 #undef FLD
   14025 }
   14026   NEXT (vpc);
   14027 
   14028   CASE (sem, INSN_FIDXI) : /* fidxi [$Rs] */
   14029 {
   14030   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14031   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14032 #define FLD(f) abuf->fields.sfmt_mcp.f
   14033   int UNUSED written = 0;
   14034   IADDR UNUSED pc = abuf->addr;
   14035   SEM_BRANCH_INIT
   14036   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14037 
   14038   {
   14039     USI opval = crisv32f_fidxi_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14040     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14041     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14042   }
   14043 
   14044   SEM_BRANCH_FINI (vpc);
   14045 #undef FLD
   14046 }
   14047   NEXT (vpc);
   14048 
   14049   CASE (sem, INSN_FTAGI) : /* fidxi [$Rs] */
   14050 {
   14051   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14052   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14053 #define FLD(f) abuf->fields.sfmt_mcp.f
   14054   int UNUSED written = 0;
   14055   IADDR UNUSED pc = abuf->addr;
   14056   SEM_BRANCH_INIT
   14057   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14058 
   14059   {
   14060     USI opval = crisv32f_ftagi_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14061     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14062     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14063   }
   14064 
   14065   SEM_BRANCH_FINI (vpc);
   14066 #undef FLD
   14067 }
   14068   NEXT (vpc);
   14069 
   14070   CASE (sem, INSN_FIDXD) : /* fidxd [$Rs] */
   14071 {
   14072   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14073   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14074 #define FLD(f) abuf->fields.sfmt_mcp.f
   14075   int UNUSED written = 0;
   14076   IADDR UNUSED pc = abuf->addr;
   14077   SEM_BRANCH_INIT
   14078   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14079 
   14080   {
   14081     USI opval = crisv32f_fidxd_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14082     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14083     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14084   }
   14085 
   14086   SEM_BRANCH_FINI (vpc);
   14087 #undef FLD
   14088 }
   14089   NEXT (vpc);
   14090 
   14091   CASE (sem, INSN_FTAGD) : /* ftagd [$Rs] */
   14092 {
   14093   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14094   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14095 #define FLD(f) abuf->fields.sfmt_mcp.f
   14096   int UNUSED written = 0;
   14097   IADDR UNUSED pc = abuf->addr;
   14098   SEM_BRANCH_INIT
   14099   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14100 
   14101   {
   14102     USI opval = crisv32f_ftagd_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14103     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14104     TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14105   }
   14106 
   14107   SEM_BRANCH_FINI (vpc);
   14108 #undef FLD
   14109 }
   14110   NEXT (vpc);
   14111 
   14112 
   14113     }
   14114   ENDSWITCH (sem) /* End of semantic switch.  */
   14115 
   14116   /* At this point `vpc' contains the next insn to execute.  */
   14117 }
   14118 
   14119 #undef DEFINE_SWITCH
   14120 #endif /* DEFINE_SWITCH */
   14121