Home | History | Annotate | Line # | Download | only in cris
semcrisv32f-switch.c revision 1.1.1.10.2.1
      1 /* Simulator instruction semantics for crisv32f.
      2 
      3 THIS FILE IS MACHINE GENERATED WITH CGEN.
      4 
      5 Copyright (C) 1996-2024 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 CGEN_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 CGEN_TRACE_RESULT
    274 #define CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    486   }
    487   {
    488     BI opval = 0;
    489     SET_H_INSN_PREFIXED_P (opval);
    490     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    539   }
    540   {
    541     BI opval = 0;
    542     SET_H_INSN_PREFIXED_P (opval);
    543     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    569   }
    570 {
    571   {
    572     BI opval = LTSI (tmp_newval, 0);
    573     CPU (h_nbit) = opval;
    574     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    588   }
    589   {
    590     BI opval = 0;
    591     SET_H_INSN_PREFIXED_P (opval);
    592     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    629   }
    630   {
    631     BI opval = 0;
    632     SET_H_INSN_PREFIXED_P (opval);
    633     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    661   }
    662 {
    663   {
    664     BI opval = LTSI (tmp_newval, 0);
    665     CPU (h_nbit) = opval;
    666     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    680   }
    681   {
    682     BI opval = 0;
    683     SET_H_INSN_PREFIXED_P (opval);
    684     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    712   }
    713 {
    714   {
    715     BI opval = LTSI (tmp_newval, 0);
    716     CPU (h_nbit) = opval;
    717     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    731   }
    732   {
    733     BI opval = 0;
    734     SET_H_INSN_PREFIXED_P (opval);
    735     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    763   }
    764 {
    765   {
    766     BI opval = LTSI (tmp_newval, 0);
    767     CPU (h_nbit) = opval;
    768     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    782   }
    783   {
    784     BI opval = 0;
    785     SET_H_INSN_PREFIXED_P (opval);
    786     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    814   }
    815 {
    816   {
    817     BI opval = LTSI (tmp_newval, 0);
    818     CPU (h_nbit) = opval;
    819     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    833   }
    834   {
    835     BI opval = 0;
    836     SET_H_INSN_PREFIXED_P (opval);
    837     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    886   }
    887   {
    888     BI opval = 0;
    889     SET_H_INSN_PREFIXED_P (opval);
    890     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    939   }
    940   {
    941     BI opval = 0;
    942     SET_H_INSN_PREFIXED_P (opval);
    943     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
    969   }
    970 {
    971   {
    972     BI opval = LTSI (tmp_newval, 0);
    973     CPU (h_nbit) = opval;
    974     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
    988   }
    989   {
    990     BI opval = 0;
    991     SET_H_INSN_PREFIXED_P (opval);
    992     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1018   }
   1019 {
   1020   {
   1021     BI opval = LTSI (tmp_newval, 0);
   1022     CPU (h_nbit) = opval;
   1023     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1037   }
   1038   {
   1039     BI opval = 0;
   1040     SET_H_INSN_PREFIXED_P (opval);
   1041     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1067   }
   1068 {
   1069   {
   1070     BI opval = LTSI (tmp_newval, 0);
   1071     CPU (h_nbit) = opval;
   1072     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1086   }
   1087   {
   1088     BI opval = 0;
   1089     SET_H_INSN_PREFIXED_P (opval);
   1090     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1116   }
   1117 {
   1118   {
   1119     BI opval = LTSI (tmp_newval, 0);
   1120     CPU (h_nbit) = opval;
   1121     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1135   }
   1136   {
   1137     BI opval = 0;
   1138     SET_H_INSN_PREFIXED_P (opval);
   1139     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   1165   }
   1166 {
   1167   {
   1168     BI opval = LTSI (tmp_newval, 0);
   1169     CPU (h_nbit) = opval;
   1170     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1184   }
   1185   {
   1186     BI opval = 0;
   1187     SET_H_INSN_PREFIXED_P (opval);
   1188     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1226   }
   1227   {
   1228     BI opval = LTSI (tmp_newval, 0);
   1229     CPU (h_nbit) = opval;
   1230     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1241   }
   1242 {
   1243   {
   1244     BI opval = 0;
   1245     CPU (h_xbit) = opval;
   1246     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1247   }
   1248   {
   1249     BI opval = 0;
   1250     SET_H_INSN_PREFIXED_P (opval);
   1251     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1289   }
   1290   {
   1291     BI opval = LTSI (tmp_newval, 0);
   1292     CPU (h_nbit) = opval;
   1293     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1304   }
   1305 {
   1306   {
   1307     BI opval = 0;
   1308     CPU (h_xbit) = opval;
   1309     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1310   }
   1311   {
   1312     BI opval = 0;
   1313     SET_H_INSN_PREFIXED_P (opval);
   1314     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1348   }
   1349   {
   1350     BI opval = LTQI (tmp_newval, 0);
   1351     CPU (h_nbit) = opval;
   1352     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1363   }
   1364 {
   1365   {
   1366     BI opval = 0;
   1367     CPU (h_xbit) = opval;
   1368     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1369   }
   1370   {
   1371     BI opval = 0;
   1372     SET_H_INSN_PREFIXED_P (opval);
   1373     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1407   }
   1408   {
   1409     BI opval = LTHI (tmp_newval, 0);
   1410     CPU (h_nbit) = opval;
   1411     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1422   }
   1423 {
   1424   {
   1425     BI opval = 0;
   1426     CPU (h_xbit) = opval;
   1427     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1428   }
   1429   {
   1430     BI opval = 0;
   1431     SET_H_INSN_PREFIXED_P (opval);
   1432     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1466   }
   1467   {
   1468     BI opval = LTSI (tmp_newval, 0);
   1469     CPU (h_nbit) = opval;
   1470     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1481   }
   1482 {
   1483   {
   1484     BI opval = 0;
   1485     CPU (h_xbit) = opval;
   1486     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1487   }
   1488   {
   1489     BI opval = 0;
   1490     SET_H_INSN_PREFIXED_P (opval);
   1491     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1544   }
   1545   {
   1546     BI opval = LTQI (tmp_newval, 0);
   1547     CPU (h_nbit) = opval;
   1548     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1559   }
   1560 {
   1561   {
   1562     BI opval = 0;
   1563     CPU (h_xbit) = opval;
   1564     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1565   }
   1566   {
   1567     BI opval = 0;
   1568     SET_H_INSN_PREFIXED_P (opval);
   1569     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1623   }
   1624   {
   1625     BI opval = LTHI (tmp_newval, 0);
   1626     CPU (h_nbit) = opval;
   1627     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1638   }
   1639 {
   1640   {
   1641     BI opval = 0;
   1642     CPU (h_xbit) = opval;
   1643     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1644   }
   1645   {
   1646     BI opval = 0;
   1647     SET_H_INSN_PREFIXED_P (opval);
   1648     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1702   }
   1703   {
   1704     BI opval = LTSI (tmp_newval, 0);
   1705     CPU (h_nbit) = opval;
   1706     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1717   }
   1718 {
   1719   {
   1720     BI opval = 0;
   1721     CPU (h_xbit) = opval;
   1722     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1723   }
   1724   {
   1725     BI opval = 0;
   1726     SET_H_INSN_PREFIXED_P (opval);
   1727     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1762   }
   1763   {
   1764     BI opval = LTQI (tmp_newval, 0);
   1765     CPU (h_nbit) = opval;
   1766     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1777   }
   1778 {
   1779   {
   1780     BI opval = 0;
   1781     CPU (h_xbit) = opval;
   1782     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1783   }
   1784   {
   1785     BI opval = 0;
   1786     SET_H_INSN_PREFIXED_P (opval);
   1787     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1821   }
   1822   {
   1823     BI opval = LTHI (tmp_newval, 0);
   1824     CPU (h_nbit) = opval;
   1825     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1836   }
   1837 {
   1838   {
   1839     BI opval = 0;
   1840     CPU (h_xbit) = opval;
   1841     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1842   }
   1843   {
   1844     BI opval = 0;
   1845     SET_H_INSN_PREFIXED_P (opval);
   1846     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1880   }
   1881   {
   1882     BI opval = LTSI (tmp_newval, 0);
   1883     CPU (h_nbit) = opval;
   1884     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1895   }
   1896 {
   1897   {
   1898     BI opval = 0;
   1899     CPU (h_xbit) = opval;
   1900     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1901   }
   1902   {
   1903     BI opval = 0;
   1904     SET_H_INSN_PREFIXED_P (opval);
   1905     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   1939   }
   1940   {
   1941     BI opval = LTSI (tmp_newval, 0);
   1942     CPU (h_nbit) = opval;
   1943     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   1954   }
   1955 {
   1956   {
   1957     BI opval = 0;
   1958     CPU (h_xbit) = opval;
   1959     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   1960   }
   1961   {
   1962     BI opval = 0;
   1963     SET_H_INSN_PREFIXED_P (opval);
   1964     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2017   }
   2018   {
   2019     BI opval = LTSI (tmp_newval, 0);
   2020     CPU (h_nbit) = opval;
   2021     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2032   }
   2033 {
   2034   {
   2035     BI opval = 0;
   2036     CPU (h_xbit) = opval;
   2037     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2038   }
   2039   {
   2040     BI opval = 0;
   2041     SET_H_INSN_PREFIXED_P (opval);
   2042     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2096   }
   2097   {
   2098     BI opval = LTSI (tmp_newval, 0);
   2099     CPU (h_nbit) = opval;
   2100     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2111   }
   2112 {
   2113   {
   2114     BI opval = 0;
   2115     CPU (h_xbit) = opval;
   2116     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2117   }
   2118   {
   2119     BI opval = 0;
   2120     SET_H_INSN_PREFIXED_P (opval);
   2121     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2156   }
   2157   {
   2158     BI opval = LTSI (tmp_newval, 0);
   2159     CPU (h_nbit) = opval;
   2160     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2171   }
   2172 {
   2173   {
   2174     BI opval = 0;
   2175     CPU (h_xbit) = opval;
   2176     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2177   }
   2178   {
   2179     BI opval = 0;
   2180     SET_H_INSN_PREFIXED_P (opval);
   2181     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2215   }
   2216   {
   2217     BI opval = LTSI (tmp_newval, 0);
   2218     CPU (h_nbit) = opval;
   2219     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2230   }
   2231 {
   2232   {
   2233     BI opval = 0;
   2234     CPU (h_xbit) = opval;
   2235     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2236   }
   2237   {
   2238     BI opval = 0;
   2239     SET_H_INSN_PREFIXED_P (opval);
   2240     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2293   }
   2294   {
   2295     BI opval = LTSI (tmp_newval, 0);
   2296     CPU (h_nbit) = opval;
   2297     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2308   }
   2309 {
   2310   {
   2311     BI opval = 0;
   2312     CPU (h_xbit) = opval;
   2313     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2314   }
   2315   {
   2316     BI opval = 0;
   2317     SET_H_INSN_PREFIXED_P (opval);
   2318     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2372   }
   2373   {
   2374     BI opval = LTSI (tmp_newval, 0);
   2375     CPU (h_nbit) = opval;
   2376     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2387   }
   2388 {
   2389   {
   2390     BI opval = 0;
   2391     CPU (h_xbit) = opval;
   2392     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2393   }
   2394   {
   2395     BI opval = 0;
   2396     SET_H_INSN_PREFIXED_P (opval);
   2397     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2432   }
   2433   {
   2434     BI opval = LTSI (tmp_newval, 0);
   2435     CPU (h_nbit) = opval;
   2436     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2447   }
   2448 {
   2449   {
   2450     BI opval = 0;
   2451     CPU (h_xbit) = opval;
   2452     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2453   }
   2454   {
   2455     BI opval = 0;
   2456     SET_H_INSN_PREFIXED_P (opval);
   2457     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   2491   }
   2492   {
   2493     BI opval = LTSI (tmp_newval, 0);
   2494     CPU (h_nbit) = opval;
   2495     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   2506   }
   2507 {
   2508   {
   2509     BI opval = 0;
   2510     CPU (h_xbit) = opval;
   2511     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2512   }
   2513   {
   2514     BI opval = 0;
   2515     SET_H_INSN_PREFIXED_P (opval);
   2516     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2584   }
   2585   {
   2586     BI opval = 0;
   2587     SET_H_INSN_PREFIXED_P (opval);
   2588     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2657   }
   2658   {
   2659     BI opval = 0;
   2660     SET_H_INSN_PREFIXED_P (opval);
   2661     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   2707   }
   2708 {
   2709   {
   2710     BI opval = LTSI (tmp_tmp, 0);
   2711     CPU (h_nbit) = opval;
   2712     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2726   }
   2727   {
   2728     BI opval = 0;
   2729     SET_H_INSN_PREFIXED_P (opval);
   2730     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2805   }
   2806   {
   2807     BI opval = 0;
   2808     SET_H_INSN_PREFIXED_P (opval);
   2809     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2884   }
   2885   {
   2886     BI opval = 0;
   2887     SET_H_INSN_PREFIXED_P (opval);
   2888     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   2963   }
   2964   {
   2965     BI opval = 0;
   2966     SET_H_INSN_PREFIXED_P (opval);
   2967     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3042   }
   3043   {
   3044     BI opval = 0;
   3045     SET_H_INSN_PREFIXED_P (opval);
   3046     CGEN_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     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3080   }
   3081 }
   3082 {
   3083   {
   3084     BI opval = 0;
   3085     CPU (h_xbit) = opval;
   3086     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3087   }
   3088   {
   3089     BI opval = 0;
   3090     SET_H_INSN_PREFIXED_P (opval);
   3091     CGEN_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_prno;
   3112   SI tmp_newval;
   3113   tmp_prno = FLD (f_operand2);
   3114   tmp_newval = GET_H_SR (FLD (f_operand2));
   3115 if (EQSI (tmp_prno, 2)) {
   3116   {
   3117     SI opval = tmp_newval;
   3118     SET_H_GR (FLD (f_operand1), opval);
   3119     written |= (1 << 4);
   3120     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3121   }
   3122 }
   3123  else if (EQSI (tmp_prno, 3)) {
   3124 {
   3125   SI tmp_oldregval;
   3126   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3127   {
   3128     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   3129     SET_H_GR (FLD (f_operand1), opval);
   3130     written |= (1 << 4);
   3131     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3132   }
   3133 }
   3134 }
   3135  else if (EQSI (tmp_prno, 5)) {
   3136   {
   3137     SI opval = tmp_newval;
   3138     SET_H_GR (FLD (f_operand1), opval);
   3139     written |= (1 << 4);
   3140     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3141   }
   3142 }
   3143  else if (EQSI (tmp_prno, 6)) {
   3144   {
   3145     SI opval = tmp_newval;
   3146     SET_H_GR (FLD (f_operand1), opval);
   3147     written |= (1 << 4);
   3148     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3149   }
   3150 }
   3151  else if (EQSI (tmp_prno, 7)) {
   3152   {
   3153     SI opval = tmp_newval;
   3154     SET_H_GR (FLD (f_operand1), opval);
   3155     written |= (1 << 4);
   3156     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3157   }
   3158 }
   3159  else if (EQSI (tmp_prno, 9)) {
   3160   {
   3161     SI opval = tmp_newval;
   3162     SET_H_GR (FLD (f_operand1), opval);
   3163     written |= (1 << 4);
   3164     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3165   }
   3166 }
   3167  else if (EQSI (tmp_prno, 10)) {
   3168   {
   3169     SI opval = tmp_newval;
   3170     SET_H_GR (FLD (f_operand1), opval);
   3171     written |= (1 << 4);
   3172     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3173   }
   3174 }
   3175  else if (EQSI (tmp_prno, 11)) {
   3176   {
   3177     SI opval = tmp_newval;
   3178     SET_H_GR (FLD (f_operand1), opval);
   3179     written |= (1 << 4);
   3180     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3181   }
   3182 }
   3183  else if (EQSI (tmp_prno, 12)) {
   3184   {
   3185     SI opval = tmp_newval;
   3186     SET_H_GR (FLD (f_operand1), opval);
   3187     written |= (1 << 4);
   3188     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3189   }
   3190 }
   3191  else if (EQSI (tmp_prno, 13)) {
   3192   {
   3193     SI opval = tmp_newval;
   3194     SET_H_GR (FLD (f_operand1), opval);
   3195     written |= (1 << 4);
   3196     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3197   }
   3198 }
   3199  else if (EQSI (tmp_prno, 14)) {
   3200   {
   3201     SI opval = tmp_newval;
   3202     SET_H_GR (FLD (f_operand1), opval);
   3203     written |= (1 << 4);
   3204     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3205   }
   3206 }
   3207  else if (EQSI (tmp_prno, 15)) {
   3208   {
   3209     SI opval = tmp_newval;
   3210     SET_H_GR (FLD (f_operand1), opval);
   3211     written |= (1 << 4);
   3212     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3213   }
   3214 }
   3215  else if (EQSI (tmp_prno, 0)) {
   3216 {
   3217   SI tmp_oldregval;
   3218   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3219   {
   3220     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   3221     SET_H_GR (FLD (f_operand1), opval);
   3222     written |= (1 << 4);
   3223     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3224   }
   3225 }
   3226 }
   3227  else if (EQSI (tmp_prno, 1)) {
   3228 {
   3229   SI tmp_oldregval;
   3230   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3231   {
   3232     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   3233     SET_H_GR (FLD (f_operand1), opval);
   3234     written |= (1 << 4);
   3235     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3236   }
   3237 }
   3238 }
   3239  else if (EQSI (tmp_prno, 4)) {
   3240 {
   3241   SI tmp_oldregval;
   3242   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand1));
   3243   {
   3244     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   3245     SET_H_GR (FLD (f_operand1), opval);
   3246     written |= (1 << 4);
   3247     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3248   }
   3249 }
   3250 }
   3251  else if (EQSI (tmp_prno, 8)) {
   3252   {
   3253     SI opval = tmp_newval;
   3254     SET_H_GR (FLD (f_operand1), opval);
   3255     written |= (1 << 4);
   3256     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3257   }
   3258 }
   3259  else {
   3260 cgen_rtx_error (current_cpu, "move-spr-r from unimplemented register");
   3261 }
   3262 {
   3263   {
   3264     BI opval = 0;
   3265     CPU (h_xbit) = opval;
   3266     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3267   }
   3268   {
   3269     BI opval = 0;
   3270     SET_H_INSN_PREFIXED_P (opval);
   3271     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3272   }
   3273 }
   3274 }
   3275 
   3276   abuf->written = written;
   3277 #undef FLD
   3278 }
   3279   NEXT (vpc);
   3280 
   3281   CASE (sem, INSN_MOVE_M_SPRV32) : /* move [${Rs}${inc}],${Pd} */
   3282 {
   3283   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3284   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3285 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   3286   int UNUSED written = 0;
   3287   IADDR UNUSED pc = abuf->addr;
   3288   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   3289 
   3290 {
   3291   SI tmp_rno;
   3292   SI tmp_newval;
   3293   tmp_rno = FLD (f_operand2);
   3294 if (EQSI (tmp_rno, 2)) {
   3295   tmp_newval = ({   SI tmp_addr;
   3296   SI tmp_tmp_mem;
   3297   BI tmp_postinc;
   3298   tmp_postinc = FLD (f_memmode);
   3299 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3300 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3301 ; if (NEBI (tmp_postinc, 0)) {
   3302 {
   3303 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3304   tmp_addr = ADDSI (tmp_addr, 4);
   3305 }
   3306   {
   3307     SI opval = tmp_addr;
   3308     SET_H_GR (FLD (f_operand1), opval);
   3309     written |= (1 << 8);
   3310     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3311   }
   3312 }
   3313 }
   3314 ; tmp_tmp_mem; });
   3315 }
   3316  else if (EQSI (tmp_rno, 3)) {
   3317   tmp_newval = EXTQISI (({   SI tmp_addr;
   3318   QI tmp_tmp_mem;
   3319   BI tmp_postinc;
   3320   tmp_postinc = FLD (f_memmode);
   3321 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3322 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   3323 ; if (NEBI (tmp_postinc, 0)) {
   3324 {
   3325 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3326   tmp_addr = ADDSI (tmp_addr, 1);
   3327 }
   3328   {
   3329     SI opval = tmp_addr;
   3330     SET_H_GR (FLD (f_operand1), opval);
   3331     written |= (1 << 8);
   3332     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3333   }
   3334 }
   3335 }
   3336 ; tmp_tmp_mem; }));
   3337 }
   3338  else if (EQSI (tmp_rno, 5)) {
   3339   tmp_newval = ({   SI tmp_addr;
   3340   SI tmp_tmp_mem;
   3341   BI tmp_postinc;
   3342   tmp_postinc = FLD (f_memmode);
   3343 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3344 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3345 ; if (NEBI (tmp_postinc, 0)) {
   3346 {
   3347 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3348   tmp_addr = ADDSI (tmp_addr, 4);
   3349 }
   3350   {
   3351     SI opval = tmp_addr;
   3352     SET_H_GR (FLD (f_operand1), opval);
   3353     written |= (1 << 8);
   3354     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3355   }
   3356 }
   3357 }
   3358 ; tmp_tmp_mem; });
   3359 }
   3360  else if (EQSI (tmp_rno, 6)) {
   3361   tmp_newval = ({   SI tmp_addr;
   3362   SI tmp_tmp_mem;
   3363   BI tmp_postinc;
   3364   tmp_postinc = FLD (f_memmode);
   3365 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3366 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3367 ; if (NEBI (tmp_postinc, 0)) {
   3368 {
   3369 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3370   tmp_addr = ADDSI (tmp_addr, 4);
   3371 }
   3372   {
   3373     SI opval = tmp_addr;
   3374     SET_H_GR (FLD (f_operand1), opval);
   3375     written |= (1 << 8);
   3376     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3377   }
   3378 }
   3379 }
   3380 ; tmp_tmp_mem; });
   3381 }
   3382  else if (EQSI (tmp_rno, 7)) {
   3383   tmp_newval = ({   SI tmp_addr;
   3384   SI tmp_tmp_mem;
   3385   BI tmp_postinc;
   3386   tmp_postinc = FLD (f_memmode);
   3387 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3388 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3389 ; if (NEBI (tmp_postinc, 0)) {
   3390 {
   3391 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3392   tmp_addr = ADDSI (tmp_addr, 4);
   3393 }
   3394   {
   3395     SI opval = tmp_addr;
   3396     SET_H_GR (FLD (f_operand1), opval);
   3397     written |= (1 << 8);
   3398     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3399   }
   3400 }
   3401 }
   3402 ; tmp_tmp_mem; });
   3403 }
   3404  else if (EQSI (tmp_rno, 9)) {
   3405   tmp_newval = ({   SI tmp_addr;
   3406   SI tmp_tmp_mem;
   3407   BI tmp_postinc;
   3408   tmp_postinc = FLD (f_memmode);
   3409 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3410 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3411 ; if (NEBI (tmp_postinc, 0)) {
   3412 {
   3413 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3414   tmp_addr = ADDSI (tmp_addr, 4);
   3415 }
   3416   {
   3417     SI opval = tmp_addr;
   3418     SET_H_GR (FLD (f_operand1), opval);
   3419     written |= (1 << 8);
   3420     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3421   }
   3422 }
   3423 }
   3424 ; tmp_tmp_mem; });
   3425 }
   3426  else if (EQSI (tmp_rno, 10)) {
   3427   tmp_newval = ({   SI tmp_addr;
   3428   SI tmp_tmp_mem;
   3429   BI tmp_postinc;
   3430   tmp_postinc = FLD (f_memmode);
   3431 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3432 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3433 ; if (NEBI (tmp_postinc, 0)) {
   3434 {
   3435 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3436   tmp_addr = ADDSI (tmp_addr, 4);
   3437 }
   3438   {
   3439     SI opval = tmp_addr;
   3440     SET_H_GR (FLD (f_operand1), opval);
   3441     written |= (1 << 8);
   3442     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3443   }
   3444 }
   3445 }
   3446 ; tmp_tmp_mem; });
   3447 }
   3448  else if (EQSI (tmp_rno, 11)) {
   3449   tmp_newval = ({   SI tmp_addr;
   3450   SI tmp_tmp_mem;
   3451   BI tmp_postinc;
   3452   tmp_postinc = FLD (f_memmode);
   3453 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3454 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3455 ; if (NEBI (tmp_postinc, 0)) {
   3456 {
   3457 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3458   tmp_addr = ADDSI (tmp_addr, 4);
   3459 }
   3460   {
   3461     SI opval = tmp_addr;
   3462     SET_H_GR (FLD (f_operand1), opval);
   3463     written |= (1 << 8);
   3464     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3465   }
   3466 }
   3467 }
   3468 ; tmp_tmp_mem; });
   3469 }
   3470  else if (EQSI (tmp_rno, 12)) {
   3471   tmp_newval = ({   SI tmp_addr;
   3472   SI tmp_tmp_mem;
   3473   BI tmp_postinc;
   3474   tmp_postinc = FLD (f_memmode);
   3475 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3476 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3477 ; if (NEBI (tmp_postinc, 0)) {
   3478 {
   3479 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3480   tmp_addr = ADDSI (tmp_addr, 4);
   3481 }
   3482   {
   3483     SI opval = tmp_addr;
   3484     SET_H_GR (FLD (f_operand1), opval);
   3485     written |= (1 << 8);
   3486     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3487   }
   3488 }
   3489 }
   3490 ; tmp_tmp_mem; });
   3491 }
   3492  else if (EQSI (tmp_rno, 13)) {
   3493   tmp_newval = ({   SI tmp_addr;
   3494   SI tmp_tmp_mem;
   3495   BI tmp_postinc;
   3496   tmp_postinc = FLD (f_memmode);
   3497 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3498 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3499 ; if (NEBI (tmp_postinc, 0)) {
   3500 {
   3501 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3502   tmp_addr = ADDSI (tmp_addr, 4);
   3503 }
   3504   {
   3505     SI opval = tmp_addr;
   3506     SET_H_GR (FLD (f_operand1), opval);
   3507     written |= (1 << 8);
   3508     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3509   }
   3510 }
   3511 }
   3512 ; tmp_tmp_mem; });
   3513 }
   3514  else if (EQSI (tmp_rno, 14)) {
   3515   tmp_newval = ({   SI tmp_addr;
   3516   SI tmp_tmp_mem;
   3517   BI tmp_postinc;
   3518   tmp_postinc = FLD (f_memmode);
   3519 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3520 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3521 ; if (NEBI (tmp_postinc, 0)) {
   3522 {
   3523 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3524   tmp_addr = ADDSI (tmp_addr, 4);
   3525 }
   3526   {
   3527     SI opval = tmp_addr;
   3528     SET_H_GR (FLD (f_operand1), opval);
   3529     written |= (1 << 8);
   3530     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3531   }
   3532 }
   3533 }
   3534 ; tmp_tmp_mem; });
   3535 }
   3536  else if (EQSI (tmp_rno, 15)) {
   3537   tmp_newval = ({   SI tmp_addr;
   3538   SI tmp_tmp_mem;
   3539   BI tmp_postinc;
   3540   tmp_postinc = FLD (f_memmode);
   3541 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3542 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   3543 ; if (NEBI (tmp_postinc, 0)) {
   3544 {
   3545 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   3546   tmp_addr = ADDSI (tmp_addr, 4);
   3547 }
   3548   {
   3549     SI opval = tmp_addr;
   3550     SET_H_GR (FLD (f_operand1), opval);
   3551     written |= (1 << 8);
   3552     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   3553   }
   3554 }
   3555 }
   3556 ; tmp_tmp_mem; });
   3557 }
   3558  else {
   3559 cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
   3560 }
   3561   {
   3562     SI opval = tmp_newval;
   3563     SET_H_SR (FLD (f_operand2), opval);
   3564     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3565   }
   3566 {
   3567   {
   3568     BI opval = 0;
   3569     CPU (h_xbit) = opval;
   3570     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3571   }
   3572   {
   3573     BI opval = 0;
   3574     SET_H_INSN_PREFIXED_P (opval);
   3575     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3576   }
   3577 }
   3578 }
   3579 
   3580   abuf->written = written;
   3581 #undef FLD
   3582 }
   3583   NEXT (vpc);
   3584 
   3585   CASE (sem, INSN_MOVE_C_SPRV32_P2) : /* move ${const32},${Pd} */
   3586 {
   3587   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3588   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3589 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3590   int UNUSED written = 0;
   3591   IADDR UNUSED pc = abuf->addr;
   3592   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3593 
   3594 {
   3595   {
   3596     SI opval = FLD (f_indir_pc__dword);
   3597     SET_H_SR (FLD (f_operand2), opval);
   3598     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3599   }
   3600 {
   3601   {
   3602     BI opval = 0;
   3603     CPU (h_xbit) = opval;
   3604     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3605   }
   3606   {
   3607     BI opval = 0;
   3608     SET_H_INSN_PREFIXED_P (opval);
   3609     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3610   }
   3611 }
   3612 }
   3613 
   3614 #undef FLD
   3615 }
   3616   NEXT (vpc);
   3617 
   3618   CASE (sem, INSN_MOVE_C_SPRV32_P3) : /* move ${const32},${Pd} */
   3619 {
   3620   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3621   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3622 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3623   int UNUSED written = 0;
   3624   IADDR UNUSED pc = abuf->addr;
   3625   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3626 
   3627 {
   3628   {
   3629     SI opval = FLD (f_indir_pc__dword);
   3630     SET_H_SR (FLD (f_operand2), opval);
   3631     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3632   }
   3633 {
   3634   {
   3635     BI opval = 0;
   3636     CPU (h_xbit) = opval;
   3637     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3638   }
   3639   {
   3640     BI opval = 0;
   3641     SET_H_INSN_PREFIXED_P (opval);
   3642     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3643   }
   3644 }
   3645 }
   3646 
   3647 #undef FLD
   3648 }
   3649   NEXT (vpc);
   3650 
   3651   CASE (sem, INSN_MOVE_C_SPRV32_P5) : /* move ${const32},${Pd} */
   3652 {
   3653   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3654   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3655 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3656   int UNUSED written = 0;
   3657   IADDR UNUSED pc = abuf->addr;
   3658   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3659 
   3660 {
   3661   {
   3662     SI opval = FLD (f_indir_pc__dword);
   3663     SET_H_SR (FLD (f_operand2), opval);
   3664     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3665   }
   3666 {
   3667   {
   3668     BI opval = 0;
   3669     CPU (h_xbit) = opval;
   3670     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3671   }
   3672   {
   3673     BI opval = 0;
   3674     SET_H_INSN_PREFIXED_P (opval);
   3675     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3676   }
   3677 }
   3678 }
   3679 
   3680 #undef FLD
   3681 }
   3682   NEXT (vpc);
   3683 
   3684   CASE (sem, INSN_MOVE_C_SPRV32_P6) : /* move ${const32},${Pd} */
   3685 {
   3686   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3687   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3688 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3689   int UNUSED written = 0;
   3690   IADDR UNUSED pc = abuf->addr;
   3691   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3692 
   3693 {
   3694   {
   3695     SI opval = FLD (f_indir_pc__dword);
   3696     SET_H_SR (FLD (f_operand2), opval);
   3697     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3698   }
   3699 {
   3700   {
   3701     BI opval = 0;
   3702     CPU (h_xbit) = opval;
   3703     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3704   }
   3705   {
   3706     BI opval = 0;
   3707     SET_H_INSN_PREFIXED_P (opval);
   3708     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3709   }
   3710 }
   3711 }
   3712 
   3713 #undef FLD
   3714 }
   3715   NEXT (vpc);
   3716 
   3717   CASE (sem, INSN_MOVE_C_SPRV32_P7) : /* move ${const32},${Pd} */
   3718 {
   3719   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3720   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3721 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3722   int UNUSED written = 0;
   3723   IADDR UNUSED pc = abuf->addr;
   3724   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3725 
   3726 {
   3727   {
   3728     SI opval = FLD (f_indir_pc__dword);
   3729     SET_H_SR (FLD (f_operand2), opval);
   3730     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3731   }
   3732 {
   3733   {
   3734     BI opval = 0;
   3735     CPU (h_xbit) = opval;
   3736     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3737   }
   3738   {
   3739     BI opval = 0;
   3740     SET_H_INSN_PREFIXED_P (opval);
   3741     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3742   }
   3743 }
   3744 }
   3745 
   3746 #undef FLD
   3747 }
   3748   NEXT (vpc);
   3749 
   3750   CASE (sem, INSN_MOVE_C_SPRV32_P9) : /* move ${const32},${Pd} */
   3751 {
   3752   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3753   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3754 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3755   int UNUSED written = 0;
   3756   IADDR UNUSED pc = abuf->addr;
   3757   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3758 
   3759 {
   3760   {
   3761     SI opval = FLD (f_indir_pc__dword);
   3762     SET_H_SR (FLD (f_operand2), opval);
   3763     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3764   }
   3765 {
   3766   {
   3767     BI opval = 0;
   3768     CPU (h_xbit) = opval;
   3769     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3770   }
   3771   {
   3772     BI opval = 0;
   3773     SET_H_INSN_PREFIXED_P (opval);
   3774     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3775   }
   3776 }
   3777 }
   3778 
   3779 #undef FLD
   3780 }
   3781   NEXT (vpc);
   3782 
   3783   CASE (sem, INSN_MOVE_C_SPRV32_P10) : /* move ${const32},${Pd} */
   3784 {
   3785   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3786   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3787 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3788   int UNUSED written = 0;
   3789   IADDR UNUSED pc = abuf->addr;
   3790   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3791 
   3792 {
   3793   {
   3794     SI opval = FLD (f_indir_pc__dword);
   3795     SET_H_SR (FLD (f_operand2), opval);
   3796     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3797   }
   3798 {
   3799   {
   3800     BI opval = 0;
   3801     CPU (h_xbit) = opval;
   3802     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3803   }
   3804   {
   3805     BI opval = 0;
   3806     SET_H_INSN_PREFIXED_P (opval);
   3807     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3808   }
   3809 }
   3810 }
   3811 
   3812 #undef FLD
   3813 }
   3814   NEXT (vpc);
   3815 
   3816   CASE (sem, INSN_MOVE_C_SPRV32_P11) : /* move ${const32},${Pd} */
   3817 {
   3818   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3819   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3820 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3821   int UNUSED written = 0;
   3822   IADDR UNUSED pc = abuf->addr;
   3823   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3824 
   3825 {
   3826   {
   3827     SI opval = FLD (f_indir_pc__dword);
   3828     SET_H_SR (FLD (f_operand2), opval);
   3829     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3830   }
   3831 {
   3832   {
   3833     BI opval = 0;
   3834     CPU (h_xbit) = opval;
   3835     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3836   }
   3837   {
   3838     BI opval = 0;
   3839     SET_H_INSN_PREFIXED_P (opval);
   3840     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3841   }
   3842 }
   3843 }
   3844 
   3845 #undef FLD
   3846 }
   3847   NEXT (vpc);
   3848 
   3849   CASE (sem, INSN_MOVE_C_SPRV32_P12) : /* move ${const32},${Pd} */
   3850 {
   3851   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3852   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3853 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3854   int UNUSED written = 0;
   3855   IADDR UNUSED pc = abuf->addr;
   3856   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3857 
   3858 {
   3859   {
   3860     SI opval = FLD (f_indir_pc__dword);
   3861     SET_H_SR (FLD (f_operand2), opval);
   3862     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3863   }
   3864 {
   3865   {
   3866     BI opval = 0;
   3867     CPU (h_xbit) = opval;
   3868     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3869   }
   3870   {
   3871     BI opval = 0;
   3872     SET_H_INSN_PREFIXED_P (opval);
   3873     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3874   }
   3875 }
   3876 }
   3877 
   3878 #undef FLD
   3879 }
   3880   NEXT (vpc);
   3881 
   3882   CASE (sem, INSN_MOVE_C_SPRV32_P13) : /* move ${const32},${Pd} */
   3883 {
   3884   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3885   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3886 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3887   int UNUSED written = 0;
   3888   IADDR UNUSED pc = abuf->addr;
   3889   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3890 
   3891 {
   3892   {
   3893     SI opval = FLD (f_indir_pc__dword);
   3894     SET_H_SR (FLD (f_operand2), opval);
   3895     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3896   }
   3897 {
   3898   {
   3899     BI opval = 0;
   3900     CPU (h_xbit) = opval;
   3901     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3902   }
   3903   {
   3904     BI opval = 0;
   3905     SET_H_INSN_PREFIXED_P (opval);
   3906     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3907   }
   3908 }
   3909 }
   3910 
   3911 #undef FLD
   3912 }
   3913   NEXT (vpc);
   3914 
   3915   CASE (sem, INSN_MOVE_C_SPRV32_P14) : /* move ${const32},${Pd} */
   3916 {
   3917   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3918   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3919 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3920   int UNUSED written = 0;
   3921   IADDR UNUSED pc = abuf->addr;
   3922   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3923 
   3924 {
   3925   {
   3926     SI opval = FLD (f_indir_pc__dword);
   3927     SET_H_SR (FLD (f_operand2), opval);
   3928     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3929   }
   3930 {
   3931   {
   3932     BI opval = 0;
   3933     CPU (h_xbit) = opval;
   3934     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3935   }
   3936   {
   3937     BI opval = 0;
   3938     SET_H_INSN_PREFIXED_P (opval);
   3939     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3940   }
   3941 }
   3942 }
   3943 
   3944 #undef FLD
   3945 }
   3946   NEXT (vpc);
   3947 
   3948   CASE (sem, INSN_MOVE_C_SPRV32_P15) : /* move ${const32},${Pd} */
   3949 {
   3950   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3951   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3952 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   3953   int UNUSED written = 0;
   3954   IADDR UNUSED pc = abuf->addr;
   3955   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   3956 
   3957 {
   3958   {
   3959     SI opval = FLD (f_indir_pc__dword);
   3960     SET_H_SR (FLD (f_operand2), opval);
   3961     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   3962   }
   3963 {
   3964   {
   3965     BI opval = 0;
   3966     CPU (h_xbit) = opval;
   3967     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   3968   }
   3969   {
   3970     BI opval = 0;
   3971     SET_H_INSN_PREFIXED_P (opval);
   3972     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   3973   }
   3974 }
   3975 }
   3976 
   3977 #undef FLD
   3978 }
   3979   NEXT (vpc);
   3980 
   3981   CASE (sem, INSN_MOVE_SPR_MV32) : /* move ${Ps},[${Rd-sfield}${inc}] */
   3982 {
   3983   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   3984   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   3985 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   3986   int UNUSED written = 0;
   3987   IADDR UNUSED pc = abuf->addr;
   3988   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   3989 
   3990 {
   3991   SI tmp_rno;
   3992   tmp_rno = FLD (f_operand2);
   3993 if (EQSI (tmp_rno, 2)) {
   3994 {
   3995   SI tmp_addr;
   3996   BI tmp_postinc;
   3997   tmp_postinc = FLD (f_memmode);
   3998   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   3999 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4000 if (EQBI (CPU (h_pbit), 0)) {
   4001 {
   4002   {
   4003     SI opval = GET_H_SR (FLD (f_operand2));
   4004     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4005     written |= (1 << 13);
   4006     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4007   }
   4008   {
   4009     BI opval = CPU (h_pbit);
   4010     CPU (h_cbit) = opval;
   4011     written |= (1 << 10);
   4012     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4013   }
   4014 }
   4015 } else {
   4016   {
   4017     BI opval = 1;
   4018     CPU (h_cbit) = opval;
   4019     written |= (1 << 10);
   4020     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4021   }
   4022 }
   4023 } else {
   4024   {
   4025     SI opval = GET_H_SR (FLD (f_operand2));
   4026     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4027     written |= (1 << 13);
   4028     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4029   }
   4030 }
   4031 if (NEBI (tmp_postinc, 0)) {
   4032 {
   4033 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4034   tmp_addr = ADDSI (tmp_addr, 4);
   4035 }
   4036   {
   4037     SI opval = tmp_addr;
   4038     SET_H_GR (FLD (f_operand1), opval);
   4039     written |= (1 << 9);
   4040     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4041   }
   4042 }
   4043 }
   4044 }
   4045 }
   4046  else if (EQSI (tmp_rno, 3)) {
   4047 {
   4048   SI tmp_addr;
   4049   BI tmp_postinc;
   4050   tmp_postinc = FLD (f_memmode);
   4051   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4052 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4053 if (EQBI (CPU (h_pbit), 0)) {
   4054 {
   4055   {
   4056     QI opval = GET_H_SR (FLD (f_operand2));
   4057     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4058     written |= (1 << 12);
   4059     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4060   }
   4061   {
   4062     BI opval = CPU (h_pbit);
   4063     CPU (h_cbit) = opval;
   4064     written |= (1 << 10);
   4065     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4066   }
   4067 }
   4068 } else {
   4069   {
   4070     BI opval = 1;
   4071     CPU (h_cbit) = opval;
   4072     written |= (1 << 10);
   4073     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4074   }
   4075 }
   4076 } else {
   4077   {
   4078     QI opval = GET_H_SR (FLD (f_operand2));
   4079     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4080     written |= (1 << 12);
   4081     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4082   }
   4083 }
   4084 if (NEBI (tmp_postinc, 0)) {
   4085 {
   4086 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4087   tmp_addr = ADDSI (tmp_addr, 1);
   4088 }
   4089   {
   4090     SI opval = tmp_addr;
   4091     SET_H_GR (FLD (f_operand1), opval);
   4092     written |= (1 << 9);
   4093     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4094   }
   4095 }
   4096 }
   4097 }
   4098 }
   4099  else if (EQSI (tmp_rno, 5)) {
   4100 {
   4101   SI tmp_addr;
   4102   BI tmp_postinc;
   4103   tmp_postinc = FLD (f_memmode);
   4104   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4105 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4106 if (EQBI (CPU (h_pbit), 0)) {
   4107 {
   4108   {
   4109     SI opval = GET_H_SR (FLD (f_operand2));
   4110     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4111     written |= (1 << 13);
   4112     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4113   }
   4114   {
   4115     BI opval = CPU (h_pbit);
   4116     CPU (h_cbit) = opval;
   4117     written |= (1 << 10);
   4118     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4119   }
   4120 }
   4121 } else {
   4122   {
   4123     BI opval = 1;
   4124     CPU (h_cbit) = opval;
   4125     written |= (1 << 10);
   4126     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4127   }
   4128 }
   4129 } else {
   4130   {
   4131     SI opval = GET_H_SR (FLD (f_operand2));
   4132     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4133     written |= (1 << 13);
   4134     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4135   }
   4136 }
   4137 if (NEBI (tmp_postinc, 0)) {
   4138 {
   4139 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4140   tmp_addr = ADDSI (tmp_addr, 4);
   4141 }
   4142   {
   4143     SI opval = tmp_addr;
   4144     SET_H_GR (FLD (f_operand1), opval);
   4145     written |= (1 << 9);
   4146     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4147   }
   4148 }
   4149 }
   4150 }
   4151 }
   4152  else if (EQSI (tmp_rno, 6)) {
   4153 {
   4154   SI tmp_addr;
   4155   BI tmp_postinc;
   4156   tmp_postinc = FLD (f_memmode);
   4157   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4158 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4159 if (EQBI (CPU (h_pbit), 0)) {
   4160 {
   4161   {
   4162     SI opval = GET_H_SR (FLD (f_operand2));
   4163     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4164     written |= (1 << 13);
   4165     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4166   }
   4167   {
   4168     BI opval = CPU (h_pbit);
   4169     CPU (h_cbit) = opval;
   4170     written |= (1 << 10);
   4171     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4172   }
   4173 }
   4174 } else {
   4175   {
   4176     BI opval = 1;
   4177     CPU (h_cbit) = opval;
   4178     written |= (1 << 10);
   4179     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4180   }
   4181 }
   4182 } else {
   4183   {
   4184     SI opval = GET_H_SR (FLD (f_operand2));
   4185     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4186     written |= (1 << 13);
   4187     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4188   }
   4189 }
   4190 if (NEBI (tmp_postinc, 0)) {
   4191 {
   4192 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4193   tmp_addr = ADDSI (tmp_addr, 4);
   4194 }
   4195   {
   4196     SI opval = tmp_addr;
   4197     SET_H_GR (FLD (f_operand1), opval);
   4198     written |= (1 << 9);
   4199     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4200   }
   4201 }
   4202 }
   4203 }
   4204 }
   4205  else if (EQSI (tmp_rno, 7)) {
   4206 {
   4207   SI tmp_addr;
   4208   BI tmp_postinc;
   4209   tmp_postinc = FLD (f_memmode);
   4210   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4211 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4212 if (EQBI (CPU (h_pbit), 0)) {
   4213 {
   4214   {
   4215     SI opval = GET_H_SR (FLD (f_operand2));
   4216     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4217     written |= (1 << 13);
   4218     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4219   }
   4220   {
   4221     BI opval = CPU (h_pbit);
   4222     CPU (h_cbit) = opval;
   4223     written |= (1 << 10);
   4224     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4225   }
   4226 }
   4227 } else {
   4228   {
   4229     BI opval = 1;
   4230     CPU (h_cbit) = opval;
   4231     written |= (1 << 10);
   4232     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4233   }
   4234 }
   4235 } else {
   4236   {
   4237     SI opval = GET_H_SR (FLD (f_operand2));
   4238     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4239     written |= (1 << 13);
   4240     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4241   }
   4242 }
   4243 if (NEBI (tmp_postinc, 0)) {
   4244 {
   4245 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4246   tmp_addr = ADDSI (tmp_addr, 4);
   4247 }
   4248   {
   4249     SI opval = tmp_addr;
   4250     SET_H_GR (FLD (f_operand1), opval);
   4251     written |= (1 << 9);
   4252     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4253   }
   4254 }
   4255 }
   4256 }
   4257 }
   4258  else if (EQSI (tmp_rno, 9)) {
   4259 {
   4260   SI tmp_addr;
   4261   BI tmp_postinc;
   4262   tmp_postinc = FLD (f_memmode);
   4263   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4264 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4265 if (EQBI (CPU (h_pbit), 0)) {
   4266 {
   4267   {
   4268     SI opval = GET_H_SR (FLD (f_operand2));
   4269     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4270     written |= (1 << 13);
   4271     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4272   }
   4273   {
   4274     BI opval = CPU (h_pbit);
   4275     CPU (h_cbit) = opval;
   4276     written |= (1 << 10);
   4277     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4278   }
   4279 }
   4280 } else {
   4281   {
   4282     BI opval = 1;
   4283     CPU (h_cbit) = opval;
   4284     written |= (1 << 10);
   4285     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4286   }
   4287 }
   4288 } else {
   4289   {
   4290     SI opval = GET_H_SR (FLD (f_operand2));
   4291     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4292     written |= (1 << 13);
   4293     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4294   }
   4295 }
   4296 if (NEBI (tmp_postinc, 0)) {
   4297 {
   4298 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4299   tmp_addr = ADDSI (tmp_addr, 4);
   4300 }
   4301   {
   4302     SI opval = tmp_addr;
   4303     SET_H_GR (FLD (f_operand1), opval);
   4304     written |= (1 << 9);
   4305     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4306   }
   4307 }
   4308 }
   4309 }
   4310 }
   4311  else if (EQSI (tmp_rno, 10)) {
   4312 {
   4313   SI tmp_addr;
   4314   BI tmp_postinc;
   4315   tmp_postinc = FLD (f_memmode);
   4316   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4317 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4318 if (EQBI (CPU (h_pbit), 0)) {
   4319 {
   4320   {
   4321     SI opval = GET_H_SR (FLD (f_operand2));
   4322     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4323     written |= (1 << 13);
   4324     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4325   }
   4326   {
   4327     BI opval = CPU (h_pbit);
   4328     CPU (h_cbit) = opval;
   4329     written |= (1 << 10);
   4330     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4331   }
   4332 }
   4333 } else {
   4334   {
   4335     BI opval = 1;
   4336     CPU (h_cbit) = opval;
   4337     written |= (1 << 10);
   4338     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4339   }
   4340 }
   4341 } else {
   4342   {
   4343     SI opval = GET_H_SR (FLD (f_operand2));
   4344     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4345     written |= (1 << 13);
   4346     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4347   }
   4348 }
   4349 if (NEBI (tmp_postinc, 0)) {
   4350 {
   4351 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4352   tmp_addr = ADDSI (tmp_addr, 4);
   4353 }
   4354   {
   4355     SI opval = tmp_addr;
   4356     SET_H_GR (FLD (f_operand1), opval);
   4357     written |= (1 << 9);
   4358     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4359   }
   4360 }
   4361 }
   4362 }
   4363 }
   4364  else if (EQSI (tmp_rno, 11)) {
   4365 {
   4366   SI tmp_addr;
   4367   BI tmp_postinc;
   4368   tmp_postinc = FLD (f_memmode);
   4369   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4370 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4371 if (EQBI (CPU (h_pbit), 0)) {
   4372 {
   4373   {
   4374     SI opval = GET_H_SR (FLD (f_operand2));
   4375     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4376     written |= (1 << 13);
   4377     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4378   }
   4379   {
   4380     BI opval = CPU (h_pbit);
   4381     CPU (h_cbit) = opval;
   4382     written |= (1 << 10);
   4383     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4384   }
   4385 }
   4386 } else {
   4387   {
   4388     BI opval = 1;
   4389     CPU (h_cbit) = opval;
   4390     written |= (1 << 10);
   4391     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4392   }
   4393 }
   4394 } else {
   4395   {
   4396     SI opval = GET_H_SR (FLD (f_operand2));
   4397     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4398     written |= (1 << 13);
   4399     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4400   }
   4401 }
   4402 if (NEBI (tmp_postinc, 0)) {
   4403 {
   4404 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4405   tmp_addr = ADDSI (tmp_addr, 4);
   4406 }
   4407   {
   4408     SI opval = tmp_addr;
   4409     SET_H_GR (FLD (f_operand1), opval);
   4410     written |= (1 << 9);
   4411     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4412   }
   4413 }
   4414 }
   4415 }
   4416 }
   4417  else if (EQSI (tmp_rno, 12)) {
   4418 {
   4419   SI tmp_addr;
   4420   BI tmp_postinc;
   4421   tmp_postinc = FLD (f_memmode);
   4422   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4423 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4424 if (EQBI (CPU (h_pbit), 0)) {
   4425 {
   4426   {
   4427     SI opval = GET_H_SR (FLD (f_operand2));
   4428     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4429     written |= (1 << 13);
   4430     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4431   }
   4432   {
   4433     BI opval = CPU (h_pbit);
   4434     CPU (h_cbit) = opval;
   4435     written |= (1 << 10);
   4436     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4437   }
   4438 }
   4439 } else {
   4440   {
   4441     BI opval = 1;
   4442     CPU (h_cbit) = opval;
   4443     written |= (1 << 10);
   4444     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4445   }
   4446 }
   4447 } else {
   4448   {
   4449     SI opval = GET_H_SR (FLD (f_operand2));
   4450     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4451     written |= (1 << 13);
   4452     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4453   }
   4454 }
   4455 if (NEBI (tmp_postinc, 0)) {
   4456 {
   4457 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4458   tmp_addr = ADDSI (tmp_addr, 4);
   4459 }
   4460   {
   4461     SI opval = tmp_addr;
   4462     SET_H_GR (FLD (f_operand1), opval);
   4463     written |= (1 << 9);
   4464     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4465   }
   4466 }
   4467 }
   4468 }
   4469 }
   4470  else if (EQSI (tmp_rno, 13)) {
   4471 {
   4472   SI tmp_addr;
   4473   BI tmp_postinc;
   4474   tmp_postinc = FLD (f_memmode);
   4475   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4476 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4477 if (EQBI (CPU (h_pbit), 0)) {
   4478 {
   4479   {
   4480     SI opval = GET_H_SR (FLD (f_operand2));
   4481     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4482     written |= (1 << 13);
   4483     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4484   }
   4485   {
   4486     BI opval = CPU (h_pbit);
   4487     CPU (h_cbit) = opval;
   4488     written |= (1 << 10);
   4489     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4490   }
   4491 }
   4492 } else {
   4493   {
   4494     BI opval = 1;
   4495     CPU (h_cbit) = opval;
   4496     written |= (1 << 10);
   4497     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4498   }
   4499 }
   4500 } else {
   4501   {
   4502     SI opval = GET_H_SR (FLD (f_operand2));
   4503     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4504     written |= (1 << 13);
   4505     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4506   }
   4507 }
   4508 if (NEBI (tmp_postinc, 0)) {
   4509 {
   4510 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4511   tmp_addr = ADDSI (tmp_addr, 4);
   4512 }
   4513   {
   4514     SI opval = tmp_addr;
   4515     SET_H_GR (FLD (f_operand1), opval);
   4516     written |= (1 << 9);
   4517     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4518   }
   4519 }
   4520 }
   4521 }
   4522 }
   4523  else if (EQSI (tmp_rno, 14)) {
   4524 {
   4525   SI tmp_addr;
   4526   BI tmp_postinc;
   4527   tmp_postinc = FLD (f_memmode);
   4528   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4529 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4530 if (EQBI (CPU (h_pbit), 0)) {
   4531 {
   4532   {
   4533     SI opval = GET_H_SR (FLD (f_operand2));
   4534     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4535     written |= (1 << 13);
   4536     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4537   }
   4538   {
   4539     BI opval = CPU (h_pbit);
   4540     CPU (h_cbit) = opval;
   4541     written |= (1 << 10);
   4542     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4543   }
   4544 }
   4545 } else {
   4546   {
   4547     BI opval = 1;
   4548     CPU (h_cbit) = opval;
   4549     written |= (1 << 10);
   4550     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4551   }
   4552 }
   4553 } else {
   4554   {
   4555     SI opval = GET_H_SR (FLD (f_operand2));
   4556     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4557     written |= (1 << 13);
   4558     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4559   }
   4560 }
   4561 if (NEBI (tmp_postinc, 0)) {
   4562 {
   4563 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4564   tmp_addr = ADDSI (tmp_addr, 4);
   4565 }
   4566   {
   4567     SI opval = tmp_addr;
   4568     SET_H_GR (FLD (f_operand1), opval);
   4569     written |= (1 << 9);
   4570     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4571   }
   4572 }
   4573 }
   4574 }
   4575 }
   4576  else if (EQSI (tmp_rno, 15)) {
   4577 {
   4578   SI tmp_addr;
   4579   BI tmp_postinc;
   4580   tmp_postinc = FLD (f_memmode);
   4581   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4582 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4583 if (EQBI (CPU (h_pbit), 0)) {
   4584 {
   4585   {
   4586     SI opval = GET_H_SR (FLD (f_operand2));
   4587     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4588     written |= (1 << 13);
   4589     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4590   }
   4591   {
   4592     BI opval = CPU (h_pbit);
   4593     CPU (h_cbit) = opval;
   4594     written |= (1 << 10);
   4595     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4596   }
   4597 }
   4598 } else {
   4599   {
   4600     BI opval = 1;
   4601     CPU (h_cbit) = opval;
   4602     written |= (1 << 10);
   4603     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4604   }
   4605 }
   4606 } else {
   4607   {
   4608     SI opval = GET_H_SR (FLD (f_operand2));
   4609     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4610     written |= (1 << 13);
   4611     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4612   }
   4613 }
   4614 if (NEBI (tmp_postinc, 0)) {
   4615 {
   4616 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4617   tmp_addr = ADDSI (tmp_addr, 4);
   4618 }
   4619   {
   4620     SI opval = tmp_addr;
   4621     SET_H_GR (FLD (f_operand1), opval);
   4622     written |= (1 << 9);
   4623     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4624   }
   4625 }
   4626 }
   4627 }
   4628 }
   4629  else if (EQSI (tmp_rno, 0)) {
   4630 {
   4631   SI tmp_addr;
   4632   BI tmp_postinc;
   4633   tmp_postinc = FLD (f_memmode);
   4634   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4635 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4636 if (EQBI (CPU (h_pbit), 0)) {
   4637 {
   4638   {
   4639     QI opval = GET_H_SR (FLD (f_operand2));
   4640     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4641     written |= (1 << 12);
   4642     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4643   }
   4644   {
   4645     BI opval = CPU (h_pbit);
   4646     CPU (h_cbit) = opval;
   4647     written |= (1 << 10);
   4648     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4649   }
   4650 }
   4651 } else {
   4652   {
   4653     BI opval = 1;
   4654     CPU (h_cbit) = opval;
   4655     written |= (1 << 10);
   4656     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4657   }
   4658 }
   4659 } else {
   4660   {
   4661     QI opval = GET_H_SR (FLD (f_operand2));
   4662     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4663     written |= (1 << 12);
   4664     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4665   }
   4666 }
   4667 if (NEBI (tmp_postinc, 0)) {
   4668 {
   4669 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4670   tmp_addr = ADDSI (tmp_addr, 1);
   4671 }
   4672   {
   4673     SI opval = tmp_addr;
   4674     SET_H_GR (FLD (f_operand1), opval);
   4675     written |= (1 << 9);
   4676     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4677   }
   4678 }
   4679 }
   4680 }
   4681 }
   4682  else if (EQSI (tmp_rno, 1)) {
   4683 {
   4684   SI tmp_addr;
   4685   BI tmp_postinc;
   4686   tmp_postinc = FLD (f_memmode);
   4687   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4688 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4689 if (EQBI (CPU (h_pbit), 0)) {
   4690 {
   4691   {
   4692     QI opval = GET_H_SR (FLD (f_operand2));
   4693     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4694     written |= (1 << 12);
   4695     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4696   }
   4697   {
   4698     BI opval = CPU (h_pbit);
   4699     CPU (h_cbit) = opval;
   4700     written |= (1 << 10);
   4701     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4702   }
   4703 }
   4704 } else {
   4705   {
   4706     BI opval = 1;
   4707     CPU (h_cbit) = opval;
   4708     written |= (1 << 10);
   4709     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4710   }
   4711 }
   4712 } else {
   4713   {
   4714     QI opval = GET_H_SR (FLD (f_operand2));
   4715     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   4716     written |= (1 << 12);
   4717     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4718   }
   4719 }
   4720 if (NEBI (tmp_postinc, 0)) {
   4721 {
   4722 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4723   tmp_addr = ADDSI (tmp_addr, 1);
   4724 }
   4725   {
   4726     SI opval = tmp_addr;
   4727     SET_H_GR (FLD (f_operand1), opval);
   4728     written |= (1 << 9);
   4729     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4730   }
   4731 }
   4732 }
   4733 }
   4734 }
   4735  else if (EQSI (tmp_rno, 4)) {
   4736 {
   4737   SI tmp_addr;
   4738   BI tmp_postinc;
   4739   tmp_postinc = FLD (f_memmode);
   4740   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4741 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4742 if (EQBI (CPU (h_pbit), 0)) {
   4743 {
   4744   {
   4745     HI opval = GET_H_SR (FLD (f_operand2));
   4746     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   4747     written |= (1 << 11);
   4748     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4749   }
   4750   {
   4751     BI opval = CPU (h_pbit);
   4752     CPU (h_cbit) = opval;
   4753     written |= (1 << 10);
   4754     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4755   }
   4756 }
   4757 } else {
   4758   {
   4759     BI opval = 1;
   4760     CPU (h_cbit) = opval;
   4761     written |= (1 << 10);
   4762     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4763   }
   4764 }
   4765 } else {
   4766   {
   4767     HI opval = GET_H_SR (FLD (f_operand2));
   4768     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   4769     written |= (1 << 11);
   4770     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4771   }
   4772 }
   4773 if (NEBI (tmp_postinc, 0)) {
   4774 {
   4775 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4776   tmp_addr = ADDSI (tmp_addr, 2);
   4777 }
   4778   {
   4779     SI opval = tmp_addr;
   4780     SET_H_GR (FLD (f_operand1), opval);
   4781     written |= (1 << 9);
   4782     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4783   }
   4784 }
   4785 }
   4786 }
   4787 }
   4788  else if (EQSI (tmp_rno, 8)) {
   4789 {
   4790   SI tmp_addr;
   4791   BI tmp_postinc;
   4792   tmp_postinc = FLD (f_memmode);
   4793   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   4794 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   4795 if (EQBI (CPU (h_pbit), 0)) {
   4796 {
   4797   {
   4798     SI opval = GET_H_SR (FLD (f_operand2));
   4799     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4800     written |= (1 << 13);
   4801     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4802   }
   4803   {
   4804     BI opval = CPU (h_pbit);
   4805     CPU (h_cbit) = opval;
   4806     written |= (1 << 10);
   4807     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4808   }
   4809 }
   4810 } else {
   4811   {
   4812     BI opval = 1;
   4813     CPU (h_cbit) = opval;
   4814     written |= (1 << 10);
   4815     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   4816   }
   4817 }
   4818 } else {
   4819   {
   4820     SI opval = GET_H_SR (FLD (f_operand2));
   4821     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4822     written |= (1 << 13);
   4823     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4824   }
   4825 }
   4826 if (NEBI (tmp_postinc, 0)) {
   4827 {
   4828 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   4829   tmp_addr = ADDSI (tmp_addr, 4);
   4830 }
   4831   {
   4832     SI opval = tmp_addr;
   4833     SET_H_GR (FLD (f_operand1), opval);
   4834     written |= (1 << 9);
   4835     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4836   }
   4837 }
   4838 }
   4839 }
   4840 }
   4841  else {
   4842 cgen_rtx_error (current_cpu, "write from unimplemented special register");
   4843 }
   4844 {
   4845   {
   4846     BI opval = 0;
   4847     CPU (h_xbit) = opval;
   4848     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   4849   }
   4850   {
   4851     BI opval = 0;
   4852     SET_H_INSN_PREFIXED_P (opval);
   4853     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   4854   }
   4855 }
   4856 }
   4857 
   4858   abuf->written = written;
   4859 #undef FLD
   4860 }
   4861   NEXT (vpc);
   4862 
   4863   CASE (sem, INSN_MOVE_SS_R) : /* move ${Ss},${Rd-sfield} */
   4864 {
   4865   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   4866   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   4867 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   4868   int UNUSED written = 0;
   4869   IADDR UNUSED pc = abuf->addr;
   4870   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   4871 
   4872 {
   4873   {
   4874     SI opval = GET_H_SUPR (FLD (f_operand2));
   4875     SET_H_GR (FLD (f_operand1), opval);
   4876     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   4877   }
   4878 {
   4879   {
   4880     BI opval = 0;
   4881     CPU (h_xbit) = opval;
   4882     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   4883   }
   4884   {
   4885     BI opval = 0;
   4886     SET_H_INSN_PREFIXED_P (opval);
   4887     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   4888   }
   4889 }
   4890 }
   4891 
   4892 #undef FLD
   4893 }
   4894   NEXT (vpc);
   4895 
   4896   CASE (sem, INSN_MOVE_R_SS) : /* move ${Rs},${Sd} */
   4897 {
   4898   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   4899   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   4900 #define FLD(f) abuf->fields.sfmt_mcp.f
   4901   int UNUSED written = 0;
   4902   IADDR UNUSED pc = abuf->addr;
   4903   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   4904 
   4905 {
   4906   {
   4907     SI opval = GET_H_GR (FLD (f_operand1));
   4908     SET_H_SUPR (FLD (f_operand2), opval);
   4909     CGEN_TRACE_RESULT (current_cpu, abuf, "supr", 'x', opval);
   4910   }
   4911 {
   4912   {
   4913     BI opval = 0;
   4914     CPU (h_xbit) = opval;
   4915     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   4916   }
   4917   {
   4918     BI opval = 0;
   4919     SET_H_INSN_PREFIXED_P (opval);
   4920     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   4921   }
   4922 }
   4923 }
   4924 
   4925 #undef FLD
   4926 }
   4927   NEXT (vpc);
   4928 
   4929   CASE (sem, INSN_MOVEM_R_M_V32) : /* movem ${Rs-dfield},[${Rd-sfield}${inc}] */
   4930 {
   4931   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   4932   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   4933 #define FLD(f) abuf->fields.sfmt_movem_r_m_v32.f
   4934   int UNUSED written = 0;
   4935   IADDR UNUSED pc = abuf->addr;
   4936   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   4937 
   4938 {
   4939   SI tmp_addr;
   4940   BI tmp_postinc;
   4941   tmp_postinc = FLD (f_memmode);
   4942 {
   4943   SI tmp_dummy;
   4944   tmp_dummy = GET_H_GR (FLD (f_operand2));
   4945 }
   4946   tmp_addr = GET_H_GR (FLD (f_operand1));
   4947 {
   4948 if (GESI (FLD (f_operand2), 0)) {
   4949 {
   4950   SI tmp_tmp;
   4951   tmp_tmp = GET_H_GR (((UINT) 0));
   4952   {
   4953     SI opval = tmp_tmp;
   4954     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4955     written |= (1 << 21);
   4956     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4957   }
   4958   tmp_addr = ADDSI (tmp_addr, 4);
   4959 }
   4960 }
   4961 if (GESI (FLD (f_operand2), 1)) {
   4962 {
   4963   SI tmp_tmp;
   4964   tmp_tmp = GET_H_GR (((UINT) 1));
   4965   {
   4966     SI opval = tmp_tmp;
   4967     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4968     written |= (1 << 21);
   4969     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4970   }
   4971   tmp_addr = ADDSI (tmp_addr, 4);
   4972 }
   4973 }
   4974 if (GESI (FLD (f_operand2), 2)) {
   4975 {
   4976   SI tmp_tmp;
   4977   tmp_tmp = GET_H_GR (((UINT) 2));
   4978   {
   4979     SI opval = tmp_tmp;
   4980     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4981     written |= (1 << 21);
   4982     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4983   }
   4984   tmp_addr = ADDSI (tmp_addr, 4);
   4985 }
   4986 }
   4987 if (GESI (FLD (f_operand2), 3)) {
   4988 {
   4989   SI tmp_tmp;
   4990   tmp_tmp = GET_H_GR (((UINT) 3));
   4991   {
   4992     SI opval = tmp_tmp;
   4993     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   4994     written |= (1 << 21);
   4995     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   4996   }
   4997   tmp_addr = ADDSI (tmp_addr, 4);
   4998 }
   4999 }
   5000 if (GESI (FLD (f_operand2), 4)) {
   5001 {
   5002   SI tmp_tmp;
   5003   tmp_tmp = GET_H_GR (((UINT) 4));
   5004   {
   5005     SI opval = tmp_tmp;
   5006     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5007     written |= (1 << 21);
   5008     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5009   }
   5010   tmp_addr = ADDSI (tmp_addr, 4);
   5011 }
   5012 }
   5013 if (GESI (FLD (f_operand2), 5)) {
   5014 {
   5015   SI tmp_tmp;
   5016   tmp_tmp = GET_H_GR (((UINT) 5));
   5017   {
   5018     SI opval = tmp_tmp;
   5019     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5020     written |= (1 << 21);
   5021     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5022   }
   5023   tmp_addr = ADDSI (tmp_addr, 4);
   5024 }
   5025 }
   5026 if (GESI (FLD (f_operand2), 6)) {
   5027 {
   5028   SI tmp_tmp;
   5029   tmp_tmp = GET_H_GR (((UINT) 6));
   5030   {
   5031     SI opval = tmp_tmp;
   5032     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5033     written |= (1 << 21);
   5034     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5035   }
   5036   tmp_addr = ADDSI (tmp_addr, 4);
   5037 }
   5038 }
   5039 if (GESI (FLD (f_operand2), 7)) {
   5040 {
   5041   SI tmp_tmp;
   5042   tmp_tmp = GET_H_GR (((UINT) 7));
   5043   {
   5044     SI opval = tmp_tmp;
   5045     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5046     written |= (1 << 21);
   5047     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5048   }
   5049   tmp_addr = ADDSI (tmp_addr, 4);
   5050 }
   5051 }
   5052 if (GESI (FLD (f_operand2), 8)) {
   5053 {
   5054   SI tmp_tmp;
   5055   tmp_tmp = GET_H_GR (((UINT) 8));
   5056   {
   5057     SI opval = tmp_tmp;
   5058     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5059     written |= (1 << 21);
   5060     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5061   }
   5062   tmp_addr = ADDSI (tmp_addr, 4);
   5063 }
   5064 }
   5065 if (GESI (FLD (f_operand2), 9)) {
   5066 {
   5067   SI tmp_tmp;
   5068   tmp_tmp = GET_H_GR (((UINT) 9));
   5069   {
   5070     SI opval = tmp_tmp;
   5071     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5072     written |= (1 << 21);
   5073     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5074   }
   5075   tmp_addr = ADDSI (tmp_addr, 4);
   5076 }
   5077 }
   5078 if (GESI (FLD (f_operand2), 10)) {
   5079 {
   5080   SI tmp_tmp;
   5081   tmp_tmp = GET_H_GR (((UINT) 10));
   5082   {
   5083     SI opval = tmp_tmp;
   5084     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5085     written |= (1 << 21);
   5086     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5087   }
   5088   tmp_addr = ADDSI (tmp_addr, 4);
   5089 }
   5090 }
   5091 if (GESI (FLD (f_operand2), 11)) {
   5092 {
   5093   SI tmp_tmp;
   5094   tmp_tmp = GET_H_GR (((UINT) 11));
   5095   {
   5096     SI opval = tmp_tmp;
   5097     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5098     written |= (1 << 21);
   5099     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5100   }
   5101   tmp_addr = ADDSI (tmp_addr, 4);
   5102 }
   5103 }
   5104 if (GESI (FLD (f_operand2), 12)) {
   5105 {
   5106   SI tmp_tmp;
   5107   tmp_tmp = GET_H_GR (((UINT) 12));
   5108   {
   5109     SI opval = tmp_tmp;
   5110     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5111     written |= (1 << 21);
   5112     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5113   }
   5114   tmp_addr = ADDSI (tmp_addr, 4);
   5115 }
   5116 }
   5117 if (GESI (FLD (f_operand2), 13)) {
   5118 {
   5119   SI tmp_tmp;
   5120   tmp_tmp = GET_H_GR (((UINT) 13));
   5121   {
   5122     SI opval = tmp_tmp;
   5123     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5124     written |= (1 << 21);
   5125     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5126   }
   5127   tmp_addr = ADDSI (tmp_addr, 4);
   5128 }
   5129 }
   5130 if (GESI (FLD (f_operand2), 14)) {
   5131 {
   5132   SI tmp_tmp;
   5133   tmp_tmp = GET_H_GR (((UINT) 14));
   5134   {
   5135     SI opval = tmp_tmp;
   5136     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5137     written |= (1 << 21);
   5138     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5139   }
   5140   tmp_addr = ADDSI (tmp_addr, 4);
   5141 }
   5142 }
   5143 if (GESI (FLD (f_operand2), 15)) {
   5144 {
   5145   SI tmp_tmp;
   5146   tmp_tmp = GET_H_GR (((UINT) 15));
   5147   {
   5148     SI opval = tmp_tmp;
   5149     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   5150     written |= (1 << 21);
   5151     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   5152   }
   5153   tmp_addr = ADDSI (tmp_addr, 4);
   5154 }
   5155 }
   5156 }
   5157 if (NEBI (tmp_postinc, 0)) {
   5158   {
   5159     SI opval = tmp_addr;
   5160     SET_H_GR (FLD (f_operand1), opval);
   5161     written |= (1 << 20);
   5162     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5163   }
   5164 }
   5165 {
   5166   {
   5167     BI opval = 0;
   5168     CPU (h_xbit) = opval;
   5169     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5170   }
   5171   {
   5172     BI opval = 0;
   5173     SET_H_INSN_PREFIXED_P (opval);
   5174     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5175   }
   5176 }
   5177 }
   5178 
   5179   abuf->written = written;
   5180 #undef FLD
   5181 }
   5182   NEXT (vpc);
   5183 
   5184   CASE (sem, INSN_MOVEM_M_R_V32) : /* movem [${Rs}${inc}],${Rd} */
   5185 {
   5186   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5187   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5188 #define FLD(f) abuf->fields.sfmt_movem_m_r_v32.f
   5189   int UNUSED written = 0;
   5190   IADDR UNUSED pc = abuf->addr;
   5191   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5192 
   5193 {
   5194   SI tmp_addr;
   5195   BI tmp_postinc;
   5196   tmp_postinc = FLD (f_memmode);
   5197   tmp_addr = GET_H_GR (FLD (f_operand1));
   5198 {
   5199   SI tmp_dummy;
   5200   tmp_dummy = GET_H_GR (FLD (f_operand2));
   5201 }
   5202 {
   5203 if (GESI (FLD (f_operand2), 0)) {
   5204 {
   5205   SI tmp_tmp;
   5206   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5207   {
   5208     SI opval = tmp_tmp;
   5209     SET_H_GR (((UINT) 0), opval);
   5210     written |= (1 << 6);
   5211     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5212   }
   5213   tmp_addr = ADDSI (tmp_addr, 4);
   5214 }
   5215 }
   5216 if (GESI (FLD (f_operand2), 1)) {
   5217 {
   5218   SI tmp_tmp;
   5219   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5220   {
   5221     SI opval = tmp_tmp;
   5222     SET_H_GR (((UINT) 1), opval);
   5223     written |= (1 << 7);
   5224     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5225   }
   5226   tmp_addr = ADDSI (tmp_addr, 4);
   5227 }
   5228 }
   5229 if (GESI (FLD (f_operand2), 2)) {
   5230 {
   5231   SI tmp_tmp;
   5232   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5233   {
   5234     SI opval = tmp_tmp;
   5235     SET_H_GR (((UINT) 2), opval);
   5236     written |= (1 << 14);
   5237     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5238   }
   5239   tmp_addr = ADDSI (tmp_addr, 4);
   5240 }
   5241 }
   5242 if (GESI (FLD (f_operand2), 3)) {
   5243 {
   5244   SI tmp_tmp;
   5245   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5246   {
   5247     SI opval = tmp_tmp;
   5248     SET_H_GR (((UINT) 3), opval);
   5249     written |= (1 << 15);
   5250     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5251   }
   5252   tmp_addr = ADDSI (tmp_addr, 4);
   5253 }
   5254 }
   5255 if (GESI (FLD (f_operand2), 4)) {
   5256 {
   5257   SI tmp_tmp;
   5258   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5259   {
   5260     SI opval = tmp_tmp;
   5261     SET_H_GR (((UINT) 4), opval);
   5262     written |= (1 << 16);
   5263     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5264   }
   5265   tmp_addr = ADDSI (tmp_addr, 4);
   5266 }
   5267 }
   5268 if (GESI (FLD (f_operand2), 5)) {
   5269 {
   5270   SI tmp_tmp;
   5271   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5272   {
   5273     SI opval = tmp_tmp;
   5274     SET_H_GR (((UINT) 5), opval);
   5275     written |= (1 << 17);
   5276     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5277   }
   5278   tmp_addr = ADDSI (tmp_addr, 4);
   5279 }
   5280 }
   5281 if (GESI (FLD (f_operand2), 6)) {
   5282 {
   5283   SI tmp_tmp;
   5284   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5285   {
   5286     SI opval = tmp_tmp;
   5287     SET_H_GR (((UINT) 6), opval);
   5288     written |= (1 << 18);
   5289     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5290   }
   5291   tmp_addr = ADDSI (tmp_addr, 4);
   5292 }
   5293 }
   5294 if (GESI (FLD (f_operand2), 7)) {
   5295 {
   5296   SI tmp_tmp;
   5297   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5298   {
   5299     SI opval = tmp_tmp;
   5300     SET_H_GR (((UINT) 7), opval);
   5301     written |= (1 << 19);
   5302     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5303   }
   5304   tmp_addr = ADDSI (tmp_addr, 4);
   5305 }
   5306 }
   5307 if (GESI (FLD (f_operand2), 8)) {
   5308 {
   5309   SI tmp_tmp;
   5310   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5311   {
   5312     SI opval = tmp_tmp;
   5313     SET_H_GR (((UINT) 8), opval);
   5314     written |= (1 << 20);
   5315     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5316   }
   5317   tmp_addr = ADDSI (tmp_addr, 4);
   5318 }
   5319 }
   5320 if (GESI (FLD (f_operand2), 9)) {
   5321 {
   5322   SI tmp_tmp;
   5323   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5324   {
   5325     SI opval = tmp_tmp;
   5326     SET_H_GR (((UINT) 9), opval);
   5327     written |= (1 << 21);
   5328     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5329   }
   5330   tmp_addr = ADDSI (tmp_addr, 4);
   5331 }
   5332 }
   5333 if (GESI (FLD (f_operand2), 10)) {
   5334 {
   5335   SI tmp_tmp;
   5336   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5337   {
   5338     SI opval = tmp_tmp;
   5339     SET_H_GR (((UINT) 10), opval);
   5340     written |= (1 << 8);
   5341     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5342   }
   5343   tmp_addr = ADDSI (tmp_addr, 4);
   5344 }
   5345 }
   5346 if (GESI (FLD (f_operand2), 11)) {
   5347 {
   5348   SI tmp_tmp;
   5349   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5350   {
   5351     SI opval = tmp_tmp;
   5352     SET_H_GR (((UINT) 11), opval);
   5353     written |= (1 << 9);
   5354     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5355   }
   5356   tmp_addr = ADDSI (tmp_addr, 4);
   5357 }
   5358 }
   5359 if (GESI (FLD (f_operand2), 12)) {
   5360 {
   5361   SI tmp_tmp;
   5362   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5363   {
   5364     SI opval = tmp_tmp;
   5365     SET_H_GR (((UINT) 12), opval);
   5366     written |= (1 << 10);
   5367     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5368   }
   5369   tmp_addr = ADDSI (tmp_addr, 4);
   5370 }
   5371 }
   5372 if (GESI (FLD (f_operand2), 13)) {
   5373 {
   5374   SI tmp_tmp;
   5375   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5376   {
   5377     SI opval = tmp_tmp;
   5378     SET_H_GR (((UINT) 13), opval);
   5379     written |= (1 << 11);
   5380     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5381   }
   5382   tmp_addr = ADDSI (tmp_addr, 4);
   5383 }
   5384 }
   5385 if (GESI (FLD (f_operand2), 14)) {
   5386 {
   5387   SI tmp_tmp;
   5388   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5389   {
   5390     SI opval = tmp_tmp;
   5391     SET_H_GR (((UINT) 14), opval);
   5392     written |= (1 << 12);
   5393     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5394   }
   5395   tmp_addr = ADDSI (tmp_addr, 4);
   5396 }
   5397 }
   5398 if (GESI (FLD (f_operand2), 15)) {
   5399 {
   5400   SI tmp_tmp;
   5401   tmp_tmp = GETMEMSI (current_cpu, pc, tmp_addr);
   5402   {
   5403     SI opval = tmp_tmp;
   5404     SET_H_GR (((UINT) 15), opval);
   5405     written |= (1 << 13);
   5406     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5407   }
   5408   tmp_addr = ADDSI (tmp_addr, 4);
   5409 }
   5410 }
   5411 }
   5412 if (NEBI (tmp_postinc, 0)) {
   5413   {
   5414     SI opval = tmp_addr;
   5415     SET_H_GR (FLD (f_operand1), opval);
   5416     written |= (1 << 5);
   5417     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5418   }
   5419 }
   5420 {
   5421   {
   5422     BI opval = 0;
   5423     CPU (h_xbit) = opval;
   5424     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5425   }
   5426   {
   5427     BI opval = 0;
   5428     SET_H_INSN_PREFIXED_P (opval);
   5429     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5430   }
   5431 }
   5432 }
   5433 
   5434   abuf->written = written;
   5435 #undef FLD
   5436 }
   5437   NEXT (vpc);
   5438 
   5439   CASE (sem, INSN_ADD_B_R) : /* add.b $Rs,$Rd */
   5440 {
   5441   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5442   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5443 #define FLD(f) abuf->fields.sfmt_addc_m.f
   5444   int UNUSED written = 0;
   5445   IADDR UNUSED pc = abuf->addr;
   5446   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5447 
   5448 {
   5449   QI tmp_tmpopd;
   5450   QI tmp_tmpops;
   5451   BI tmp_carry;
   5452   QI tmp_newval;
   5453   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   5454   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5455   tmp_carry = CPU (h_cbit);
   5456   tmp_newval = ADDCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5457 {
   5458   SI tmp_oldregval;
   5459   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5460   {
   5461     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   5462     SET_H_GR (FLD (f_operand2), opval);
   5463     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5464   }
   5465 }
   5466 {
   5467   {
   5468     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))));
   5469     CPU (h_cbit) = opval;
   5470     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5471   }
   5472   {
   5473     BI opval = LTQI (tmp_newval, 0);
   5474     CPU (h_nbit) = opval;
   5475     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5476   }
   5477   {
   5478     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5479     CPU (h_zbit) = opval;
   5480     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5481   }
   5482   {
   5483     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)));
   5484     CPU (h_vbit) = opval;
   5485     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5486   }
   5487 {
   5488   {
   5489     BI opval = 0;
   5490     CPU (h_xbit) = opval;
   5491     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5492   }
   5493   {
   5494     BI opval = 0;
   5495     SET_H_INSN_PREFIXED_P (opval);
   5496     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5497   }
   5498 }
   5499 }
   5500 }
   5501 
   5502 #undef FLD
   5503 }
   5504   NEXT (vpc);
   5505 
   5506   CASE (sem, INSN_ADD_W_R) : /* add.w $Rs,$Rd */
   5507 {
   5508   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5509   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5510 #define FLD(f) abuf->fields.sfmt_addc_m.f
   5511   int UNUSED written = 0;
   5512   IADDR UNUSED pc = abuf->addr;
   5513   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5514 
   5515 {
   5516   HI tmp_tmpopd;
   5517   HI tmp_tmpops;
   5518   BI tmp_carry;
   5519   HI tmp_newval;
   5520   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   5521   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5522   tmp_carry = CPU (h_cbit);
   5523   tmp_newval = ADDCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5524 {
   5525   SI tmp_oldregval;
   5526   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5527   {
   5528     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   5529     SET_H_GR (FLD (f_operand2), opval);
   5530     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5531   }
   5532 }
   5533 {
   5534   {
   5535     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))));
   5536     CPU (h_cbit) = opval;
   5537     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5538   }
   5539   {
   5540     BI opval = LTHI (tmp_newval, 0);
   5541     CPU (h_nbit) = opval;
   5542     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5543   }
   5544   {
   5545     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5546     CPU (h_zbit) = opval;
   5547     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5548   }
   5549   {
   5550     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)));
   5551     CPU (h_vbit) = opval;
   5552     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5553   }
   5554 {
   5555   {
   5556     BI opval = 0;
   5557     CPU (h_xbit) = opval;
   5558     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5559   }
   5560   {
   5561     BI opval = 0;
   5562     SET_H_INSN_PREFIXED_P (opval);
   5563     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5564   }
   5565 }
   5566 }
   5567 }
   5568 
   5569 #undef FLD
   5570 }
   5571   NEXT (vpc);
   5572 
   5573   CASE (sem, INSN_ADD_D_R) : /* add.d $Rs,$Rd */
   5574 {
   5575   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5576   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5577 #define FLD(f) abuf->fields.sfmt_addc_m.f
   5578   int UNUSED written = 0;
   5579   IADDR UNUSED pc = abuf->addr;
   5580   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5581 
   5582 {
   5583   SI tmp_tmpopd;
   5584   SI tmp_tmpops;
   5585   BI tmp_carry;
   5586   SI tmp_newval;
   5587   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   5588   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5589   tmp_carry = CPU (h_cbit);
   5590   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5591   {
   5592     SI opval = tmp_newval;
   5593     SET_H_GR (FLD (f_operand2), opval);
   5594     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5595   }
   5596 {
   5597   {
   5598     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))));
   5599     CPU (h_cbit) = opval;
   5600     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5601   }
   5602   {
   5603     BI opval = LTSI (tmp_newval, 0);
   5604     CPU (h_nbit) = opval;
   5605     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5606   }
   5607   {
   5608     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5609     CPU (h_zbit) = opval;
   5610     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5611   }
   5612   {
   5613     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)));
   5614     CPU (h_vbit) = opval;
   5615     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5616   }
   5617 {
   5618   {
   5619     BI opval = 0;
   5620     CPU (h_xbit) = opval;
   5621     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5622   }
   5623   {
   5624     BI opval = 0;
   5625     SET_H_INSN_PREFIXED_P (opval);
   5626     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5627   }
   5628 }
   5629 }
   5630 }
   5631 
   5632 #undef FLD
   5633 }
   5634   NEXT (vpc);
   5635 
   5636   CASE (sem, INSN_ADD_M_B_M) : /* add-m.b [${Rs}${inc}],${Rd} */
   5637 {
   5638   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5639   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5640 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   5641   int UNUSED written = 0;
   5642   IADDR UNUSED pc = abuf->addr;
   5643   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5644 
   5645 {
   5646   QI tmp_tmpopd;
   5647   QI tmp_tmpops;
   5648   BI tmp_carry;
   5649   QI tmp_newval;
   5650   tmp_tmpops = ({   SI tmp_addr;
   5651   QI tmp_tmp_mem;
   5652   BI tmp_postinc;
   5653   tmp_postinc = FLD (f_memmode);
   5654 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   5655 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   5656 ; if (NEBI (tmp_postinc, 0)) {
   5657 {
   5658 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   5659   tmp_addr = ADDSI (tmp_addr, 1);
   5660 }
   5661   {
   5662     SI opval = tmp_addr;
   5663     SET_H_GR (FLD (f_operand1), opval);
   5664     written |= (1 << 12);
   5665     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5666   }
   5667 }
   5668 }
   5669 ; tmp_tmp_mem; });
   5670   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5671   tmp_carry = CPU (h_cbit);
   5672   tmp_newval = ADDCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5673 {
   5674   SI tmp_oldregval;
   5675   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   5676   {
   5677     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   5678     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   5679     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5680   }
   5681 }
   5682 {
   5683   {
   5684     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))));
   5685     CPU (h_cbit) = opval;
   5686     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5687   }
   5688   {
   5689     BI opval = LTQI (tmp_newval, 0);
   5690     CPU (h_nbit) = opval;
   5691     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5692   }
   5693   {
   5694     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5695     CPU (h_zbit) = opval;
   5696     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5697   }
   5698   {
   5699     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)));
   5700     CPU (h_vbit) = opval;
   5701     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5702   }
   5703 {
   5704   {
   5705     BI opval = 0;
   5706     CPU (h_xbit) = opval;
   5707     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5708   }
   5709   {
   5710     BI opval = 0;
   5711     SET_H_INSN_PREFIXED_P (opval);
   5712     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5713   }
   5714 }
   5715 }
   5716 }
   5717 
   5718   abuf->written = written;
   5719 #undef FLD
   5720 }
   5721   NEXT (vpc);
   5722 
   5723   CASE (sem, INSN_ADD_M_W_M) : /* add-m.w [${Rs}${inc}],${Rd} */
   5724 {
   5725   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5726   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5727 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   5728   int UNUSED written = 0;
   5729   IADDR UNUSED pc = abuf->addr;
   5730   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5731 
   5732 {
   5733   HI tmp_tmpopd;
   5734   HI tmp_tmpops;
   5735   BI tmp_carry;
   5736   HI tmp_newval;
   5737   tmp_tmpops = ({   SI tmp_addr;
   5738   HI tmp_tmp_mem;
   5739   BI tmp_postinc;
   5740   tmp_postinc = FLD (f_memmode);
   5741 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   5742 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   5743 ; if (NEBI (tmp_postinc, 0)) {
   5744 {
   5745 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   5746   tmp_addr = ADDSI (tmp_addr, 2);
   5747 }
   5748   {
   5749     SI opval = tmp_addr;
   5750     SET_H_GR (FLD (f_operand1), opval);
   5751     written |= (1 << 12);
   5752     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5753   }
   5754 }
   5755 }
   5756 ; tmp_tmp_mem; });
   5757   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5758   tmp_carry = CPU (h_cbit);
   5759   tmp_newval = ADDCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5760 {
   5761   SI tmp_oldregval;
   5762   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   5763   {
   5764     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   5765     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   5766     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5767   }
   5768 }
   5769 {
   5770   {
   5771     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))));
   5772     CPU (h_cbit) = opval;
   5773     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5774   }
   5775   {
   5776     BI opval = LTHI (tmp_newval, 0);
   5777     CPU (h_nbit) = opval;
   5778     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5779   }
   5780   {
   5781     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5782     CPU (h_zbit) = opval;
   5783     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5784   }
   5785   {
   5786     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)));
   5787     CPU (h_vbit) = opval;
   5788     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5789   }
   5790 {
   5791   {
   5792     BI opval = 0;
   5793     CPU (h_xbit) = opval;
   5794     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5795   }
   5796   {
   5797     BI opval = 0;
   5798     SET_H_INSN_PREFIXED_P (opval);
   5799     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5800   }
   5801 }
   5802 }
   5803 }
   5804 
   5805   abuf->written = written;
   5806 #undef FLD
   5807 }
   5808   NEXT (vpc);
   5809 
   5810   CASE (sem, INSN_ADD_M_D_M) : /* add-m.d [${Rs}${inc}],${Rd} */
   5811 {
   5812   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5813   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5814 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   5815   int UNUSED written = 0;
   5816   IADDR UNUSED pc = abuf->addr;
   5817   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   5818 
   5819 {
   5820   SI tmp_tmpopd;
   5821   SI tmp_tmpops;
   5822   BI tmp_carry;
   5823   SI tmp_newval;
   5824   tmp_tmpops = ({   SI tmp_addr;
   5825   SI tmp_tmp_mem;
   5826   BI tmp_postinc;
   5827   tmp_postinc = FLD (f_memmode);
   5828 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   5829 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   5830 ; if (NEBI (tmp_postinc, 0)) {
   5831 {
   5832 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   5833   tmp_addr = ADDSI (tmp_addr, 4);
   5834 }
   5835   {
   5836     SI opval = tmp_addr;
   5837     SET_H_GR (FLD (f_operand1), opval);
   5838     written |= (1 << 11);
   5839     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5840   }
   5841 }
   5842 }
   5843 ; tmp_tmp_mem; });
   5844   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5845   tmp_carry = CPU (h_cbit);
   5846   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5847   {
   5848     SI opval = tmp_newval;
   5849     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   5850     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5851   }
   5852 {
   5853   {
   5854     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))));
   5855     CPU (h_cbit) = opval;
   5856     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5857   }
   5858   {
   5859     BI opval = LTSI (tmp_newval, 0);
   5860     CPU (h_nbit) = opval;
   5861     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5862   }
   5863   {
   5864     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5865     CPU (h_zbit) = opval;
   5866     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5867   }
   5868   {
   5869     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)));
   5870     CPU (h_vbit) = opval;
   5871     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5872   }
   5873 {
   5874   {
   5875     BI opval = 0;
   5876     CPU (h_xbit) = opval;
   5877     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5878   }
   5879   {
   5880     BI opval = 0;
   5881     SET_H_INSN_PREFIXED_P (opval);
   5882     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5883   }
   5884 }
   5885 }
   5886 }
   5887 
   5888   abuf->written = written;
   5889 #undef FLD
   5890 }
   5891   NEXT (vpc);
   5892 
   5893   CASE (sem, INSN_ADDCBR) : /* add.b ${sconst8}],${Rd} */
   5894 {
   5895   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5896   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5897 #define FLD(f) abuf->fields.sfmt_addcbr.f
   5898   int UNUSED written = 0;
   5899   IADDR UNUSED pc = abuf->addr;
   5900   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   5901 
   5902 {
   5903   QI tmp_tmpopd;
   5904   QI tmp_tmpops;
   5905   BI tmp_carry;
   5906   QI tmp_newval;
   5907   tmp_tmpops = FLD (f_indir_pc__byte);
   5908   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5909   tmp_carry = CPU (h_cbit);
   5910   tmp_newval = ADDCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5911 {
   5912   SI tmp_oldregval;
   5913   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5914   {
   5915     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   5916     SET_H_GR (FLD (f_operand2), opval);
   5917     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5918   }
   5919 }
   5920 {
   5921   {
   5922     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))));
   5923     CPU (h_cbit) = opval;
   5924     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5925   }
   5926   {
   5927     BI opval = LTQI (tmp_newval, 0);
   5928     CPU (h_nbit) = opval;
   5929     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5930   }
   5931   {
   5932     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   5933     CPU (h_zbit) = opval;
   5934     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   5935   }
   5936   {
   5937     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)));
   5938     CPU (h_vbit) = opval;
   5939     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   5940   }
   5941 {
   5942   {
   5943     BI opval = 0;
   5944     CPU (h_xbit) = opval;
   5945     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   5946   }
   5947   {
   5948     BI opval = 0;
   5949     SET_H_INSN_PREFIXED_P (opval);
   5950     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   5951   }
   5952 }
   5953 }
   5954 }
   5955 
   5956 #undef FLD
   5957 }
   5958   NEXT (vpc);
   5959 
   5960   CASE (sem, INSN_ADDCWR) : /* add.w ${sconst16}],${Rd} */
   5961 {
   5962   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   5963   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   5964 #define FLD(f) abuf->fields.sfmt_addcwr.f
   5965   int UNUSED written = 0;
   5966   IADDR UNUSED pc = abuf->addr;
   5967   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   5968 
   5969 {
   5970   HI tmp_tmpopd;
   5971   HI tmp_tmpops;
   5972   BI tmp_carry;
   5973   HI tmp_newval;
   5974   tmp_tmpops = FLD (f_indir_pc__word);
   5975   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   5976   tmp_carry = CPU (h_cbit);
   5977   tmp_newval = ADDCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   5978 {
   5979   SI tmp_oldregval;
   5980   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   5981   {
   5982     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   5983     SET_H_GR (FLD (f_operand2), opval);
   5984     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   5985   }
   5986 }
   5987 {
   5988   {
   5989     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))));
   5990     CPU (h_cbit) = opval;
   5991     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   5992   }
   5993   {
   5994     BI opval = LTHI (tmp_newval, 0);
   5995     CPU (h_nbit) = opval;
   5996     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   5997   }
   5998   {
   5999     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6000     CPU (h_zbit) = opval;
   6001     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6002   }
   6003   {
   6004     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)));
   6005     CPU (h_vbit) = opval;
   6006     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6007   }
   6008 {
   6009   {
   6010     BI opval = 0;
   6011     CPU (h_xbit) = opval;
   6012     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6013   }
   6014   {
   6015     BI opval = 0;
   6016     SET_H_INSN_PREFIXED_P (opval);
   6017     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6018   }
   6019 }
   6020 }
   6021 }
   6022 
   6023 #undef FLD
   6024 }
   6025   NEXT (vpc);
   6026 
   6027   CASE (sem, INSN_ADDCDR) : /* add.d ${const32}],${Rd} */
   6028 {
   6029   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6030   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6031 #define FLD(f) abuf->fields.sfmt_addcdr.f
   6032   int UNUSED written = 0;
   6033   IADDR UNUSED pc = abuf->addr;
   6034   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   6035 
   6036 {
   6037   SI tmp_tmpopd;
   6038   SI tmp_tmpops;
   6039   BI tmp_carry;
   6040   SI tmp_newval;
   6041   tmp_tmpops = FLD (f_indir_pc__dword);
   6042   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6043   tmp_carry = CPU (h_cbit);
   6044   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6045   {
   6046     SI opval = tmp_newval;
   6047     SET_H_GR (FLD (f_operand2), opval);
   6048     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6049   }
   6050 {
   6051   {
   6052     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))));
   6053     CPU (h_cbit) = opval;
   6054     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6055   }
   6056   {
   6057     BI opval = LTSI (tmp_newval, 0);
   6058     CPU (h_nbit) = opval;
   6059     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6060   }
   6061   {
   6062     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6063     CPU (h_zbit) = opval;
   6064     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6065   }
   6066   {
   6067     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)));
   6068     CPU (h_vbit) = opval;
   6069     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6070   }
   6071 {
   6072   {
   6073     BI opval = 0;
   6074     CPU (h_xbit) = opval;
   6075     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6076   }
   6077   {
   6078     BI opval = 0;
   6079     SET_H_INSN_PREFIXED_P (opval);
   6080     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6081   }
   6082 }
   6083 }
   6084 }
   6085 
   6086 #undef FLD
   6087 }
   6088   NEXT (vpc);
   6089 
   6090   CASE (sem, INSN_ADDS_B_R) : /* adds.b $Rs,$Rd */
   6091 {
   6092   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6093   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6094 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6095   int UNUSED written = 0;
   6096   IADDR UNUSED pc = abuf->addr;
   6097   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6098 
   6099 {
   6100   SI tmp_tmpopd;
   6101   SI tmp_tmpops;
   6102   BI tmp_carry;
   6103   SI tmp_newval;
   6104   tmp_tmpops = EXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   6105   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6106   tmp_carry = CPU (h_cbit);
   6107   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6108   {
   6109     SI opval = tmp_newval;
   6110     SET_H_GR (FLD (f_operand2), opval);
   6111     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6112   }
   6113 {
   6114   {
   6115     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))));
   6116     CPU (h_cbit) = opval;
   6117     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6118   }
   6119   {
   6120     BI opval = LTSI (tmp_newval, 0);
   6121     CPU (h_nbit) = opval;
   6122     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6123   }
   6124   {
   6125     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6126     CPU (h_zbit) = opval;
   6127     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6128   }
   6129   {
   6130     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)));
   6131     CPU (h_vbit) = opval;
   6132     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6133   }
   6134 {
   6135   {
   6136     BI opval = 0;
   6137     CPU (h_xbit) = opval;
   6138     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6139   }
   6140   {
   6141     BI opval = 0;
   6142     SET_H_INSN_PREFIXED_P (opval);
   6143     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6144   }
   6145 }
   6146 }
   6147 }
   6148 
   6149 #undef FLD
   6150 }
   6151   NEXT (vpc);
   6152 
   6153   CASE (sem, INSN_ADDS_W_R) : /* adds.w $Rs,$Rd */
   6154 {
   6155   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6156   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6157 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6158   int UNUSED written = 0;
   6159   IADDR UNUSED pc = abuf->addr;
   6160   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6161 
   6162 {
   6163   SI tmp_tmpopd;
   6164   SI tmp_tmpops;
   6165   BI tmp_carry;
   6166   SI tmp_newval;
   6167   tmp_tmpops = EXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   6168   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6169   tmp_carry = CPU (h_cbit);
   6170   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6171   {
   6172     SI opval = tmp_newval;
   6173     SET_H_GR (FLD (f_operand2), opval);
   6174     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6175   }
   6176 {
   6177   {
   6178     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))));
   6179     CPU (h_cbit) = opval;
   6180     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6181   }
   6182   {
   6183     BI opval = LTSI (tmp_newval, 0);
   6184     CPU (h_nbit) = opval;
   6185     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6186   }
   6187   {
   6188     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6189     CPU (h_zbit) = opval;
   6190     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6191   }
   6192   {
   6193     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)));
   6194     CPU (h_vbit) = opval;
   6195     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6196   }
   6197 {
   6198   {
   6199     BI opval = 0;
   6200     CPU (h_xbit) = opval;
   6201     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6202   }
   6203   {
   6204     BI opval = 0;
   6205     SET_H_INSN_PREFIXED_P (opval);
   6206     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6207   }
   6208 }
   6209 }
   6210 }
   6211 
   6212 #undef FLD
   6213 }
   6214   NEXT (vpc);
   6215 
   6216   CASE (sem, INSN_ADDS_M_B_M) : /* adds-m.b [${Rs}${inc}],$Rd */
   6217 {
   6218   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6219   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6220 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6221   int UNUSED written = 0;
   6222   IADDR UNUSED pc = abuf->addr;
   6223   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6224 
   6225 {
   6226   SI tmp_tmpopd;
   6227   SI tmp_tmpops;
   6228   BI tmp_carry;
   6229   SI tmp_newval;
   6230   tmp_tmpops = EXTQISI (({   SI tmp_addr;
   6231   QI tmp_tmp_mem;
   6232   BI tmp_postinc;
   6233   tmp_postinc = FLD (f_memmode);
   6234 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6235 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   6236 ; if (NEBI (tmp_postinc, 0)) {
   6237 {
   6238 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6239   tmp_addr = ADDSI (tmp_addr, 1);
   6240 }
   6241   {
   6242     SI opval = tmp_addr;
   6243     SET_H_GR (FLD (f_operand1), opval);
   6244     written |= (1 << 11);
   6245     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6246   }
   6247 }
   6248 }
   6249 ; tmp_tmp_mem; }));
   6250   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6251   tmp_carry = CPU (h_cbit);
   6252   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6253   {
   6254     SI opval = tmp_newval;
   6255     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6256     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6257   }
   6258 {
   6259   {
   6260     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))));
   6261     CPU (h_cbit) = opval;
   6262     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6263   }
   6264   {
   6265     BI opval = LTSI (tmp_newval, 0);
   6266     CPU (h_nbit) = opval;
   6267     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6268   }
   6269   {
   6270     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6271     CPU (h_zbit) = opval;
   6272     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6273   }
   6274   {
   6275     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)));
   6276     CPU (h_vbit) = opval;
   6277     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6278   }
   6279 {
   6280   {
   6281     BI opval = 0;
   6282     CPU (h_xbit) = opval;
   6283     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6284   }
   6285   {
   6286     BI opval = 0;
   6287     SET_H_INSN_PREFIXED_P (opval);
   6288     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6289   }
   6290 }
   6291 }
   6292 }
   6293 
   6294   abuf->written = written;
   6295 #undef FLD
   6296 }
   6297   NEXT (vpc);
   6298 
   6299   CASE (sem, INSN_ADDS_M_W_M) : /* adds-m.w [${Rs}${inc}],$Rd */
   6300 {
   6301   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6302   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6303 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6304   int UNUSED written = 0;
   6305   IADDR UNUSED pc = abuf->addr;
   6306   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6307 
   6308 {
   6309   SI tmp_tmpopd;
   6310   SI tmp_tmpops;
   6311   BI tmp_carry;
   6312   SI tmp_newval;
   6313   tmp_tmpops = EXTHISI (({   SI tmp_addr;
   6314   HI tmp_tmp_mem;
   6315   BI tmp_postinc;
   6316   tmp_postinc = FLD (f_memmode);
   6317 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6318 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   6319 ; if (NEBI (tmp_postinc, 0)) {
   6320 {
   6321 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6322   tmp_addr = ADDSI (tmp_addr, 2);
   6323 }
   6324   {
   6325     SI opval = tmp_addr;
   6326     SET_H_GR (FLD (f_operand1), opval);
   6327     written |= (1 << 11);
   6328     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6329   }
   6330 }
   6331 }
   6332 ; tmp_tmp_mem; }));
   6333   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6334   tmp_carry = CPU (h_cbit);
   6335   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6336   {
   6337     SI opval = tmp_newval;
   6338     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6339     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6340   }
   6341 {
   6342   {
   6343     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))));
   6344     CPU (h_cbit) = opval;
   6345     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6346   }
   6347   {
   6348     BI opval = LTSI (tmp_newval, 0);
   6349     CPU (h_nbit) = opval;
   6350     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6351   }
   6352   {
   6353     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6354     CPU (h_zbit) = opval;
   6355     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6356   }
   6357   {
   6358     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)));
   6359     CPU (h_vbit) = opval;
   6360     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6361   }
   6362 {
   6363   {
   6364     BI opval = 0;
   6365     CPU (h_xbit) = opval;
   6366     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6367   }
   6368   {
   6369     BI opval = 0;
   6370     SET_H_INSN_PREFIXED_P (opval);
   6371     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6372   }
   6373 }
   6374 }
   6375 }
   6376 
   6377   abuf->written = written;
   6378 #undef FLD
   6379 }
   6380   NEXT (vpc);
   6381 
   6382   CASE (sem, INSN_ADDSCBR) : /* [${Rs}${inc}],$Rd */
   6383 {
   6384   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6385   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6386 #define FLD(f) abuf->fields.sfmt_addcbr.f
   6387   int UNUSED written = 0;
   6388   IADDR UNUSED pc = abuf->addr;
   6389   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6390 
   6391 {
   6392   SI tmp_tmpopd;
   6393   SI tmp_tmpops;
   6394   BI tmp_carry;
   6395   SI tmp_newval;
   6396   tmp_tmpops = EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   6397   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6398   tmp_carry = CPU (h_cbit);
   6399   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6400   {
   6401     SI opval = tmp_newval;
   6402     SET_H_GR (FLD (f_operand2), opval);
   6403     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6404   }
   6405 {
   6406   {
   6407     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))));
   6408     CPU (h_cbit) = opval;
   6409     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6410   }
   6411   {
   6412     BI opval = LTSI (tmp_newval, 0);
   6413     CPU (h_nbit) = opval;
   6414     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6415   }
   6416   {
   6417     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6418     CPU (h_zbit) = opval;
   6419     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6420   }
   6421   {
   6422     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)));
   6423     CPU (h_vbit) = opval;
   6424     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6425   }
   6426 {
   6427   {
   6428     BI opval = 0;
   6429     CPU (h_xbit) = opval;
   6430     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6431   }
   6432   {
   6433     BI opval = 0;
   6434     SET_H_INSN_PREFIXED_P (opval);
   6435     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6436   }
   6437 }
   6438 }
   6439 }
   6440 
   6441 #undef FLD
   6442 }
   6443   NEXT (vpc);
   6444 
   6445   CASE (sem, INSN_ADDSCWR) : /* [${Rs}${inc}],$Rd */
   6446 {
   6447   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6448   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6449 #define FLD(f) abuf->fields.sfmt_addcwr.f
   6450   int UNUSED written = 0;
   6451   IADDR UNUSED pc = abuf->addr;
   6452   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6453 
   6454 {
   6455   SI tmp_tmpopd;
   6456   SI tmp_tmpops;
   6457   BI tmp_carry;
   6458   SI tmp_newval;
   6459   tmp_tmpops = EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   6460   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6461   tmp_carry = CPU (h_cbit);
   6462   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6463   {
   6464     SI opval = tmp_newval;
   6465     SET_H_GR (FLD (f_operand2), opval);
   6466     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6467   }
   6468 {
   6469   {
   6470     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))));
   6471     CPU (h_cbit) = opval;
   6472     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6473   }
   6474   {
   6475     BI opval = LTSI (tmp_newval, 0);
   6476     CPU (h_nbit) = opval;
   6477     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6478   }
   6479   {
   6480     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6481     CPU (h_zbit) = opval;
   6482     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6483   }
   6484   {
   6485     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)));
   6486     CPU (h_vbit) = opval;
   6487     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6488   }
   6489 {
   6490   {
   6491     BI opval = 0;
   6492     CPU (h_xbit) = opval;
   6493     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6494   }
   6495   {
   6496     BI opval = 0;
   6497     SET_H_INSN_PREFIXED_P (opval);
   6498     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6499   }
   6500 }
   6501 }
   6502 }
   6503 
   6504 #undef FLD
   6505 }
   6506   NEXT (vpc);
   6507 
   6508   CASE (sem, INSN_ADDU_B_R) : /* addu.b $Rs,$Rd */
   6509 {
   6510   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6511   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6512 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6513   int UNUSED written = 0;
   6514   IADDR UNUSED pc = abuf->addr;
   6515   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6516 
   6517 {
   6518   SI tmp_tmpopd;
   6519   SI tmp_tmpops;
   6520   BI tmp_carry;
   6521   SI tmp_newval;
   6522   tmp_tmpops = ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   6523   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6524   tmp_carry = CPU (h_cbit);
   6525   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6526   {
   6527     SI opval = tmp_newval;
   6528     SET_H_GR (FLD (f_operand2), opval);
   6529     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6530   }
   6531 {
   6532   {
   6533     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))));
   6534     CPU (h_cbit) = opval;
   6535     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6536   }
   6537   {
   6538     BI opval = LTSI (tmp_newval, 0);
   6539     CPU (h_nbit) = opval;
   6540     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6541   }
   6542   {
   6543     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6544     CPU (h_zbit) = opval;
   6545     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6546   }
   6547   {
   6548     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)));
   6549     CPU (h_vbit) = opval;
   6550     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6551   }
   6552 {
   6553   {
   6554     BI opval = 0;
   6555     CPU (h_xbit) = opval;
   6556     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6557   }
   6558   {
   6559     BI opval = 0;
   6560     SET_H_INSN_PREFIXED_P (opval);
   6561     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6562   }
   6563 }
   6564 }
   6565 }
   6566 
   6567 #undef FLD
   6568 }
   6569   NEXT (vpc);
   6570 
   6571   CASE (sem, INSN_ADDU_W_R) : /* addu.w $Rs,$Rd */
   6572 {
   6573   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6574   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6575 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6576   int UNUSED written = 0;
   6577   IADDR UNUSED pc = abuf->addr;
   6578   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6579 
   6580 {
   6581   SI tmp_tmpopd;
   6582   SI tmp_tmpops;
   6583   BI tmp_carry;
   6584   SI tmp_newval;
   6585   tmp_tmpops = ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   6586   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6587   tmp_carry = CPU (h_cbit);
   6588   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6589   {
   6590     SI opval = tmp_newval;
   6591     SET_H_GR (FLD (f_operand2), opval);
   6592     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6593   }
   6594 {
   6595   {
   6596     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))));
   6597     CPU (h_cbit) = opval;
   6598     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6599   }
   6600   {
   6601     BI opval = LTSI (tmp_newval, 0);
   6602     CPU (h_nbit) = opval;
   6603     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6604   }
   6605   {
   6606     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6607     CPU (h_zbit) = opval;
   6608     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6609   }
   6610   {
   6611     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)));
   6612     CPU (h_vbit) = opval;
   6613     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6614   }
   6615 {
   6616   {
   6617     BI opval = 0;
   6618     CPU (h_xbit) = opval;
   6619     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6620   }
   6621   {
   6622     BI opval = 0;
   6623     SET_H_INSN_PREFIXED_P (opval);
   6624     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6625   }
   6626 }
   6627 }
   6628 }
   6629 
   6630 #undef FLD
   6631 }
   6632   NEXT (vpc);
   6633 
   6634   CASE (sem, INSN_ADDU_M_B_M) : /* addu-m.b [${Rs}${inc}],$Rd */
   6635 {
   6636   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6637   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6638 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6639   int UNUSED written = 0;
   6640   IADDR UNUSED pc = abuf->addr;
   6641   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6642 
   6643 {
   6644   SI tmp_tmpopd;
   6645   SI tmp_tmpops;
   6646   BI tmp_carry;
   6647   SI tmp_newval;
   6648   tmp_tmpops = ZEXTQISI (({   SI tmp_addr;
   6649   QI tmp_tmp_mem;
   6650   BI tmp_postinc;
   6651   tmp_postinc = FLD (f_memmode);
   6652 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6653 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   6654 ; if (NEBI (tmp_postinc, 0)) {
   6655 {
   6656 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6657   tmp_addr = ADDSI (tmp_addr, 1);
   6658 }
   6659   {
   6660     SI opval = tmp_addr;
   6661     SET_H_GR (FLD (f_operand1), opval);
   6662     written |= (1 << 11);
   6663     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6664   }
   6665 }
   6666 }
   6667 ; tmp_tmp_mem; }));
   6668   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6669   tmp_carry = CPU (h_cbit);
   6670   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6671   {
   6672     SI opval = tmp_newval;
   6673     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6674     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6675   }
   6676 {
   6677   {
   6678     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))));
   6679     CPU (h_cbit) = opval;
   6680     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6681   }
   6682   {
   6683     BI opval = LTSI (tmp_newval, 0);
   6684     CPU (h_nbit) = opval;
   6685     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6686   }
   6687   {
   6688     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6689     CPU (h_zbit) = opval;
   6690     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6691   }
   6692   {
   6693     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)));
   6694     CPU (h_vbit) = opval;
   6695     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6696   }
   6697 {
   6698   {
   6699     BI opval = 0;
   6700     CPU (h_xbit) = opval;
   6701     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6702   }
   6703   {
   6704     BI opval = 0;
   6705     SET_H_INSN_PREFIXED_P (opval);
   6706     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6707   }
   6708 }
   6709 }
   6710 }
   6711 
   6712   abuf->written = written;
   6713 #undef FLD
   6714 }
   6715   NEXT (vpc);
   6716 
   6717   CASE (sem, INSN_ADDU_M_W_M) : /* addu-m.w [${Rs}${inc}],$Rd */
   6718 {
   6719   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6720   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6721 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   6722   int UNUSED written = 0;
   6723   IADDR UNUSED pc = abuf->addr;
   6724   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6725 
   6726 {
   6727   SI tmp_tmpopd;
   6728   SI tmp_tmpops;
   6729   BI tmp_carry;
   6730   SI tmp_newval;
   6731   tmp_tmpops = ZEXTHISI (({   SI tmp_addr;
   6732   HI tmp_tmp_mem;
   6733   BI tmp_postinc;
   6734   tmp_postinc = FLD (f_memmode);
   6735 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   6736 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   6737 ; if (NEBI (tmp_postinc, 0)) {
   6738 {
   6739 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   6740   tmp_addr = ADDSI (tmp_addr, 2);
   6741 }
   6742   {
   6743     SI opval = tmp_addr;
   6744     SET_H_GR (FLD (f_operand1), opval);
   6745     written |= (1 << 11);
   6746     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6747   }
   6748 }
   6749 }
   6750 ; tmp_tmp_mem; }));
   6751   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6752   tmp_carry = CPU (h_cbit);
   6753   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6754   {
   6755     SI opval = tmp_newval;
   6756     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   6757     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6758   }
   6759 {
   6760   {
   6761     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))));
   6762     CPU (h_cbit) = opval;
   6763     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6764   }
   6765   {
   6766     BI opval = LTSI (tmp_newval, 0);
   6767     CPU (h_nbit) = opval;
   6768     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6769   }
   6770   {
   6771     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6772     CPU (h_zbit) = opval;
   6773     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6774   }
   6775   {
   6776     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)));
   6777     CPU (h_vbit) = opval;
   6778     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6779   }
   6780 {
   6781   {
   6782     BI opval = 0;
   6783     CPU (h_xbit) = opval;
   6784     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6785   }
   6786   {
   6787     BI opval = 0;
   6788     SET_H_INSN_PREFIXED_P (opval);
   6789     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6790   }
   6791 }
   6792 }
   6793 }
   6794 
   6795   abuf->written = written;
   6796 #undef FLD
   6797 }
   6798   NEXT (vpc);
   6799 
   6800   CASE (sem, INSN_ADDUCBR) : /* [${Rs}${inc}],$Rd */
   6801 {
   6802   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6803   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6804 #define FLD(f) abuf->fields.sfmt_addcbr.f
   6805   int UNUSED written = 0;
   6806   IADDR UNUSED pc = abuf->addr;
   6807   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6808 
   6809 {
   6810   SI tmp_tmpopd;
   6811   SI tmp_tmpops;
   6812   BI tmp_carry;
   6813   SI tmp_newval;
   6814   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   6815   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6816   tmp_carry = CPU (h_cbit);
   6817   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6818   {
   6819     SI opval = tmp_newval;
   6820     SET_H_GR (FLD (f_operand2), opval);
   6821     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6822   }
   6823 {
   6824   {
   6825     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))));
   6826     CPU (h_cbit) = opval;
   6827     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6828   }
   6829   {
   6830     BI opval = LTSI (tmp_newval, 0);
   6831     CPU (h_nbit) = opval;
   6832     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6833   }
   6834   {
   6835     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6836     CPU (h_zbit) = opval;
   6837     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6838   }
   6839   {
   6840     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)));
   6841     CPU (h_vbit) = opval;
   6842     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6843   }
   6844 {
   6845   {
   6846     BI opval = 0;
   6847     CPU (h_xbit) = opval;
   6848     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6849   }
   6850   {
   6851     BI opval = 0;
   6852     SET_H_INSN_PREFIXED_P (opval);
   6853     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6854   }
   6855 }
   6856 }
   6857 }
   6858 
   6859 #undef FLD
   6860 }
   6861   NEXT (vpc);
   6862 
   6863   CASE (sem, INSN_ADDUCWR) : /* [${Rs}${inc}],$Rd */
   6864 {
   6865   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6866   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6867 #define FLD(f) abuf->fields.sfmt_addcwr.f
   6868   int UNUSED written = 0;
   6869   IADDR UNUSED pc = abuf->addr;
   6870   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   6871 
   6872 {
   6873   SI tmp_tmpopd;
   6874   SI tmp_tmpops;
   6875   BI tmp_carry;
   6876   SI tmp_newval;
   6877   tmp_tmpops = ZEXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   6878   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6879   tmp_carry = CPU (h_cbit);
   6880   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6881   {
   6882     SI opval = tmp_newval;
   6883     SET_H_GR (FLD (f_operand2), opval);
   6884     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6885   }
   6886 {
   6887   {
   6888     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))));
   6889     CPU (h_cbit) = opval;
   6890     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6891   }
   6892   {
   6893     BI opval = LTSI (tmp_newval, 0);
   6894     CPU (h_nbit) = opval;
   6895     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6896   }
   6897   {
   6898     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6899     CPU (h_zbit) = opval;
   6900     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6901   }
   6902   {
   6903     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)));
   6904     CPU (h_vbit) = opval;
   6905     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6906   }
   6907 {
   6908   {
   6909     BI opval = 0;
   6910     CPU (h_xbit) = opval;
   6911     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6912   }
   6913   {
   6914     BI opval = 0;
   6915     SET_H_INSN_PREFIXED_P (opval);
   6916     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6917   }
   6918 }
   6919 }
   6920 }
   6921 
   6922 #undef FLD
   6923 }
   6924   NEXT (vpc);
   6925 
   6926   CASE (sem, INSN_SUB_B_R) : /* sub.b $Rs,$Rd */
   6927 {
   6928   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6929   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6930 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6931   int UNUSED written = 0;
   6932   IADDR UNUSED pc = abuf->addr;
   6933   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   6934 
   6935 {
   6936   QI tmp_tmpopd;
   6937   QI tmp_tmpops;
   6938   BI tmp_carry;
   6939   QI tmp_newval;
   6940   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   6941   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   6942   tmp_carry = CPU (h_cbit);
   6943   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   6944 {
   6945   SI tmp_oldregval;
   6946   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   6947   {
   6948     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   6949     SET_H_GR (FLD (f_operand2), opval);
   6950     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   6951   }
   6952 }
   6953 {
   6954   {
   6955     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))));
   6956     CPU (h_cbit) = opval;
   6957     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   6958   }
   6959   {
   6960     BI opval = LTQI (tmp_newval, 0);
   6961     CPU (h_nbit) = opval;
   6962     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   6963   }
   6964   {
   6965     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   6966     CPU (h_zbit) = opval;
   6967     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   6968   }
   6969   {
   6970     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)));
   6971     CPU (h_vbit) = opval;
   6972     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   6973   }
   6974 {
   6975   {
   6976     BI opval = 0;
   6977     CPU (h_xbit) = opval;
   6978     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   6979   }
   6980   {
   6981     BI opval = 0;
   6982     SET_H_INSN_PREFIXED_P (opval);
   6983     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   6984   }
   6985 }
   6986 }
   6987 }
   6988 
   6989 #undef FLD
   6990 }
   6991   NEXT (vpc);
   6992 
   6993   CASE (sem, INSN_SUB_W_R) : /* sub.w $Rs,$Rd */
   6994 {
   6995   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   6996   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   6997 #define FLD(f) abuf->fields.sfmt_addc_m.f
   6998   int UNUSED written = 0;
   6999   IADDR UNUSED pc = abuf->addr;
   7000   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7001 
   7002 {
   7003   HI tmp_tmpopd;
   7004   HI tmp_tmpops;
   7005   BI tmp_carry;
   7006   HI tmp_newval;
   7007   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   7008   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7009   tmp_carry = CPU (h_cbit);
   7010   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7011 {
   7012   SI tmp_oldregval;
   7013   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   7014   {
   7015     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   7016     SET_H_GR (FLD (f_operand2), opval);
   7017     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7018   }
   7019 }
   7020 {
   7021   {
   7022     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))));
   7023     CPU (h_cbit) = opval;
   7024     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7025   }
   7026   {
   7027     BI opval = LTHI (tmp_newval, 0);
   7028     CPU (h_nbit) = opval;
   7029     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7030   }
   7031   {
   7032     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7033     CPU (h_zbit) = opval;
   7034     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7035   }
   7036   {
   7037     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)));
   7038     CPU (h_vbit) = opval;
   7039     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7040   }
   7041 {
   7042   {
   7043     BI opval = 0;
   7044     CPU (h_xbit) = opval;
   7045     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7046   }
   7047   {
   7048     BI opval = 0;
   7049     SET_H_INSN_PREFIXED_P (opval);
   7050     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7051   }
   7052 }
   7053 }
   7054 }
   7055 
   7056 #undef FLD
   7057 }
   7058   NEXT (vpc);
   7059 
   7060   CASE (sem, INSN_SUB_D_R) : /* sub.d $Rs,$Rd */
   7061 {
   7062   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7063   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7064 #define FLD(f) abuf->fields.sfmt_addc_m.f
   7065   int UNUSED written = 0;
   7066   IADDR UNUSED pc = abuf->addr;
   7067   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7068 
   7069 {
   7070   SI tmp_tmpopd;
   7071   SI tmp_tmpops;
   7072   BI tmp_carry;
   7073   SI tmp_newval;
   7074   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   7075   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7076   tmp_carry = CPU (h_cbit);
   7077   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7078   {
   7079     SI opval = tmp_newval;
   7080     SET_H_GR (FLD (f_operand2), opval);
   7081     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7082   }
   7083 {
   7084   {
   7085     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))));
   7086     CPU (h_cbit) = opval;
   7087     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7088   }
   7089   {
   7090     BI opval = LTSI (tmp_newval, 0);
   7091     CPU (h_nbit) = opval;
   7092     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7093   }
   7094   {
   7095     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7096     CPU (h_zbit) = opval;
   7097     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7098   }
   7099   {
   7100     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)));
   7101     CPU (h_vbit) = opval;
   7102     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7103   }
   7104 {
   7105   {
   7106     BI opval = 0;
   7107     CPU (h_xbit) = opval;
   7108     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7109   }
   7110   {
   7111     BI opval = 0;
   7112     SET_H_INSN_PREFIXED_P (opval);
   7113     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7114   }
   7115 }
   7116 }
   7117 }
   7118 
   7119 #undef FLD
   7120 }
   7121   NEXT (vpc);
   7122 
   7123   CASE (sem, INSN_SUB_M_B_M) : /* sub-m.b [${Rs}${inc}],${Rd} */
   7124 {
   7125   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7126   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7127 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7128   int UNUSED written = 0;
   7129   IADDR UNUSED pc = abuf->addr;
   7130   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7131 
   7132 {
   7133   QI tmp_tmpopd;
   7134   QI tmp_tmpops;
   7135   BI tmp_carry;
   7136   QI tmp_newval;
   7137   tmp_tmpops = ({   SI tmp_addr;
   7138   QI tmp_tmp_mem;
   7139   BI tmp_postinc;
   7140   tmp_postinc = FLD (f_memmode);
   7141 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7142 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   7143 ; if (NEBI (tmp_postinc, 0)) {
   7144 {
   7145 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7146   tmp_addr = ADDSI (tmp_addr, 1);
   7147 }
   7148   {
   7149     SI opval = tmp_addr;
   7150     SET_H_GR (FLD (f_operand1), opval);
   7151     written |= (1 << 12);
   7152     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7153   }
   7154 }
   7155 }
   7156 ; tmp_tmp_mem; });
   7157   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7158   tmp_carry = CPU (h_cbit);
   7159   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7160 {
   7161   SI tmp_oldregval;
   7162   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   7163   {
   7164     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   7165     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7166     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7167   }
   7168 }
   7169 {
   7170   {
   7171     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))));
   7172     CPU (h_cbit) = opval;
   7173     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7174   }
   7175   {
   7176     BI opval = LTQI (tmp_newval, 0);
   7177     CPU (h_nbit) = opval;
   7178     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7179   }
   7180   {
   7181     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7182     CPU (h_zbit) = opval;
   7183     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7184   }
   7185   {
   7186     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)));
   7187     CPU (h_vbit) = opval;
   7188     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7189   }
   7190 {
   7191   {
   7192     BI opval = 0;
   7193     CPU (h_xbit) = opval;
   7194     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7195   }
   7196   {
   7197     BI opval = 0;
   7198     SET_H_INSN_PREFIXED_P (opval);
   7199     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7200   }
   7201 }
   7202 }
   7203 }
   7204 
   7205   abuf->written = written;
   7206 #undef FLD
   7207 }
   7208   NEXT (vpc);
   7209 
   7210   CASE (sem, INSN_SUB_M_W_M) : /* sub-m.w [${Rs}${inc}],${Rd} */
   7211 {
   7212   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7213   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7214 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7215   int UNUSED written = 0;
   7216   IADDR UNUSED pc = abuf->addr;
   7217   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7218 
   7219 {
   7220   HI tmp_tmpopd;
   7221   HI tmp_tmpops;
   7222   BI tmp_carry;
   7223   HI tmp_newval;
   7224   tmp_tmpops = ({   SI tmp_addr;
   7225   HI tmp_tmp_mem;
   7226   BI tmp_postinc;
   7227   tmp_postinc = FLD (f_memmode);
   7228 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7229 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   7230 ; if (NEBI (tmp_postinc, 0)) {
   7231 {
   7232 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7233   tmp_addr = ADDSI (tmp_addr, 2);
   7234 }
   7235   {
   7236     SI opval = tmp_addr;
   7237     SET_H_GR (FLD (f_operand1), opval);
   7238     written |= (1 << 12);
   7239     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7240   }
   7241 }
   7242 }
   7243 ; tmp_tmp_mem; });
   7244   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7245   tmp_carry = CPU (h_cbit);
   7246   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7247 {
   7248   SI tmp_oldregval;
   7249   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   7250   {
   7251     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   7252     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7253     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7254   }
   7255 }
   7256 {
   7257   {
   7258     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))));
   7259     CPU (h_cbit) = opval;
   7260     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7261   }
   7262   {
   7263     BI opval = LTHI (tmp_newval, 0);
   7264     CPU (h_nbit) = opval;
   7265     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7266   }
   7267   {
   7268     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7269     CPU (h_zbit) = opval;
   7270     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7271   }
   7272   {
   7273     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)));
   7274     CPU (h_vbit) = opval;
   7275     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7276   }
   7277 {
   7278   {
   7279     BI opval = 0;
   7280     CPU (h_xbit) = opval;
   7281     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7282   }
   7283   {
   7284     BI opval = 0;
   7285     SET_H_INSN_PREFIXED_P (opval);
   7286     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7287   }
   7288 }
   7289 }
   7290 }
   7291 
   7292   abuf->written = written;
   7293 #undef FLD
   7294 }
   7295   NEXT (vpc);
   7296 
   7297   CASE (sem, INSN_SUB_M_D_M) : /* sub-m.d [${Rs}${inc}],${Rd} */
   7298 {
   7299   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7300   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7301 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7302   int UNUSED written = 0;
   7303   IADDR UNUSED pc = abuf->addr;
   7304   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7305 
   7306 {
   7307   SI tmp_tmpopd;
   7308   SI tmp_tmpops;
   7309   BI tmp_carry;
   7310   SI tmp_newval;
   7311   tmp_tmpops = ({   SI tmp_addr;
   7312   SI tmp_tmp_mem;
   7313   BI tmp_postinc;
   7314   tmp_postinc = FLD (f_memmode);
   7315 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7316 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   7317 ; if (NEBI (tmp_postinc, 0)) {
   7318 {
   7319 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7320   tmp_addr = ADDSI (tmp_addr, 4);
   7321 }
   7322   {
   7323     SI opval = tmp_addr;
   7324     SET_H_GR (FLD (f_operand1), opval);
   7325     written |= (1 << 11);
   7326     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7327   }
   7328 }
   7329 }
   7330 ; tmp_tmp_mem; });
   7331   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7332   tmp_carry = CPU (h_cbit);
   7333   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7334   {
   7335     SI opval = tmp_newval;
   7336     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7337     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7338   }
   7339 {
   7340   {
   7341     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))));
   7342     CPU (h_cbit) = opval;
   7343     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7344   }
   7345   {
   7346     BI opval = LTSI (tmp_newval, 0);
   7347     CPU (h_nbit) = opval;
   7348     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7349   }
   7350   {
   7351     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7352     CPU (h_zbit) = opval;
   7353     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7354   }
   7355   {
   7356     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)));
   7357     CPU (h_vbit) = opval;
   7358     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7359   }
   7360 {
   7361   {
   7362     BI opval = 0;
   7363     CPU (h_xbit) = opval;
   7364     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7365   }
   7366   {
   7367     BI opval = 0;
   7368     SET_H_INSN_PREFIXED_P (opval);
   7369     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7370   }
   7371 }
   7372 }
   7373 }
   7374 
   7375   abuf->written = written;
   7376 #undef FLD
   7377 }
   7378   NEXT (vpc);
   7379 
   7380   CASE (sem, INSN_SUBCBR) : /* sub.b ${sconst8}],${Rd} */
   7381 {
   7382   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7383   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7384 #define FLD(f) abuf->fields.sfmt_addcbr.f
   7385   int UNUSED written = 0;
   7386   IADDR UNUSED pc = abuf->addr;
   7387   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7388 
   7389 {
   7390   QI tmp_tmpopd;
   7391   QI tmp_tmpops;
   7392   BI tmp_carry;
   7393   QI tmp_newval;
   7394   tmp_tmpops = FLD (f_indir_pc__byte);
   7395   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7396   tmp_carry = CPU (h_cbit);
   7397   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7398 {
   7399   SI tmp_oldregval;
   7400   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   7401   {
   7402     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   7403     SET_H_GR (FLD (f_operand2), opval);
   7404     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7405   }
   7406 }
   7407 {
   7408   {
   7409     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))));
   7410     CPU (h_cbit) = opval;
   7411     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7412   }
   7413   {
   7414     BI opval = LTQI (tmp_newval, 0);
   7415     CPU (h_nbit) = opval;
   7416     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7417   }
   7418   {
   7419     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7420     CPU (h_zbit) = opval;
   7421     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7422   }
   7423   {
   7424     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)));
   7425     CPU (h_vbit) = opval;
   7426     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7427   }
   7428 {
   7429   {
   7430     BI opval = 0;
   7431     CPU (h_xbit) = opval;
   7432     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7433   }
   7434   {
   7435     BI opval = 0;
   7436     SET_H_INSN_PREFIXED_P (opval);
   7437     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7438   }
   7439 }
   7440 }
   7441 }
   7442 
   7443 #undef FLD
   7444 }
   7445   NEXT (vpc);
   7446 
   7447   CASE (sem, INSN_SUBCWR) : /* sub.w ${sconst16}],${Rd} */
   7448 {
   7449   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7450   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7451 #define FLD(f) abuf->fields.sfmt_addcwr.f
   7452   int UNUSED written = 0;
   7453   IADDR UNUSED pc = abuf->addr;
   7454   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7455 
   7456 {
   7457   HI tmp_tmpopd;
   7458   HI tmp_tmpops;
   7459   BI tmp_carry;
   7460   HI tmp_newval;
   7461   tmp_tmpops = FLD (f_indir_pc__word);
   7462   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7463   tmp_carry = CPU (h_cbit);
   7464   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7465 {
   7466   SI tmp_oldregval;
   7467   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   7468   {
   7469     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   7470     SET_H_GR (FLD (f_operand2), opval);
   7471     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7472   }
   7473 }
   7474 {
   7475   {
   7476     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))));
   7477     CPU (h_cbit) = opval;
   7478     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7479   }
   7480   {
   7481     BI opval = LTHI (tmp_newval, 0);
   7482     CPU (h_nbit) = opval;
   7483     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7484   }
   7485   {
   7486     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7487     CPU (h_zbit) = opval;
   7488     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7489   }
   7490   {
   7491     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)));
   7492     CPU (h_vbit) = opval;
   7493     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7494   }
   7495 {
   7496   {
   7497     BI opval = 0;
   7498     CPU (h_xbit) = opval;
   7499     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7500   }
   7501   {
   7502     BI opval = 0;
   7503     SET_H_INSN_PREFIXED_P (opval);
   7504     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7505   }
   7506 }
   7507 }
   7508 }
   7509 
   7510 #undef FLD
   7511 }
   7512   NEXT (vpc);
   7513 
   7514   CASE (sem, INSN_SUBCDR) : /* sub.d ${const32}],${Rd} */
   7515 {
   7516   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7517   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7518 #define FLD(f) abuf->fields.sfmt_addcdr.f
   7519   int UNUSED written = 0;
   7520   IADDR UNUSED pc = abuf->addr;
   7521   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   7522 
   7523 {
   7524   SI tmp_tmpopd;
   7525   SI tmp_tmpops;
   7526   BI tmp_carry;
   7527   SI tmp_newval;
   7528   tmp_tmpops = FLD (f_indir_pc__dword);
   7529   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7530   tmp_carry = CPU (h_cbit);
   7531   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7532   {
   7533     SI opval = tmp_newval;
   7534     SET_H_GR (FLD (f_operand2), opval);
   7535     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7536   }
   7537 {
   7538   {
   7539     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))));
   7540     CPU (h_cbit) = opval;
   7541     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7542   }
   7543   {
   7544     BI opval = LTSI (tmp_newval, 0);
   7545     CPU (h_nbit) = opval;
   7546     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7547   }
   7548   {
   7549     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7550     CPU (h_zbit) = opval;
   7551     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7552   }
   7553   {
   7554     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)));
   7555     CPU (h_vbit) = opval;
   7556     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7557   }
   7558 {
   7559   {
   7560     BI opval = 0;
   7561     CPU (h_xbit) = opval;
   7562     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7563   }
   7564   {
   7565     BI opval = 0;
   7566     SET_H_INSN_PREFIXED_P (opval);
   7567     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7568   }
   7569 }
   7570 }
   7571 }
   7572 
   7573 #undef FLD
   7574 }
   7575   NEXT (vpc);
   7576 
   7577   CASE (sem, INSN_SUBS_B_R) : /* subs.b $Rs,$Rd */
   7578 {
   7579   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7580   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7581 #define FLD(f) abuf->fields.sfmt_addc_m.f
   7582   int UNUSED written = 0;
   7583   IADDR UNUSED pc = abuf->addr;
   7584   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7585 
   7586 {
   7587   SI tmp_tmpopd;
   7588   SI tmp_tmpops;
   7589   BI tmp_carry;
   7590   SI tmp_newval;
   7591   tmp_tmpops = EXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   7592   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7593   tmp_carry = CPU (h_cbit);
   7594   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7595   {
   7596     SI opval = tmp_newval;
   7597     SET_H_GR (FLD (f_operand2), opval);
   7598     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7599   }
   7600 {
   7601   {
   7602     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))));
   7603     CPU (h_cbit) = opval;
   7604     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7605   }
   7606   {
   7607     BI opval = LTSI (tmp_newval, 0);
   7608     CPU (h_nbit) = opval;
   7609     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7610   }
   7611   {
   7612     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7613     CPU (h_zbit) = opval;
   7614     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7615   }
   7616   {
   7617     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)));
   7618     CPU (h_vbit) = opval;
   7619     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7620   }
   7621 {
   7622   {
   7623     BI opval = 0;
   7624     CPU (h_xbit) = opval;
   7625     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7626   }
   7627   {
   7628     BI opval = 0;
   7629     SET_H_INSN_PREFIXED_P (opval);
   7630     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7631   }
   7632 }
   7633 }
   7634 }
   7635 
   7636 #undef FLD
   7637 }
   7638   NEXT (vpc);
   7639 
   7640   CASE (sem, INSN_SUBS_W_R) : /* subs.w $Rs,$Rd */
   7641 {
   7642   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7643   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7644 #define FLD(f) abuf->fields.sfmt_addc_m.f
   7645   int UNUSED written = 0;
   7646   IADDR UNUSED pc = abuf->addr;
   7647   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7648 
   7649 {
   7650   SI tmp_tmpopd;
   7651   SI tmp_tmpops;
   7652   BI tmp_carry;
   7653   SI tmp_newval;
   7654   tmp_tmpops = EXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   7655   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7656   tmp_carry = CPU (h_cbit);
   7657   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7658   {
   7659     SI opval = tmp_newval;
   7660     SET_H_GR (FLD (f_operand2), opval);
   7661     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7662   }
   7663 {
   7664   {
   7665     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))));
   7666     CPU (h_cbit) = opval;
   7667     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7668   }
   7669   {
   7670     BI opval = LTSI (tmp_newval, 0);
   7671     CPU (h_nbit) = opval;
   7672     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7673   }
   7674   {
   7675     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7676     CPU (h_zbit) = opval;
   7677     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7678   }
   7679   {
   7680     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)));
   7681     CPU (h_vbit) = opval;
   7682     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7683   }
   7684 {
   7685   {
   7686     BI opval = 0;
   7687     CPU (h_xbit) = opval;
   7688     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7689   }
   7690   {
   7691     BI opval = 0;
   7692     SET_H_INSN_PREFIXED_P (opval);
   7693     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7694   }
   7695 }
   7696 }
   7697 }
   7698 
   7699 #undef FLD
   7700 }
   7701   NEXT (vpc);
   7702 
   7703   CASE (sem, INSN_SUBS_M_B_M) : /* subs-m.b [${Rs}${inc}],$Rd */
   7704 {
   7705   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7706   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7707 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7708   int UNUSED written = 0;
   7709   IADDR UNUSED pc = abuf->addr;
   7710   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7711 
   7712 {
   7713   SI tmp_tmpopd;
   7714   SI tmp_tmpops;
   7715   BI tmp_carry;
   7716   SI tmp_newval;
   7717   tmp_tmpops = EXTQISI (({   SI tmp_addr;
   7718   QI tmp_tmp_mem;
   7719   BI tmp_postinc;
   7720   tmp_postinc = FLD (f_memmode);
   7721 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7722 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   7723 ; if (NEBI (tmp_postinc, 0)) {
   7724 {
   7725 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7726   tmp_addr = ADDSI (tmp_addr, 1);
   7727 }
   7728   {
   7729     SI opval = tmp_addr;
   7730     SET_H_GR (FLD (f_operand1), opval);
   7731     written |= (1 << 11);
   7732     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7733   }
   7734 }
   7735 }
   7736 ; tmp_tmp_mem; }));
   7737   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7738   tmp_carry = CPU (h_cbit);
   7739   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7740   {
   7741     SI opval = tmp_newval;
   7742     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7743     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7744   }
   7745 {
   7746   {
   7747     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))));
   7748     CPU (h_cbit) = opval;
   7749     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7750   }
   7751   {
   7752     BI opval = LTSI (tmp_newval, 0);
   7753     CPU (h_nbit) = opval;
   7754     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7755   }
   7756   {
   7757     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7758     CPU (h_zbit) = opval;
   7759     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7760   }
   7761   {
   7762     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)));
   7763     CPU (h_vbit) = opval;
   7764     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7765   }
   7766 {
   7767   {
   7768     BI opval = 0;
   7769     CPU (h_xbit) = opval;
   7770     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7771   }
   7772   {
   7773     BI opval = 0;
   7774     SET_H_INSN_PREFIXED_P (opval);
   7775     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7776   }
   7777 }
   7778 }
   7779 }
   7780 
   7781   abuf->written = written;
   7782 #undef FLD
   7783 }
   7784   NEXT (vpc);
   7785 
   7786   CASE (sem, INSN_SUBS_M_W_M) : /* subs-m.w [${Rs}${inc}],$Rd */
   7787 {
   7788   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7789   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7790 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   7791   int UNUSED written = 0;
   7792   IADDR UNUSED pc = abuf->addr;
   7793   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   7794 
   7795 {
   7796   SI tmp_tmpopd;
   7797   SI tmp_tmpops;
   7798   BI tmp_carry;
   7799   SI tmp_newval;
   7800   tmp_tmpops = EXTHISI (({   SI tmp_addr;
   7801   HI tmp_tmp_mem;
   7802   BI tmp_postinc;
   7803   tmp_postinc = FLD (f_memmode);
   7804 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   7805 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   7806 ; if (NEBI (tmp_postinc, 0)) {
   7807 {
   7808 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   7809   tmp_addr = ADDSI (tmp_addr, 2);
   7810 }
   7811   {
   7812     SI opval = tmp_addr;
   7813     SET_H_GR (FLD (f_operand1), opval);
   7814     written |= (1 << 11);
   7815     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7816   }
   7817 }
   7818 }
   7819 ; tmp_tmp_mem; }));
   7820   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7821   tmp_carry = CPU (h_cbit);
   7822   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7823   {
   7824     SI opval = tmp_newval;
   7825     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   7826     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7827   }
   7828 {
   7829   {
   7830     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))));
   7831     CPU (h_cbit) = opval;
   7832     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7833   }
   7834   {
   7835     BI opval = LTSI (tmp_newval, 0);
   7836     CPU (h_nbit) = opval;
   7837     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7838   }
   7839   {
   7840     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7841     CPU (h_zbit) = opval;
   7842     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7843   }
   7844   {
   7845     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)));
   7846     CPU (h_vbit) = opval;
   7847     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7848   }
   7849 {
   7850   {
   7851     BI opval = 0;
   7852     CPU (h_xbit) = opval;
   7853     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7854   }
   7855   {
   7856     BI opval = 0;
   7857     SET_H_INSN_PREFIXED_P (opval);
   7858     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7859   }
   7860 }
   7861 }
   7862 }
   7863 
   7864   abuf->written = written;
   7865 #undef FLD
   7866 }
   7867   NEXT (vpc);
   7868 
   7869   CASE (sem, INSN_SUBSCBR) : /* [${Rs}${inc}],$Rd */
   7870 {
   7871   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7872   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7873 #define FLD(f) abuf->fields.sfmt_addcbr.f
   7874   int UNUSED written = 0;
   7875   IADDR UNUSED pc = abuf->addr;
   7876   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7877 
   7878 {
   7879   SI tmp_tmpopd;
   7880   SI tmp_tmpops;
   7881   BI tmp_carry;
   7882   SI tmp_newval;
   7883   tmp_tmpops = EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   7884   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7885   tmp_carry = CPU (h_cbit);
   7886   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7887   {
   7888     SI opval = tmp_newval;
   7889     SET_H_GR (FLD (f_operand2), opval);
   7890     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7891   }
   7892 {
   7893   {
   7894     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))));
   7895     CPU (h_cbit) = opval;
   7896     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7897   }
   7898   {
   7899     BI opval = LTSI (tmp_newval, 0);
   7900     CPU (h_nbit) = opval;
   7901     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7902   }
   7903   {
   7904     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7905     CPU (h_zbit) = opval;
   7906     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7907   }
   7908   {
   7909     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)));
   7910     CPU (h_vbit) = opval;
   7911     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7912   }
   7913 {
   7914   {
   7915     BI opval = 0;
   7916     CPU (h_xbit) = opval;
   7917     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7918   }
   7919   {
   7920     BI opval = 0;
   7921     SET_H_INSN_PREFIXED_P (opval);
   7922     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7923   }
   7924 }
   7925 }
   7926 }
   7927 
   7928 #undef FLD
   7929 }
   7930   NEXT (vpc);
   7931 
   7932   CASE (sem, INSN_SUBSCWR) : /* [${Rs}${inc}],$Rd */
   7933 {
   7934   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7935   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7936 #define FLD(f) abuf->fields.sfmt_addcwr.f
   7937   int UNUSED written = 0;
   7938   IADDR UNUSED pc = abuf->addr;
   7939   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   7940 
   7941 {
   7942   SI tmp_tmpopd;
   7943   SI tmp_tmpops;
   7944   BI tmp_carry;
   7945   SI tmp_newval;
   7946   tmp_tmpops = EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   7947   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   7948   tmp_carry = CPU (h_cbit);
   7949   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   7950   {
   7951     SI opval = tmp_newval;
   7952     SET_H_GR (FLD (f_operand2), opval);
   7953     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   7954   }
   7955 {
   7956   {
   7957     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))));
   7958     CPU (h_cbit) = opval;
   7959     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   7960   }
   7961   {
   7962     BI opval = LTSI (tmp_newval, 0);
   7963     CPU (h_nbit) = opval;
   7964     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   7965   }
   7966   {
   7967     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   7968     CPU (h_zbit) = opval;
   7969     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   7970   }
   7971   {
   7972     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)));
   7973     CPU (h_vbit) = opval;
   7974     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   7975   }
   7976 {
   7977   {
   7978     BI opval = 0;
   7979     CPU (h_xbit) = opval;
   7980     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   7981   }
   7982   {
   7983     BI opval = 0;
   7984     SET_H_INSN_PREFIXED_P (opval);
   7985     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   7986   }
   7987 }
   7988 }
   7989 }
   7990 
   7991 #undef FLD
   7992 }
   7993   NEXT (vpc);
   7994 
   7995   CASE (sem, INSN_SUBU_B_R) : /* subu.b $Rs,$Rd */
   7996 {
   7997   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   7998   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   7999 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8000   int UNUSED written = 0;
   8001   IADDR UNUSED pc = abuf->addr;
   8002   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8003 
   8004 {
   8005   SI tmp_tmpopd;
   8006   SI tmp_tmpops;
   8007   BI tmp_carry;
   8008   SI tmp_newval;
   8009   tmp_tmpops = ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   8010   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8011   tmp_carry = CPU (h_cbit);
   8012   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8013   {
   8014     SI opval = tmp_newval;
   8015     SET_H_GR (FLD (f_operand2), opval);
   8016     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8017   }
   8018 {
   8019   {
   8020     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))));
   8021     CPU (h_cbit) = opval;
   8022     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8023   }
   8024   {
   8025     BI opval = LTSI (tmp_newval, 0);
   8026     CPU (h_nbit) = opval;
   8027     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8028   }
   8029   {
   8030     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8031     CPU (h_zbit) = opval;
   8032     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8033   }
   8034   {
   8035     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)));
   8036     CPU (h_vbit) = opval;
   8037     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8038   }
   8039 {
   8040   {
   8041     BI opval = 0;
   8042     CPU (h_xbit) = opval;
   8043     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8044   }
   8045   {
   8046     BI opval = 0;
   8047     SET_H_INSN_PREFIXED_P (opval);
   8048     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8049   }
   8050 }
   8051 }
   8052 }
   8053 
   8054 #undef FLD
   8055 }
   8056   NEXT (vpc);
   8057 
   8058   CASE (sem, INSN_SUBU_W_R) : /* subu.w $Rs,$Rd */
   8059 {
   8060   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8061   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8062 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8063   int UNUSED written = 0;
   8064   IADDR UNUSED pc = abuf->addr;
   8065   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8066 
   8067 {
   8068   SI tmp_tmpopd;
   8069   SI tmp_tmpops;
   8070   BI tmp_carry;
   8071   SI tmp_newval;
   8072   tmp_tmpops = ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   8073   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8074   tmp_carry = CPU (h_cbit);
   8075   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8076   {
   8077     SI opval = tmp_newval;
   8078     SET_H_GR (FLD (f_operand2), opval);
   8079     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8080   }
   8081 {
   8082   {
   8083     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))));
   8084     CPU (h_cbit) = opval;
   8085     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8086   }
   8087   {
   8088     BI opval = LTSI (tmp_newval, 0);
   8089     CPU (h_nbit) = opval;
   8090     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8091   }
   8092   {
   8093     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8094     CPU (h_zbit) = opval;
   8095     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8096   }
   8097   {
   8098     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)));
   8099     CPU (h_vbit) = opval;
   8100     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8101   }
   8102 {
   8103   {
   8104     BI opval = 0;
   8105     CPU (h_xbit) = opval;
   8106     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8107   }
   8108   {
   8109     BI opval = 0;
   8110     SET_H_INSN_PREFIXED_P (opval);
   8111     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8112   }
   8113 }
   8114 }
   8115 }
   8116 
   8117 #undef FLD
   8118 }
   8119   NEXT (vpc);
   8120 
   8121   CASE (sem, INSN_SUBU_M_B_M) : /* subu-m.b [${Rs}${inc}],$Rd */
   8122 {
   8123   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8124   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8125 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   8126   int UNUSED written = 0;
   8127   IADDR UNUSED pc = abuf->addr;
   8128   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8129 
   8130 {
   8131   SI tmp_tmpopd;
   8132   SI tmp_tmpops;
   8133   BI tmp_carry;
   8134   SI tmp_newval;
   8135   tmp_tmpops = ZEXTQISI (({   SI tmp_addr;
   8136   QI tmp_tmp_mem;
   8137   BI tmp_postinc;
   8138   tmp_postinc = FLD (f_memmode);
   8139 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   8140 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   8141 ; if (NEBI (tmp_postinc, 0)) {
   8142 {
   8143 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   8144   tmp_addr = ADDSI (tmp_addr, 1);
   8145 }
   8146   {
   8147     SI opval = tmp_addr;
   8148     SET_H_GR (FLD (f_operand1), opval);
   8149     written |= (1 << 11);
   8150     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8151   }
   8152 }
   8153 }
   8154 ; tmp_tmp_mem; }));
   8155   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8156   tmp_carry = CPU (h_cbit);
   8157   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8158   {
   8159     SI opval = tmp_newval;
   8160     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   8161     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8162   }
   8163 {
   8164   {
   8165     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))));
   8166     CPU (h_cbit) = opval;
   8167     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8168   }
   8169   {
   8170     BI opval = LTSI (tmp_newval, 0);
   8171     CPU (h_nbit) = opval;
   8172     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8173   }
   8174   {
   8175     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8176     CPU (h_zbit) = opval;
   8177     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8178   }
   8179   {
   8180     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)));
   8181     CPU (h_vbit) = opval;
   8182     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8183   }
   8184 {
   8185   {
   8186     BI opval = 0;
   8187     CPU (h_xbit) = opval;
   8188     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8189   }
   8190   {
   8191     BI opval = 0;
   8192     SET_H_INSN_PREFIXED_P (opval);
   8193     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8194   }
   8195 }
   8196 }
   8197 }
   8198 
   8199   abuf->written = written;
   8200 #undef FLD
   8201 }
   8202   NEXT (vpc);
   8203 
   8204   CASE (sem, INSN_SUBU_M_W_M) : /* subu-m.w [${Rs}${inc}],$Rd */
   8205 {
   8206   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8207   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8208 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   8209   int UNUSED written = 0;
   8210   IADDR UNUSED pc = abuf->addr;
   8211   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8212 
   8213 {
   8214   SI tmp_tmpopd;
   8215   SI tmp_tmpops;
   8216   BI tmp_carry;
   8217   SI tmp_newval;
   8218   tmp_tmpops = ZEXTHISI (({   SI tmp_addr;
   8219   HI tmp_tmp_mem;
   8220   BI tmp_postinc;
   8221   tmp_postinc = FLD (f_memmode);
   8222 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   8223 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   8224 ; if (NEBI (tmp_postinc, 0)) {
   8225 {
   8226 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   8227   tmp_addr = ADDSI (tmp_addr, 2);
   8228 }
   8229   {
   8230     SI opval = tmp_addr;
   8231     SET_H_GR (FLD (f_operand1), opval);
   8232     written |= (1 << 11);
   8233     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8234   }
   8235 }
   8236 }
   8237 ; tmp_tmp_mem; }));
   8238   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8239   tmp_carry = CPU (h_cbit);
   8240   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8241   {
   8242     SI opval = tmp_newval;
   8243     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   8244     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8245   }
   8246 {
   8247   {
   8248     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))));
   8249     CPU (h_cbit) = opval;
   8250     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8251   }
   8252   {
   8253     BI opval = LTSI (tmp_newval, 0);
   8254     CPU (h_nbit) = opval;
   8255     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8256   }
   8257   {
   8258     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8259     CPU (h_zbit) = opval;
   8260     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8261   }
   8262   {
   8263     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)));
   8264     CPU (h_vbit) = opval;
   8265     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8266   }
   8267 {
   8268   {
   8269     BI opval = 0;
   8270     CPU (h_xbit) = opval;
   8271     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8272   }
   8273   {
   8274     BI opval = 0;
   8275     SET_H_INSN_PREFIXED_P (opval);
   8276     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8277   }
   8278 }
   8279 }
   8280 }
   8281 
   8282   abuf->written = written;
   8283 #undef FLD
   8284 }
   8285   NEXT (vpc);
   8286 
   8287   CASE (sem, INSN_SUBUCBR) : /* [${Rs}${inc}],$Rd */
   8288 {
   8289   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8290   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8291 #define FLD(f) abuf->fields.sfmt_addcbr.f
   8292   int UNUSED written = 0;
   8293   IADDR UNUSED pc = abuf->addr;
   8294   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   8295 
   8296 {
   8297   SI tmp_tmpopd;
   8298   SI tmp_tmpops;
   8299   BI tmp_carry;
   8300   SI tmp_newval;
   8301   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   8302   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8303   tmp_carry = CPU (h_cbit);
   8304   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8305   {
   8306     SI opval = tmp_newval;
   8307     SET_H_GR (FLD (f_operand2), opval);
   8308     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8309   }
   8310 {
   8311   {
   8312     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))));
   8313     CPU (h_cbit) = opval;
   8314     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8315   }
   8316   {
   8317     BI opval = LTSI (tmp_newval, 0);
   8318     CPU (h_nbit) = opval;
   8319     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8320   }
   8321   {
   8322     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8323     CPU (h_zbit) = opval;
   8324     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8325   }
   8326   {
   8327     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)));
   8328     CPU (h_vbit) = opval;
   8329     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8330   }
   8331 {
   8332   {
   8333     BI opval = 0;
   8334     CPU (h_xbit) = opval;
   8335     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8336   }
   8337   {
   8338     BI opval = 0;
   8339     SET_H_INSN_PREFIXED_P (opval);
   8340     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8341   }
   8342 }
   8343 }
   8344 }
   8345 
   8346 #undef FLD
   8347 }
   8348   NEXT (vpc);
   8349 
   8350   CASE (sem, INSN_SUBUCWR) : /* [${Rs}${inc}],$Rd */
   8351 {
   8352   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8353   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8354 #define FLD(f) abuf->fields.sfmt_addcwr.f
   8355   int UNUSED written = 0;
   8356   IADDR UNUSED pc = abuf->addr;
   8357   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   8358 
   8359 {
   8360   SI tmp_tmpopd;
   8361   SI tmp_tmpops;
   8362   BI tmp_carry;
   8363   SI tmp_newval;
   8364   tmp_tmpops = ZEXTHISI (TRUNCSIHI (FLD (f_indir_pc__word)));
   8365   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8366   tmp_carry = CPU (h_cbit);
   8367   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8368   {
   8369     SI opval = tmp_newval;
   8370     SET_H_GR (FLD (f_operand2), opval);
   8371     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8372   }
   8373 {
   8374   {
   8375     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))));
   8376     CPU (h_cbit) = opval;
   8377     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8378   }
   8379   {
   8380     BI opval = LTSI (tmp_newval, 0);
   8381     CPU (h_nbit) = opval;
   8382     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8383   }
   8384   {
   8385     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8386     CPU (h_zbit) = opval;
   8387     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8388   }
   8389   {
   8390     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)));
   8391     CPU (h_vbit) = opval;
   8392     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8393   }
   8394 {
   8395   {
   8396     BI opval = 0;
   8397     CPU (h_xbit) = opval;
   8398     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8399   }
   8400   {
   8401     BI opval = 0;
   8402     SET_H_INSN_PREFIXED_P (opval);
   8403     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8404   }
   8405 }
   8406 }
   8407 }
   8408 
   8409 #undef FLD
   8410 }
   8411   NEXT (vpc);
   8412 
   8413   CASE (sem, INSN_ADDC_R) : /* addc $Rs,$Rd */
   8414 {
   8415   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8416   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8417 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8418   int UNUSED written = 0;
   8419   IADDR UNUSED pc = abuf->addr;
   8420   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8421 
   8422 {
   8423 CPU (h_xbit) = 1;
   8424 {
   8425   SI tmp_tmpopd;
   8426   SI tmp_tmpops;
   8427   BI tmp_carry;
   8428   SI tmp_newval;
   8429   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8430   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8431   tmp_carry = CPU (h_cbit);
   8432   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8433   {
   8434     SI opval = tmp_newval;
   8435     SET_H_GR (FLD (f_operand2), opval);
   8436     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8437   }
   8438 {
   8439   {
   8440     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))));
   8441     CPU (h_cbit) = opval;
   8442     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8443   }
   8444   {
   8445     BI opval = LTSI (tmp_newval, 0);
   8446     CPU (h_nbit) = opval;
   8447     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8448   }
   8449   {
   8450     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8451     CPU (h_zbit) = opval;
   8452     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8453   }
   8454   {
   8455     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)));
   8456     CPU (h_vbit) = opval;
   8457     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8458   }
   8459 {
   8460   {
   8461     BI opval = 0;
   8462     CPU (h_xbit) = opval;
   8463     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8464   }
   8465   {
   8466     BI opval = 0;
   8467     SET_H_INSN_PREFIXED_P (opval);
   8468     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8469   }
   8470 }
   8471 }
   8472 }
   8473 }
   8474 
   8475 #undef FLD
   8476 }
   8477   NEXT (vpc);
   8478 
   8479   CASE (sem, INSN_ADDC_M) : /* addc [${Rs}${inc}],${Rd} */
   8480 {
   8481   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8482   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8483 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8484   int UNUSED written = 0;
   8485   IADDR UNUSED pc = abuf->addr;
   8486   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8487 
   8488 {
   8489 CPU (h_xbit) = 1;
   8490 {
   8491   SI tmp_tmpopd;
   8492   SI tmp_tmpops;
   8493   BI tmp_carry;
   8494   SI tmp_newval;
   8495   tmp_tmpops = ({   SI tmp_addr;
   8496   SI tmp_tmp_mem;
   8497   BI tmp_postinc;
   8498   tmp_postinc = FLD (f_memmode);
   8499 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   8500 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   8501 ; if (NEBI (tmp_postinc, 0)) {
   8502 {
   8503 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   8504   tmp_addr = ADDSI (tmp_addr, 4);
   8505 }
   8506   {
   8507     SI opval = tmp_addr;
   8508     SET_H_GR (FLD (f_operand1), opval);
   8509     written |= (1 << 10);
   8510     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8511   }
   8512 }
   8513 }
   8514 ; tmp_tmp_mem; });
   8515   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8516   tmp_carry = CPU (h_cbit);
   8517   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8518   {
   8519     SI opval = tmp_newval;
   8520     SET_H_GR (FLD (f_operand2), opval);
   8521     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8522   }
   8523 {
   8524   {
   8525     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))));
   8526     CPU (h_cbit) = opval;
   8527     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8528   }
   8529   {
   8530     BI opval = LTSI (tmp_newval, 0);
   8531     CPU (h_nbit) = opval;
   8532     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8533   }
   8534   {
   8535     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8536     CPU (h_zbit) = opval;
   8537     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8538   }
   8539   {
   8540     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)));
   8541     CPU (h_vbit) = opval;
   8542     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8543   }
   8544 {
   8545   {
   8546     BI opval = 0;
   8547     CPU (h_xbit) = opval;
   8548     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8549   }
   8550   {
   8551     BI opval = 0;
   8552     SET_H_INSN_PREFIXED_P (opval);
   8553     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8554   }
   8555 }
   8556 }
   8557 }
   8558 }
   8559 
   8560   abuf->written = written;
   8561 #undef FLD
   8562 }
   8563   NEXT (vpc);
   8564 
   8565   CASE (sem, INSN_ADDC_C) : /* addc ${const32},${Rd} */
   8566 {
   8567   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8568   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8569 #define FLD(f) abuf->fields.sfmt_addcdr.f
   8570   int UNUSED written = 0;
   8571   IADDR UNUSED pc = abuf->addr;
   8572   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   8573 
   8574 {
   8575 CPU (h_xbit) = 1;
   8576 {
   8577   SI tmp_tmpopd;
   8578   SI tmp_tmpops;
   8579   BI tmp_carry;
   8580   SI tmp_newval;
   8581   tmp_tmpops = FLD (f_indir_pc__dword);
   8582   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   8583   tmp_carry = CPU (h_cbit);
   8584   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8585   {
   8586     SI opval = tmp_newval;
   8587     SET_H_GR (FLD (f_operand2), opval);
   8588     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8589   }
   8590 {
   8591   {
   8592     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))));
   8593     CPU (h_cbit) = opval;
   8594     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8595   }
   8596   {
   8597     BI opval = LTSI (tmp_newval, 0);
   8598     CPU (h_nbit) = opval;
   8599     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8600   }
   8601   {
   8602     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8603     CPU (h_zbit) = opval;
   8604     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8605   }
   8606   {
   8607     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)));
   8608     CPU (h_vbit) = opval;
   8609     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8610   }
   8611 {
   8612   {
   8613     BI opval = 0;
   8614     CPU (h_xbit) = opval;
   8615     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8616   }
   8617   {
   8618     BI opval = 0;
   8619     SET_H_INSN_PREFIXED_P (opval);
   8620     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8621   }
   8622 }
   8623 }
   8624 }
   8625 }
   8626 
   8627 #undef FLD
   8628 }
   8629   NEXT (vpc);
   8630 
   8631   CASE (sem, INSN_LAPC_D) : /* lapc.d ${const32-pcrel},${Rd} */
   8632 {
   8633   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8634   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8635 #define FLD(f) abuf->fields.sfmt_lapc_d.f
   8636   int UNUSED written = 0;
   8637   IADDR UNUSED pc = abuf->addr;
   8638   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   8639 
   8640 {
   8641   {
   8642     SI opval = FLD (i_const32_pcrel);
   8643     SET_H_GR (FLD (f_operand2), opval);
   8644     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8645   }
   8646 {
   8647   {
   8648     BI opval = 0;
   8649     CPU (h_xbit) = opval;
   8650     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8651   }
   8652   {
   8653     BI opval = 0;
   8654     SET_H_INSN_PREFIXED_P (opval);
   8655     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8656   }
   8657 }
   8658 }
   8659 
   8660 #undef FLD
   8661 }
   8662   NEXT (vpc);
   8663 
   8664   CASE (sem, INSN_LAPCQ) : /* lapcq ${qo},${Rd} */
   8665 {
   8666   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8667   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8668 #define FLD(f) abuf->fields.sfmt_lapcq.f
   8669   int UNUSED written = 0;
   8670   IADDR UNUSED pc = abuf->addr;
   8671   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8672 
   8673 {
   8674   {
   8675     SI opval = FLD (i_qo);
   8676     SET_H_GR (FLD (f_operand2), opval);
   8677     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8678   }
   8679 {
   8680   {
   8681     BI opval = 0;
   8682     CPU (h_xbit) = opval;
   8683     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8684   }
   8685   {
   8686     BI opval = 0;
   8687     SET_H_INSN_PREFIXED_P (opval);
   8688     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8689   }
   8690 }
   8691 }
   8692 
   8693 #undef FLD
   8694 }
   8695   NEXT (vpc);
   8696 
   8697   CASE (sem, INSN_ADDI_B_R) : /* addi.b ${Rs-dfield}.m,${Rd-sfield} */
   8698 {
   8699   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8700   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8701 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8702   int UNUSED written = 0;
   8703   IADDR UNUSED pc = abuf->addr;
   8704   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8705 
   8706 {
   8707   {
   8708     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
   8709     SET_H_GR (FLD (f_operand1), opval);
   8710     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8711   }
   8712 {
   8713   {
   8714     BI opval = 0;
   8715     CPU (h_xbit) = opval;
   8716     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8717   }
   8718   {
   8719     BI opval = 0;
   8720     SET_H_INSN_PREFIXED_P (opval);
   8721     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8722   }
   8723 }
   8724 }
   8725 
   8726 #undef FLD
   8727 }
   8728   NEXT (vpc);
   8729 
   8730   CASE (sem, INSN_ADDI_W_R) : /* addi.w ${Rs-dfield}.m,${Rd-sfield} */
   8731 {
   8732   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8733   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8734 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8735   int UNUSED written = 0;
   8736   IADDR UNUSED pc = abuf->addr;
   8737   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8738 
   8739 {
   8740   {
   8741     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
   8742     SET_H_GR (FLD (f_operand1), opval);
   8743     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8744   }
   8745 {
   8746   {
   8747     BI opval = 0;
   8748     CPU (h_xbit) = opval;
   8749     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8750   }
   8751   {
   8752     BI opval = 0;
   8753     SET_H_INSN_PREFIXED_P (opval);
   8754     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8755   }
   8756 }
   8757 }
   8758 
   8759 #undef FLD
   8760 }
   8761   NEXT (vpc);
   8762 
   8763   CASE (sem, INSN_ADDI_D_R) : /* addi.d ${Rs-dfield}.m,${Rd-sfield} */
   8764 {
   8765   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8766   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8767 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8768   int UNUSED written = 0;
   8769   IADDR UNUSED pc = abuf->addr;
   8770   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8771 
   8772 {
   8773   {
   8774     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
   8775     SET_H_GR (FLD (f_operand1), opval);
   8776     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8777   }
   8778 {
   8779   {
   8780     BI opval = 0;
   8781     CPU (h_xbit) = opval;
   8782     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8783   }
   8784   {
   8785     BI opval = 0;
   8786     SET_H_INSN_PREFIXED_P (opval);
   8787     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8788   }
   8789 }
   8790 }
   8791 
   8792 #undef FLD
   8793 }
   8794   NEXT (vpc);
   8795 
   8796   CASE (sem, INSN_NEG_B_R) : /* neg.b $Rs,$Rd */
   8797 {
   8798   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8799   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8800 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8801   int UNUSED written = 0;
   8802   IADDR UNUSED pc = abuf->addr;
   8803   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8804 
   8805 {
   8806   QI tmp_tmpopd;
   8807   QI tmp_tmpops;
   8808   BI tmp_carry;
   8809   QI tmp_newval;
   8810   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8811   tmp_tmpopd = 0;
   8812   tmp_carry = CPU (h_cbit);
   8813   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8814 {
   8815   SI tmp_oldregval;
   8816   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   8817   {
   8818     SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
   8819     SET_H_GR (FLD (f_operand2), opval);
   8820     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8821   }
   8822 }
   8823 {
   8824   {
   8825     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))));
   8826     CPU (h_cbit) = opval;
   8827     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8828   }
   8829   {
   8830     BI opval = LTQI (tmp_newval, 0);
   8831     CPU (h_nbit) = opval;
   8832     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8833   }
   8834   {
   8835     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8836     CPU (h_zbit) = opval;
   8837     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8838   }
   8839   {
   8840     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)));
   8841     CPU (h_vbit) = opval;
   8842     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8843   }
   8844 {
   8845   {
   8846     BI opval = 0;
   8847     CPU (h_xbit) = opval;
   8848     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8849   }
   8850   {
   8851     BI opval = 0;
   8852     SET_H_INSN_PREFIXED_P (opval);
   8853     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8854   }
   8855 }
   8856 }
   8857 }
   8858 
   8859 #undef FLD
   8860 }
   8861   NEXT (vpc);
   8862 
   8863   CASE (sem, INSN_NEG_W_R) : /* neg.w $Rs,$Rd */
   8864 {
   8865   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8866   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8867 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8868   int UNUSED written = 0;
   8869   IADDR UNUSED pc = abuf->addr;
   8870   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8871 
   8872 {
   8873   HI tmp_tmpopd;
   8874   HI tmp_tmpops;
   8875   BI tmp_carry;
   8876   HI tmp_newval;
   8877   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8878   tmp_tmpopd = 0;
   8879   tmp_carry = CPU (h_cbit);
   8880   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8881 {
   8882   SI tmp_oldregval;
   8883   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   8884   {
   8885     SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   8886     SET_H_GR (FLD (f_operand2), opval);
   8887     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8888   }
   8889 }
   8890 {
   8891   {
   8892     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))));
   8893     CPU (h_cbit) = opval;
   8894     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8895   }
   8896   {
   8897     BI opval = LTHI (tmp_newval, 0);
   8898     CPU (h_nbit) = opval;
   8899     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8900   }
   8901   {
   8902     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8903     CPU (h_zbit) = opval;
   8904     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8905   }
   8906   {
   8907     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)));
   8908     CPU (h_vbit) = opval;
   8909     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8910   }
   8911 {
   8912   {
   8913     BI opval = 0;
   8914     CPU (h_xbit) = opval;
   8915     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8916   }
   8917   {
   8918     BI opval = 0;
   8919     SET_H_INSN_PREFIXED_P (opval);
   8920     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8921   }
   8922 }
   8923 }
   8924 }
   8925 
   8926 #undef FLD
   8927 }
   8928   NEXT (vpc);
   8929 
   8930   CASE (sem, INSN_NEG_D_R) : /* neg.d $Rs,$Rd */
   8931 {
   8932   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8933   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8934 #define FLD(f) abuf->fields.sfmt_addc_m.f
   8935   int UNUSED written = 0;
   8936   IADDR UNUSED pc = abuf->addr;
   8937   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   8938 
   8939 {
   8940   SI tmp_tmpopd;
   8941   SI tmp_tmpops;
   8942   BI tmp_carry;
   8943   SI tmp_newval;
   8944   tmp_tmpops = GET_H_GR (FLD (f_operand1));
   8945   tmp_tmpopd = 0;
   8946   tmp_carry = CPU (h_cbit);
   8947   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   8948   {
   8949     SI opval = tmp_newval;
   8950     SET_H_GR (FLD (f_operand2), opval);
   8951     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   8952   }
   8953 {
   8954   {
   8955     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))));
   8956     CPU (h_cbit) = opval;
   8957     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   8958   }
   8959   {
   8960     BI opval = LTSI (tmp_newval, 0);
   8961     CPU (h_nbit) = opval;
   8962     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   8963   }
   8964   {
   8965     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   8966     CPU (h_zbit) = opval;
   8967     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   8968   }
   8969   {
   8970     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)));
   8971     CPU (h_vbit) = opval;
   8972     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   8973   }
   8974 {
   8975   {
   8976     BI opval = 0;
   8977     CPU (h_xbit) = opval;
   8978     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   8979   }
   8980   {
   8981     BI opval = 0;
   8982     SET_H_INSN_PREFIXED_P (opval);
   8983     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   8984   }
   8985 }
   8986 }
   8987 }
   8988 
   8989 #undef FLD
   8990 }
   8991   NEXT (vpc);
   8992 
   8993   CASE (sem, INSN_TEST_M_B_M) : /* test-m.b [${Rs}${inc}] */
   8994 {
   8995   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   8996   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   8997 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   8998   int UNUSED written = 0;
   8999   IADDR UNUSED pc = abuf->addr;
   9000   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9001 
   9002 {
   9003   QI tmp_tmpd;
   9004   tmp_tmpd = ({   SI tmp_addr;
   9005   QI tmp_tmp_mem;
   9006   BI tmp_postinc;
   9007   tmp_postinc = FLD (f_memmode);
   9008 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9009 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   9010 ; if (NEBI (tmp_postinc, 0)) {
   9011 {
   9012 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9013   tmp_addr = ADDSI (tmp_addr, 1);
   9014 }
   9015   {
   9016     SI opval = tmp_addr;
   9017     SET_H_GR (FLD (f_operand1), opval);
   9018     written |= (1 << 8);
   9019     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9020   }
   9021 }
   9022 }
   9023 ; tmp_tmp_mem; });
   9024 {
   9025   QI tmp_tmpopd;
   9026   QI tmp_tmpops;
   9027   BI tmp_carry;
   9028   QI tmp_newval;
   9029   tmp_tmpops = 0;
   9030   tmp_tmpopd = tmp_tmpd;
   9031   tmp_carry = CPU (h_cbit);
   9032   tmp_newval = SUBCQI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9033 ((void) 0); /*nop*/
   9034 {
   9035   {
   9036     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))));
   9037     CPU (h_cbit) = opval;
   9038     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9039   }
   9040   {
   9041     BI opval = LTQI (tmp_newval, 0);
   9042     CPU (h_nbit) = opval;
   9043     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9044   }
   9045   {
   9046     BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9047     CPU (h_zbit) = opval;
   9048     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9049   }
   9050   {
   9051     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)));
   9052     CPU (h_vbit) = opval;
   9053     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9054   }
   9055 {
   9056   {
   9057     BI opval = 0;
   9058     CPU (h_xbit) = opval;
   9059     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9060   }
   9061   {
   9062     BI opval = 0;
   9063     SET_H_INSN_PREFIXED_P (opval);
   9064     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9065   }
   9066 }
   9067 }
   9068 }
   9069 }
   9070 
   9071   abuf->written = written;
   9072 #undef FLD
   9073 }
   9074   NEXT (vpc);
   9075 
   9076   CASE (sem, INSN_TEST_M_W_M) : /* test-m.w [${Rs}${inc}] */
   9077 {
   9078   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9079   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9080 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   9081   int UNUSED written = 0;
   9082   IADDR UNUSED pc = abuf->addr;
   9083   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9084 
   9085 {
   9086   HI tmp_tmpd;
   9087   tmp_tmpd = ({   SI tmp_addr;
   9088   HI tmp_tmp_mem;
   9089   BI tmp_postinc;
   9090   tmp_postinc = FLD (f_memmode);
   9091 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9092 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   9093 ; if (NEBI (tmp_postinc, 0)) {
   9094 {
   9095 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9096   tmp_addr = ADDSI (tmp_addr, 2);
   9097 }
   9098   {
   9099     SI opval = tmp_addr;
   9100     SET_H_GR (FLD (f_operand1), opval);
   9101     written |= (1 << 8);
   9102     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9103   }
   9104 }
   9105 }
   9106 ; tmp_tmp_mem; });
   9107 {
   9108   HI tmp_tmpopd;
   9109   HI tmp_tmpops;
   9110   BI tmp_carry;
   9111   HI tmp_newval;
   9112   tmp_tmpops = 0;
   9113   tmp_tmpopd = tmp_tmpd;
   9114   tmp_carry = CPU (h_cbit);
   9115   tmp_newval = SUBCHI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9116 ((void) 0); /*nop*/
   9117 {
   9118   {
   9119     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))));
   9120     CPU (h_cbit) = opval;
   9121     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9122   }
   9123   {
   9124     BI opval = LTHI (tmp_newval, 0);
   9125     CPU (h_nbit) = opval;
   9126     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9127   }
   9128   {
   9129     BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9130     CPU (h_zbit) = opval;
   9131     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9132   }
   9133   {
   9134     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)));
   9135     CPU (h_vbit) = opval;
   9136     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9137   }
   9138 {
   9139   {
   9140     BI opval = 0;
   9141     CPU (h_xbit) = opval;
   9142     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9143   }
   9144   {
   9145     BI opval = 0;
   9146     SET_H_INSN_PREFIXED_P (opval);
   9147     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9148   }
   9149 }
   9150 }
   9151 }
   9152 }
   9153 
   9154   abuf->written = written;
   9155 #undef FLD
   9156 }
   9157   NEXT (vpc);
   9158 
   9159   CASE (sem, INSN_TEST_M_D_M) : /* test-m.d [${Rs}${inc}] */
   9160 {
   9161   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9162   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9163 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   9164   int UNUSED written = 0;
   9165   IADDR UNUSED pc = abuf->addr;
   9166   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9167 
   9168 {
   9169   SI tmp_tmpd;
   9170   tmp_tmpd = ({   SI tmp_addr;
   9171   SI tmp_tmp_mem;
   9172   BI tmp_postinc;
   9173   tmp_postinc = FLD (f_memmode);
   9174 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9175 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   9176 ; if (NEBI (tmp_postinc, 0)) {
   9177 {
   9178 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9179   tmp_addr = ADDSI (tmp_addr, 4);
   9180 }
   9181   {
   9182     SI opval = tmp_addr;
   9183     SET_H_GR (FLD (f_operand1), opval);
   9184     written |= (1 << 8);
   9185     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9186   }
   9187 }
   9188 }
   9189 ; tmp_tmp_mem; });
   9190 {
   9191   SI tmp_tmpopd;
   9192   SI tmp_tmpops;
   9193   BI tmp_carry;
   9194   SI tmp_newval;
   9195   tmp_tmpops = 0;
   9196   tmp_tmpopd = tmp_tmpd;
   9197   tmp_carry = CPU (h_cbit);
   9198   tmp_newval = SUBCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9199 ((void) 0); /*nop*/
   9200 {
   9201   {
   9202     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))));
   9203     CPU (h_cbit) = opval;
   9204     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9205   }
   9206   {
   9207     BI opval = LTSI (tmp_newval, 0);
   9208     CPU (h_nbit) = opval;
   9209     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9210   }
   9211   {
   9212     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9213     CPU (h_zbit) = opval;
   9214     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9215   }
   9216   {
   9217     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)));
   9218     CPU (h_vbit) = opval;
   9219     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9220   }
   9221 {
   9222   {
   9223     BI opval = 0;
   9224     CPU (h_xbit) = opval;
   9225     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9226   }
   9227   {
   9228     BI opval = 0;
   9229     SET_H_INSN_PREFIXED_P (opval);
   9230     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9231   }
   9232 }
   9233 }
   9234 }
   9235 }
   9236 
   9237   abuf->written = written;
   9238 #undef FLD
   9239 }
   9240   NEXT (vpc);
   9241 
   9242   CASE (sem, INSN_MOVE_R_M_B_M) : /* move-r-m.b ${Rs-dfield},[${Rd-sfield}${inc}] */
   9243 {
   9244   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9245   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9246 #define FLD(f) abuf->fields.sfmt_addc_m.f
   9247   int UNUSED written = 0;
   9248   IADDR UNUSED pc = abuf->addr;
   9249   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9250 
   9251 {
   9252   QI tmp_tmpd;
   9253   tmp_tmpd = GET_H_GR (FLD (f_operand2));
   9254 {
   9255   SI tmp_addr;
   9256   BI tmp_postinc;
   9257   tmp_postinc = FLD (f_memmode);
   9258   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9259 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   9260 if (EQBI (CPU (h_pbit), 0)) {
   9261 {
   9262   {
   9263     QI opval = tmp_tmpd;
   9264     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   9265     written |= (1 << 10);
   9266     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9267   }
   9268   {
   9269     BI opval = CPU (h_pbit);
   9270     CPU (h_cbit) = opval;
   9271     written |= (1 << 9);
   9272     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9273   }
   9274 }
   9275 } else {
   9276   {
   9277     BI opval = 1;
   9278     CPU (h_cbit) = opval;
   9279     written |= (1 << 9);
   9280     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9281   }
   9282 }
   9283 } else {
   9284   {
   9285     QI opval = tmp_tmpd;
   9286     SETMEMQI (current_cpu, pc, tmp_addr, opval);
   9287     written |= (1 << 10);
   9288     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9289   }
   9290 }
   9291 if (NEBI (tmp_postinc, 0)) {
   9292 {
   9293 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9294   tmp_addr = ADDSI (tmp_addr, 1);
   9295 }
   9296   {
   9297     SI opval = tmp_addr;
   9298     SET_H_GR (FLD (f_operand1), opval);
   9299     written |= (1 << 8);
   9300     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9301   }
   9302 }
   9303 }
   9304 }
   9305 {
   9306   {
   9307     BI opval = 0;
   9308     CPU (h_xbit) = opval;
   9309     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9310   }
   9311   {
   9312     BI opval = 0;
   9313     SET_H_INSN_PREFIXED_P (opval);
   9314     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9315   }
   9316 }
   9317 }
   9318 
   9319   abuf->written = written;
   9320 #undef FLD
   9321 }
   9322   NEXT (vpc);
   9323 
   9324   CASE (sem, INSN_MOVE_R_M_W_M) : /* move-r-m.w ${Rs-dfield},[${Rd-sfield}${inc}] */
   9325 {
   9326   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9327   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9328 #define FLD(f) abuf->fields.sfmt_addc_m.f
   9329   int UNUSED written = 0;
   9330   IADDR UNUSED pc = abuf->addr;
   9331   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9332 
   9333 {
   9334   HI tmp_tmpd;
   9335   tmp_tmpd = GET_H_GR (FLD (f_operand2));
   9336 {
   9337   SI tmp_addr;
   9338   BI tmp_postinc;
   9339   tmp_postinc = FLD (f_memmode);
   9340   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9341 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   9342 if (EQBI (CPU (h_pbit), 0)) {
   9343 {
   9344   {
   9345     HI opval = tmp_tmpd;
   9346     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   9347     written |= (1 << 10);
   9348     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9349   }
   9350   {
   9351     BI opval = CPU (h_pbit);
   9352     CPU (h_cbit) = opval;
   9353     written |= (1 << 9);
   9354     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9355   }
   9356 }
   9357 } else {
   9358   {
   9359     BI opval = 1;
   9360     CPU (h_cbit) = opval;
   9361     written |= (1 << 9);
   9362     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9363   }
   9364 }
   9365 } else {
   9366   {
   9367     HI opval = tmp_tmpd;
   9368     SETMEMHI (current_cpu, pc, tmp_addr, opval);
   9369     written |= (1 << 10);
   9370     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9371   }
   9372 }
   9373 if (NEBI (tmp_postinc, 0)) {
   9374 {
   9375 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9376   tmp_addr = ADDSI (tmp_addr, 2);
   9377 }
   9378   {
   9379     SI opval = tmp_addr;
   9380     SET_H_GR (FLD (f_operand1), opval);
   9381     written |= (1 << 8);
   9382     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9383   }
   9384 }
   9385 }
   9386 }
   9387 {
   9388   {
   9389     BI opval = 0;
   9390     CPU (h_xbit) = opval;
   9391     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9392   }
   9393   {
   9394     BI opval = 0;
   9395     SET_H_INSN_PREFIXED_P (opval);
   9396     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9397   }
   9398 }
   9399 }
   9400 
   9401   abuf->written = written;
   9402 #undef FLD
   9403 }
   9404   NEXT (vpc);
   9405 
   9406   CASE (sem, INSN_MOVE_R_M_D_M) : /* move-r-m.d ${Rs-dfield},[${Rd-sfield}${inc}] */
   9407 {
   9408   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9409   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9410 #define FLD(f) abuf->fields.sfmt_addc_m.f
   9411   int UNUSED written = 0;
   9412   IADDR UNUSED pc = abuf->addr;
   9413   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9414 
   9415 {
   9416   SI tmp_tmpd;
   9417   tmp_tmpd = GET_H_GR (FLD (f_operand2));
   9418 {
   9419   SI tmp_addr;
   9420   BI tmp_postinc;
   9421   tmp_postinc = FLD (f_memmode);
   9422   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   9423 if (ANDIF (GET_H_V32_V32 (), NEBI (CPU (h_xbit), 0))) {
   9424 if (EQBI (CPU (h_pbit), 0)) {
   9425 {
   9426   {
   9427     SI opval = tmp_tmpd;
   9428     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   9429     written |= (1 << 10);
   9430     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9431   }
   9432   {
   9433     BI opval = CPU (h_pbit);
   9434     CPU (h_cbit) = opval;
   9435     written |= (1 << 9);
   9436     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9437   }
   9438 }
   9439 } else {
   9440   {
   9441     BI opval = 1;
   9442     CPU (h_cbit) = opval;
   9443     written |= (1 << 9);
   9444     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9445   }
   9446 }
   9447 } else {
   9448   {
   9449     SI opval = tmp_tmpd;
   9450     SETMEMSI (current_cpu, pc, tmp_addr, opval);
   9451     written |= (1 << 10);
   9452     CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
   9453   }
   9454 }
   9455 if (NEBI (tmp_postinc, 0)) {
   9456 {
   9457 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   9458   tmp_addr = ADDSI (tmp_addr, 4);
   9459 }
   9460   {
   9461     SI opval = tmp_addr;
   9462     SET_H_GR (FLD (f_operand1), opval);
   9463     written |= (1 << 8);
   9464     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9465   }
   9466 }
   9467 }
   9468 }
   9469 {
   9470   {
   9471     BI opval = 0;
   9472     CPU (h_xbit) = opval;
   9473     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9474   }
   9475   {
   9476     BI opval = 0;
   9477     SET_H_INSN_PREFIXED_P (opval);
   9478     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9479   }
   9480 }
   9481 }
   9482 
   9483   abuf->written = written;
   9484 #undef FLD
   9485 }
   9486   NEXT (vpc);
   9487 
   9488   CASE (sem, INSN_MULS_B) : /* muls.b $Rs,$Rd */
   9489 {
   9490   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9491   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9492 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9493   int UNUSED written = 0;
   9494   IADDR UNUSED pc = abuf->addr;
   9495   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9496 
   9497 {
   9498   DI tmp_src1;
   9499   DI tmp_src2;
   9500   DI tmp_tmpr;
   9501   tmp_src1 = EXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   9502   tmp_src2 = EXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand2))));
   9503   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9504   {
   9505     SI opval = TRUNCDISI (tmp_tmpr);
   9506     SET_H_GR (FLD (f_operand2), opval);
   9507     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9508   }
   9509   {
   9510     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9511     SET_H_SR (((UINT) 7), opval);
   9512     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9513   }
   9514 {
   9515   {
   9516     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9517     CPU (h_cbit) = opval;
   9518     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9519   }
   9520   {
   9521     BI opval = LTDI (tmp_tmpr, 0);
   9522     CPU (h_nbit) = opval;
   9523     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9524   }
   9525   {
   9526     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9527     CPU (h_zbit) = opval;
   9528     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9529   }
   9530   {
   9531     BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
   9532     CPU (h_vbit) = opval;
   9533     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9534   }
   9535 {
   9536   {
   9537     BI opval = 0;
   9538     CPU (h_xbit) = opval;
   9539     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9540   }
   9541   {
   9542     BI opval = 0;
   9543     SET_H_INSN_PREFIXED_P (opval);
   9544     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9545   }
   9546 }
   9547 }
   9548 }
   9549 
   9550 #undef FLD
   9551 }
   9552   NEXT (vpc);
   9553 
   9554   CASE (sem, INSN_MULS_W) : /* muls.w $Rs,$Rd */
   9555 {
   9556   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9557   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9558 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9559   int UNUSED written = 0;
   9560   IADDR UNUSED pc = abuf->addr;
   9561   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9562 
   9563 {
   9564   DI tmp_src1;
   9565   DI tmp_src2;
   9566   DI tmp_tmpr;
   9567   tmp_src1 = EXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   9568   tmp_src2 = EXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand2))));
   9569   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9570   {
   9571     SI opval = TRUNCDISI (tmp_tmpr);
   9572     SET_H_GR (FLD (f_operand2), opval);
   9573     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9574   }
   9575   {
   9576     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9577     SET_H_SR (((UINT) 7), opval);
   9578     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9579   }
   9580 {
   9581   {
   9582     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9583     CPU (h_cbit) = opval;
   9584     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9585   }
   9586   {
   9587     BI opval = LTDI (tmp_tmpr, 0);
   9588     CPU (h_nbit) = opval;
   9589     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9590   }
   9591   {
   9592     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9593     CPU (h_zbit) = opval;
   9594     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9595   }
   9596   {
   9597     BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
   9598     CPU (h_vbit) = opval;
   9599     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9600   }
   9601 {
   9602   {
   9603     BI opval = 0;
   9604     CPU (h_xbit) = opval;
   9605     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9606   }
   9607   {
   9608     BI opval = 0;
   9609     SET_H_INSN_PREFIXED_P (opval);
   9610     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9611   }
   9612 }
   9613 }
   9614 }
   9615 
   9616 #undef FLD
   9617 }
   9618   NEXT (vpc);
   9619 
   9620   CASE (sem, INSN_MULS_D) : /* muls.d $Rs,$Rd */
   9621 {
   9622   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9623   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9624 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9625   int UNUSED written = 0;
   9626   IADDR UNUSED pc = abuf->addr;
   9627   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9628 
   9629 {
   9630   DI tmp_src1;
   9631   DI tmp_src2;
   9632   DI tmp_tmpr;
   9633   tmp_src1 = EXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand1))));
   9634   tmp_src2 = EXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand2))));
   9635   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9636   {
   9637     SI opval = TRUNCDISI (tmp_tmpr);
   9638     SET_H_GR (FLD (f_operand2), opval);
   9639     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9640   }
   9641   {
   9642     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9643     SET_H_SR (((UINT) 7), opval);
   9644     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9645   }
   9646 {
   9647   {
   9648     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9649     CPU (h_cbit) = opval;
   9650     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9651   }
   9652   {
   9653     BI opval = LTDI (tmp_tmpr, 0);
   9654     CPU (h_nbit) = opval;
   9655     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9656   }
   9657   {
   9658     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9659     CPU (h_zbit) = opval;
   9660     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9661   }
   9662   {
   9663     BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
   9664     CPU (h_vbit) = opval;
   9665     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9666   }
   9667 {
   9668   {
   9669     BI opval = 0;
   9670     CPU (h_xbit) = opval;
   9671     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9672   }
   9673   {
   9674     BI opval = 0;
   9675     SET_H_INSN_PREFIXED_P (opval);
   9676     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9677   }
   9678 }
   9679 }
   9680 }
   9681 
   9682 #undef FLD
   9683 }
   9684   NEXT (vpc);
   9685 
   9686   CASE (sem, INSN_MULU_B) : /* mulu.b $Rs,$Rd */
   9687 {
   9688   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9689   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9690 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9691   int UNUSED written = 0;
   9692   IADDR UNUSED pc = abuf->addr;
   9693   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9694 
   9695 {
   9696   DI tmp_src1;
   9697   DI tmp_src2;
   9698   DI tmp_tmpr;
   9699   tmp_src1 = ZEXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   9700   tmp_src2 = ZEXTQIDI (TRUNCSIQI (GET_H_GR (FLD (f_operand2))));
   9701   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9702   {
   9703     SI opval = TRUNCDISI (tmp_tmpr);
   9704     SET_H_GR (FLD (f_operand2), opval);
   9705     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9706   }
   9707   {
   9708     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9709     SET_H_SR (((UINT) 7), opval);
   9710     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9711   }
   9712 {
   9713   {
   9714     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9715     CPU (h_cbit) = opval;
   9716     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9717   }
   9718   {
   9719     BI opval = LTDI (tmp_tmpr, 0);
   9720     CPU (h_nbit) = opval;
   9721     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9722   }
   9723   {
   9724     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9725     CPU (h_zbit) = opval;
   9726     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9727   }
   9728   {
   9729     BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
   9730     CPU (h_vbit) = opval;
   9731     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9732   }
   9733 {
   9734   {
   9735     BI opval = 0;
   9736     CPU (h_xbit) = opval;
   9737     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9738   }
   9739   {
   9740     BI opval = 0;
   9741     SET_H_INSN_PREFIXED_P (opval);
   9742     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9743   }
   9744 }
   9745 }
   9746 }
   9747 
   9748 #undef FLD
   9749 }
   9750   NEXT (vpc);
   9751 
   9752   CASE (sem, INSN_MULU_W) : /* mulu.w $Rs,$Rd */
   9753 {
   9754   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9755   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9756 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9757   int UNUSED written = 0;
   9758   IADDR UNUSED pc = abuf->addr;
   9759   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9760 
   9761 {
   9762   DI tmp_src1;
   9763   DI tmp_src2;
   9764   DI tmp_tmpr;
   9765   tmp_src1 = ZEXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   9766   tmp_src2 = ZEXTHIDI (TRUNCSIHI (GET_H_GR (FLD (f_operand2))));
   9767   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9768   {
   9769     SI opval = TRUNCDISI (tmp_tmpr);
   9770     SET_H_GR (FLD (f_operand2), opval);
   9771     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9772   }
   9773   {
   9774     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9775     SET_H_SR (((UINT) 7), opval);
   9776     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9777   }
   9778 {
   9779   {
   9780     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9781     CPU (h_cbit) = opval;
   9782     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9783   }
   9784   {
   9785     BI opval = LTDI (tmp_tmpr, 0);
   9786     CPU (h_nbit) = opval;
   9787     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9788   }
   9789   {
   9790     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9791     CPU (h_zbit) = opval;
   9792     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9793   }
   9794   {
   9795     BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
   9796     CPU (h_vbit) = opval;
   9797     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9798   }
   9799 {
   9800   {
   9801     BI opval = 0;
   9802     CPU (h_xbit) = opval;
   9803     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9804   }
   9805   {
   9806     BI opval = 0;
   9807     SET_H_INSN_PREFIXED_P (opval);
   9808     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9809   }
   9810 }
   9811 }
   9812 }
   9813 
   9814 #undef FLD
   9815 }
   9816   NEXT (vpc);
   9817 
   9818   CASE (sem, INSN_MULU_D) : /* mulu.d $Rs,$Rd */
   9819 {
   9820   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9821   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9822 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9823   int UNUSED written = 0;
   9824   IADDR UNUSED pc = abuf->addr;
   9825   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9826 
   9827 {
   9828   DI tmp_src1;
   9829   DI tmp_src2;
   9830   DI tmp_tmpr;
   9831   tmp_src1 = ZEXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand1))));
   9832   tmp_src2 = ZEXTSIDI (TRUNCSISI (GET_H_GR (FLD (f_operand2))));
   9833   tmp_tmpr = MULDI (tmp_src1, tmp_src2);
   9834   {
   9835     SI opval = TRUNCDISI (tmp_tmpr);
   9836     SET_H_GR (FLD (f_operand2), opval);
   9837     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9838   }
   9839   {
   9840     SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
   9841     SET_H_SR (((UINT) 7), opval);
   9842     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   9843   }
   9844 {
   9845   {
   9846     BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
   9847     CPU (h_cbit) = opval;
   9848     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   9849   }
   9850   {
   9851     BI opval = LTDI (tmp_tmpr, 0);
   9852     CPU (h_nbit) = opval;
   9853     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9854   }
   9855   {
   9856     BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9857     CPU (h_zbit) = opval;
   9858     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9859   }
   9860   {
   9861     BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
   9862     CPU (h_vbit) = opval;
   9863     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9864   }
   9865 {
   9866   {
   9867     BI opval = 0;
   9868     CPU (h_xbit) = opval;
   9869     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9870   }
   9871   {
   9872     BI opval = 0;
   9873     SET_H_INSN_PREFIXED_P (opval);
   9874     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9875   }
   9876 }
   9877 }
   9878 }
   9879 
   9880 #undef FLD
   9881 }
   9882   NEXT (vpc);
   9883 
   9884   CASE (sem, INSN_MCP) : /* mcp $Ps,$Rd */
   9885 {
   9886   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9887   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9888 #define FLD(f) abuf->fields.sfmt_mcp.f
   9889   int UNUSED written = 0;
   9890   IADDR UNUSED pc = abuf->addr;
   9891   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9892 
   9893 {
   9894 CPU (h_xbit) = 1;
   9895 CPU (h_zbit) = 1;
   9896 {
   9897   SI tmp_tmpopd;
   9898   SI tmp_tmpops;
   9899   BI tmp_carry;
   9900   SI tmp_newval;
   9901   tmp_tmpops = GET_H_SR (FLD (f_operand2));
   9902   tmp_tmpopd = GET_H_GR (FLD (f_operand1));
   9903   tmp_carry = CPU (h_rbit);
   9904   tmp_newval = ADDCSI (tmp_tmpopd, tmp_tmpops, ((EQBI (CPU (h_xbit), 0)) ? (0) : (tmp_carry)));
   9905   {
   9906     SI opval = tmp_newval;
   9907     SET_H_GR (FLD (f_operand1), opval);
   9908     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9909   }
   9910 {
   9911   {
   9912     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))));
   9913     CPU (h_rbit) = opval;
   9914     CGEN_TRACE_RESULT (current_cpu, abuf, "rbit", 'x', opval);
   9915   }
   9916   {
   9917     BI opval = LTSI (tmp_newval, 0);
   9918     CPU (h_nbit) = opval;
   9919     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9920   }
   9921   {
   9922     BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
   9923     CPU (h_zbit) = opval;
   9924     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9925   }
   9926   {
   9927     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)));
   9928     CPU (h_vbit) = opval;
   9929     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   9930   }
   9931 {
   9932   {
   9933     BI opval = 0;
   9934     CPU (h_xbit) = opval;
   9935     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9936   }
   9937   {
   9938     BI opval = 0;
   9939     SET_H_INSN_PREFIXED_P (opval);
   9940     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9941   }
   9942 }
   9943 }
   9944 }
   9945 }
   9946 
   9947 #undef FLD
   9948 }
   9949   NEXT (vpc);
   9950 
   9951   CASE (sem, INSN_DSTEP) : /* dstep $Rs,$Rd */
   9952 {
   9953   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   9954   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   9955 #define FLD(f) abuf->fields.sfmt_muls_b.f
   9956   int UNUSED written = 0;
   9957   IADDR UNUSED pc = abuf->addr;
   9958   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   9959 
   9960 {
   9961   SI tmp_tmp;
   9962   SI tmp_tmps;
   9963   SI tmp_tmpd;
   9964   tmp_tmps = GET_H_GR (FLD (f_operand1));
   9965   tmp_tmp = SLLSI (GET_H_GR (FLD (f_operand2)), 1);
   9966   tmp_tmpd = ((GEUSI (tmp_tmp, tmp_tmps)) ? (SUBSI (tmp_tmp, tmp_tmps)) : (tmp_tmp));
   9967   {
   9968     SI opval = tmp_tmpd;
   9969     SET_H_GR (FLD (f_operand2), opval);
   9970     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   9971   }
   9972 {
   9973   {
   9974     BI opval = LTSI (tmp_tmpd, 0);
   9975     CPU (h_nbit) = opval;
   9976     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   9977   }
   9978   {
   9979     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   9980     CPU (h_zbit) = opval;
   9981     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   9982   }
   9983 SET_H_CBIT_MOVE (0);
   9984 SET_H_VBIT_MOVE (0);
   9985 {
   9986   {
   9987     BI opval = 0;
   9988     CPU (h_xbit) = opval;
   9989     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   9990   }
   9991   {
   9992     BI opval = 0;
   9993     SET_H_INSN_PREFIXED_P (opval);
   9994     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   9995   }
   9996 }
   9997 }
   9998 }
   9999 
   10000 #undef FLD
   10001 }
   10002   NEXT (vpc);
   10003 
   10004   CASE (sem, INSN_ABS) : /* abs $Rs,$Rd */
   10005 {
   10006   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10007   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10008 #define FLD(f) abuf->fields.sfmt_muls_b.f
   10009   int UNUSED written = 0;
   10010   IADDR UNUSED pc = abuf->addr;
   10011   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10012 
   10013 {
   10014   SI tmp_tmpd;
   10015   tmp_tmpd = ABSSI (GET_H_GR (FLD (f_operand1)));
   10016   {
   10017     SI opval = tmp_tmpd;
   10018     SET_H_GR (FLD (f_operand2), opval);
   10019     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10020   }
   10021 {
   10022   {
   10023     BI opval = LTSI (tmp_tmpd, 0);
   10024     CPU (h_nbit) = opval;
   10025     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10026   }
   10027   {
   10028     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10029     CPU (h_zbit) = opval;
   10030     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10031   }
   10032 SET_H_CBIT_MOVE (0);
   10033 SET_H_VBIT_MOVE (0);
   10034 {
   10035   {
   10036     BI opval = 0;
   10037     CPU (h_xbit) = opval;
   10038     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10039   }
   10040   {
   10041     BI opval = 0;
   10042     SET_H_INSN_PREFIXED_P (opval);
   10043     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10044   }
   10045 }
   10046 }
   10047 }
   10048 
   10049 #undef FLD
   10050 }
   10051   NEXT (vpc);
   10052 
   10053   CASE (sem, INSN_AND_B_R) : /* and.b $Rs,$Rd */
   10054 {
   10055   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10056   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10057 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10058   int UNUSED written = 0;
   10059   IADDR UNUSED pc = abuf->addr;
   10060   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10061 
   10062 {
   10063   QI tmp_tmpd;
   10064   tmp_tmpd = ANDQI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10065 {
   10066   SI tmp_oldregval;
   10067   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10068   {
   10069     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10070     SET_H_GR (FLD (f_operand2), opval);
   10071     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10072   }
   10073 }
   10074 {
   10075   {
   10076     BI opval = LTQI (tmp_tmpd, 0);
   10077     CPU (h_nbit) = opval;
   10078     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10079   }
   10080   {
   10081     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10082     CPU (h_zbit) = opval;
   10083     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10084   }
   10085 SET_H_CBIT_MOVE (0);
   10086 SET_H_VBIT_MOVE (0);
   10087 {
   10088   {
   10089     BI opval = 0;
   10090     CPU (h_xbit) = opval;
   10091     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10092   }
   10093   {
   10094     BI opval = 0;
   10095     SET_H_INSN_PREFIXED_P (opval);
   10096     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10097   }
   10098 }
   10099 }
   10100 }
   10101 
   10102 #undef FLD
   10103 }
   10104   NEXT (vpc);
   10105 
   10106   CASE (sem, INSN_AND_W_R) : /* and.w $Rs,$Rd */
   10107 {
   10108   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10109   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10110 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10111   int UNUSED written = 0;
   10112   IADDR UNUSED pc = abuf->addr;
   10113   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10114 
   10115 {
   10116   HI tmp_tmpd;
   10117   tmp_tmpd = ANDHI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10118 {
   10119   SI tmp_oldregval;
   10120   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10121   {
   10122     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10123     SET_H_GR (FLD (f_operand2), opval);
   10124     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10125   }
   10126 }
   10127 {
   10128   {
   10129     BI opval = LTHI (tmp_tmpd, 0);
   10130     CPU (h_nbit) = opval;
   10131     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10132   }
   10133   {
   10134     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10135     CPU (h_zbit) = opval;
   10136     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10137   }
   10138 SET_H_CBIT_MOVE (0);
   10139 SET_H_VBIT_MOVE (0);
   10140 {
   10141   {
   10142     BI opval = 0;
   10143     CPU (h_xbit) = opval;
   10144     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10145   }
   10146   {
   10147     BI opval = 0;
   10148     SET_H_INSN_PREFIXED_P (opval);
   10149     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10150   }
   10151 }
   10152 }
   10153 }
   10154 
   10155 #undef FLD
   10156 }
   10157   NEXT (vpc);
   10158 
   10159   CASE (sem, INSN_AND_D_R) : /* and.d $Rs,$Rd */
   10160 {
   10161   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10162   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10163 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10164   int UNUSED written = 0;
   10165   IADDR UNUSED pc = abuf->addr;
   10166   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10167 
   10168 {
   10169   SI tmp_tmpd;
   10170   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10171   {
   10172     SI opval = tmp_tmpd;
   10173     SET_H_GR (FLD (f_operand2), opval);
   10174     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10175   }
   10176 {
   10177   {
   10178     BI opval = LTSI (tmp_tmpd, 0);
   10179     CPU (h_nbit) = opval;
   10180     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10181   }
   10182   {
   10183     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10184     CPU (h_zbit) = opval;
   10185     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10186   }
   10187 SET_H_CBIT_MOVE (0);
   10188 SET_H_VBIT_MOVE (0);
   10189 {
   10190   {
   10191     BI opval = 0;
   10192     CPU (h_xbit) = opval;
   10193     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10194   }
   10195   {
   10196     BI opval = 0;
   10197     SET_H_INSN_PREFIXED_P (opval);
   10198     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10199   }
   10200 }
   10201 }
   10202 }
   10203 
   10204 #undef FLD
   10205 }
   10206   NEXT (vpc);
   10207 
   10208   CASE (sem, INSN_AND_M_B_M) : /* and-m.b [${Rs}${inc}],${Rd} */
   10209 {
   10210   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10211   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10212 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10213   int UNUSED written = 0;
   10214   IADDR UNUSED pc = abuf->addr;
   10215   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10216 
   10217 {
   10218   QI tmp_tmpd;
   10219   tmp_tmpd = ANDQI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10220   QI tmp_tmp_mem;
   10221   BI tmp_postinc;
   10222   tmp_postinc = FLD (f_memmode);
   10223 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10224 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   10225 ; if (NEBI (tmp_postinc, 0)) {
   10226 {
   10227 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10228   tmp_addr = ADDSI (tmp_addr, 1);
   10229 }
   10230   {
   10231     SI opval = tmp_addr;
   10232     SET_H_GR (FLD (f_operand1), opval);
   10233     written |= (1 << 11);
   10234     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10235   }
   10236 }
   10237 }
   10238 ; tmp_tmp_mem; }));
   10239 {
   10240   SI tmp_oldregval;
   10241   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10242   {
   10243     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10244     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10245     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10246   }
   10247 }
   10248 {
   10249   {
   10250     BI opval = LTQI (tmp_tmpd, 0);
   10251     CPU (h_nbit) = opval;
   10252     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10253   }
   10254   {
   10255     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10256     CPU (h_zbit) = opval;
   10257     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10258   }
   10259 SET_H_CBIT_MOVE (0);
   10260 SET_H_VBIT_MOVE (0);
   10261 {
   10262   {
   10263     BI opval = 0;
   10264     CPU (h_xbit) = opval;
   10265     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10266   }
   10267   {
   10268     BI opval = 0;
   10269     SET_H_INSN_PREFIXED_P (opval);
   10270     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10271   }
   10272 }
   10273 }
   10274 }
   10275 
   10276   abuf->written = written;
   10277 #undef FLD
   10278 }
   10279   NEXT (vpc);
   10280 
   10281   CASE (sem, INSN_AND_M_W_M) : /* and-m.w [${Rs}${inc}],${Rd} */
   10282 {
   10283   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10284   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10285 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10286   int UNUSED written = 0;
   10287   IADDR UNUSED pc = abuf->addr;
   10288   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10289 
   10290 {
   10291   HI tmp_tmpd;
   10292   tmp_tmpd = ANDHI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10293   HI tmp_tmp_mem;
   10294   BI tmp_postinc;
   10295   tmp_postinc = FLD (f_memmode);
   10296 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10297 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   10298 ; if (NEBI (tmp_postinc, 0)) {
   10299 {
   10300 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10301   tmp_addr = ADDSI (tmp_addr, 2);
   10302 }
   10303   {
   10304     SI opval = tmp_addr;
   10305     SET_H_GR (FLD (f_operand1), opval);
   10306     written |= (1 << 11);
   10307     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10308   }
   10309 }
   10310 }
   10311 ; tmp_tmp_mem; }));
   10312 {
   10313   SI tmp_oldregval;
   10314   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10315   {
   10316     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10317     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10318     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10319   }
   10320 }
   10321 {
   10322   {
   10323     BI opval = LTHI (tmp_tmpd, 0);
   10324     CPU (h_nbit) = opval;
   10325     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10326   }
   10327   {
   10328     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10329     CPU (h_zbit) = opval;
   10330     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10331   }
   10332 SET_H_CBIT_MOVE (0);
   10333 SET_H_VBIT_MOVE (0);
   10334 {
   10335   {
   10336     BI opval = 0;
   10337     CPU (h_xbit) = opval;
   10338     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10339   }
   10340   {
   10341     BI opval = 0;
   10342     SET_H_INSN_PREFIXED_P (opval);
   10343     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10344   }
   10345 }
   10346 }
   10347 }
   10348 
   10349   abuf->written = written;
   10350 #undef FLD
   10351 }
   10352   NEXT (vpc);
   10353 
   10354   CASE (sem, INSN_AND_M_D_M) : /* and-m.d [${Rs}${inc}],${Rd} */
   10355 {
   10356   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10357   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10358 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10359   int UNUSED written = 0;
   10360   IADDR UNUSED pc = abuf->addr;
   10361   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10362 
   10363 {
   10364   SI tmp_tmpd;
   10365   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10366   SI tmp_tmp_mem;
   10367   BI tmp_postinc;
   10368   tmp_postinc = FLD (f_memmode);
   10369 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10370 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   10371 ; if (NEBI (tmp_postinc, 0)) {
   10372 {
   10373 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10374   tmp_addr = ADDSI (tmp_addr, 4);
   10375 }
   10376   {
   10377     SI opval = tmp_addr;
   10378     SET_H_GR (FLD (f_operand1), opval);
   10379     written |= (1 << 10);
   10380     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10381   }
   10382 }
   10383 }
   10384 ; tmp_tmp_mem; }));
   10385   {
   10386     SI opval = tmp_tmpd;
   10387     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10388     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10389   }
   10390 {
   10391   {
   10392     BI opval = LTSI (tmp_tmpd, 0);
   10393     CPU (h_nbit) = opval;
   10394     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10395   }
   10396   {
   10397     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10398     CPU (h_zbit) = opval;
   10399     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10400   }
   10401 SET_H_CBIT_MOVE (0);
   10402 SET_H_VBIT_MOVE (0);
   10403 {
   10404   {
   10405     BI opval = 0;
   10406     CPU (h_xbit) = opval;
   10407     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10408   }
   10409   {
   10410     BI opval = 0;
   10411     SET_H_INSN_PREFIXED_P (opval);
   10412     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10413   }
   10414 }
   10415 }
   10416 }
   10417 
   10418   abuf->written = written;
   10419 #undef FLD
   10420 }
   10421   NEXT (vpc);
   10422 
   10423   CASE (sem, INSN_ANDCBR) : /* and.b ${sconst8}],${Rd} */
   10424 {
   10425   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10426   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10427 #define FLD(f) abuf->fields.sfmt_addcbr.f
   10428   int UNUSED written = 0;
   10429   IADDR UNUSED pc = abuf->addr;
   10430   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   10431 
   10432 {
   10433   QI tmp_tmpd;
   10434   tmp_tmpd = ANDQI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__byte));
   10435 {
   10436   SI tmp_oldregval;
   10437   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10438   {
   10439     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10440     SET_H_GR (FLD (f_operand2), opval);
   10441     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10442   }
   10443 }
   10444 {
   10445   {
   10446     BI opval = LTQI (tmp_tmpd, 0);
   10447     CPU (h_nbit) = opval;
   10448     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10449   }
   10450   {
   10451     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10452     CPU (h_zbit) = opval;
   10453     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10454   }
   10455 SET_H_CBIT_MOVE (0);
   10456 SET_H_VBIT_MOVE (0);
   10457 {
   10458   {
   10459     BI opval = 0;
   10460     CPU (h_xbit) = opval;
   10461     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10462   }
   10463   {
   10464     BI opval = 0;
   10465     SET_H_INSN_PREFIXED_P (opval);
   10466     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10467   }
   10468 }
   10469 }
   10470 }
   10471 
   10472 #undef FLD
   10473 }
   10474   NEXT (vpc);
   10475 
   10476   CASE (sem, INSN_ANDCWR) : /* and.w ${sconst16}],${Rd} */
   10477 {
   10478   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10479   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10480 #define FLD(f) abuf->fields.sfmt_addcwr.f
   10481   int UNUSED written = 0;
   10482   IADDR UNUSED pc = abuf->addr;
   10483   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   10484 
   10485 {
   10486   HI tmp_tmpd;
   10487   tmp_tmpd = ANDHI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__word));
   10488 {
   10489   SI tmp_oldregval;
   10490   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10491   {
   10492     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10493     SET_H_GR (FLD (f_operand2), opval);
   10494     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10495   }
   10496 }
   10497 {
   10498   {
   10499     BI opval = LTHI (tmp_tmpd, 0);
   10500     CPU (h_nbit) = opval;
   10501     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10502   }
   10503   {
   10504     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10505     CPU (h_zbit) = opval;
   10506     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10507   }
   10508 SET_H_CBIT_MOVE (0);
   10509 SET_H_VBIT_MOVE (0);
   10510 {
   10511   {
   10512     BI opval = 0;
   10513     CPU (h_xbit) = opval;
   10514     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10515   }
   10516   {
   10517     BI opval = 0;
   10518     SET_H_INSN_PREFIXED_P (opval);
   10519     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10520   }
   10521 }
   10522 }
   10523 }
   10524 
   10525 #undef FLD
   10526 }
   10527   NEXT (vpc);
   10528 
   10529   CASE (sem, INSN_ANDCDR) : /* and.d ${const32}],${Rd} */
   10530 {
   10531   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10532   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10533 #define FLD(f) abuf->fields.sfmt_addcdr.f
   10534   int UNUSED written = 0;
   10535   IADDR UNUSED pc = abuf->addr;
   10536   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   10537 
   10538 {
   10539   SI tmp_tmpd;
   10540   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
   10541   {
   10542     SI opval = tmp_tmpd;
   10543     SET_H_GR (FLD (f_operand2), opval);
   10544     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10545   }
   10546 {
   10547   {
   10548     BI opval = LTSI (tmp_tmpd, 0);
   10549     CPU (h_nbit) = opval;
   10550     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10551   }
   10552   {
   10553     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10554     CPU (h_zbit) = opval;
   10555     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10556   }
   10557 SET_H_CBIT_MOVE (0);
   10558 SET_H_VBIT_MOVE (0);
   10559 {
   10560   {
   10561     BI opval = 0;
   10562     CPU (h_xbit) = opval;
   10563     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10564   }
   10565   {
   10566     BI opval = 0;
   10567     SET_H_INSN_PREFIXED_P (opval);
   10568     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10569   }
   10570 }
   10571 }
   10572 }
   10573 
   10574 #undef FLD
   10575 }
   10576   NEXT (vpc);
   10577 
   10578   CASE (sem, INSN_ANDQ) : /* andq $i,$Rd */
   10579 {
   10580   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10581   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10582 #define FLD(f) abuf->fields.sfmt_andq.f
   10583   int UNUSED written = 0;
   10584   IADDR UNUSED pc = abuf->addr;
   10585   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10586 
   10587 {
   10588   SI tmp_tmpd;
   10589   tmp_tmpd = ANDSI (GET_H_GR (FLD (f_operand2)), FLD (f_s6));
   10590   {
   10591     SI opval = tmp_tmpd;
   10592     SET_H_GR (FLD (f_operand2), opval);
   10593     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10594   }
   10595 {
   10596   {
   10597     BI opval = LTSI (tmp_tmpd, 0);
   10598     CPU (h_nbit) = opval;
   10599     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10600   }
   10601   {
   10602     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10603     CPU (h_zbit) = opval;
   10604     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10605   }
   10606 SET_H_CBIT_MOVE (0);
   10607 SET_H_VBIT_MOVE (0);
   10608 {
   10609   {
   10610     BI opval = 0;
   10611     CPU (h_xbit) = opval;
   10612     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10613   }
   10614   {
   10615     BI opval = 0;
   10616     SET_H_INSN_PREFIXED_P (opval);
   10617     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10618   }
   10619 }
   10620 }
   10621 }
   10622 
   10623 #undef FLD
   10624 }
   10625   NEXT (vpc);
   10626 
   10627   CASE (sem, INSN_ORR_B_R) : /* orr.b $Rs,$Rd */
   10628 {
   10629   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10630   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10631 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10632   int UNUSED written = 0;
   10633   IADDR UNUSED pc = abuf->addr;
   10634   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10635 
   10636 {
   10637   QI tmp_tmpd;
   10638   tmp_tmpd = ORQI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10639 {
   10640   SI tmp_oldregval;
   10641   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10642   {
   10643     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10644     SET_H_GR (FLD (f_operand2), opval);
   10645     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10646   }
   10647 }
   10648 {
   10649   {
   10650     BI opval = LTQI (tmp_tmpd, 0);
   10651     CPU (h_nbit) = opval;
   10652     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10653   }
   10654   {
   10655     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10656     CPU (h_zbit) = opval;
   10657     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10658   }
   10659 SET_H_CBIT_MOVE (0);
   10660 SET_H_VBIT_MOVE (0);
   10661 {
   10662   {
   10663     BI opval = 0;
   10664     CPU (h_xbit) = opval;
   10665     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10666   }
   10667   {
   10668     BI opval = 0;
   10669     SET_H_INSN_PREFIXED_P (opval);
   10670     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10671   }
   10672 }
   10673 }
   10674 }
   10675 
   10676 #undef FLD
   10677 }
   10678   NEXT (vpc);
   10679 
   10680   CASE (sem, INSN_ORR_W_R) : /* orr.w $Rs,$Rd */
   10681 {
   10682   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10683   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10684 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10685   int UNUSED written = 0;
   10686   IADDR UNUSED pc = abuf->addr;
   10687   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10688 
   10689 {
   10690   HI tmp_tmpd;
   10691   tmp_tmpd = ORHI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10692 {
   10693   SI tmp_oldregval;
   10694   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   10695   {
   10696     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10697     SET_H_GR (FLD (f_operand2), opval);
   10698     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10699   }
   10700 }
   10701 {
   10702   {
   10703     BI opval = LTHI (tmp_tmpd, 0);
   10704     CPU (h_nbit) = opval;
   10705     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10706   }
   10707   {
   10708     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10709     CPU (h_zbit) = opval;
   10710     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10711   }
   10712 SET_H_CBIT_MOVE (0);
   10713 SET_H_VBIT_MOVE (0);
   10714 {
   10715   {
   10716     BI opval = 0;
   10717     CPU (h_xbit) = opval;
   10718     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10719   }
   10720   {
   10721     BI opval = 0;
   10722     SET_H_INSN_PREFIXED_P (opval);
   10723     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10724   }
   10725 }
   10726 }
   10727 }
   10728 
   10729 #undef FLD
   10730 }
   10731   NEXT (vpc);
   10732 
   10733   CASE (sem, INSN_ORR_D_R) : /* orr.d $Rs,$Rd */
   10734 {
   10735   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10736   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10737 #define FLD(f) abuf->fields.sfmt_addc_m.f
   10738   int UNUSED written = 0;
   10739   IADDR UNUSED pc = abuf->addr;
   10740   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10741 
   10742 {
   10743   SI tmp_tmpd;
   10744   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   10745   {
   10746     SI opval = tmp_tmpd;
   10747     SET_H_GR (FLD (f_operand2), opval);
   10748     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10749   }
   10750 {
   10751   {
   10752     BI opval = LTSI (tmp_tmpd, 0);
   10753     CPU (h_nbit) = opval;
   10754     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10755   }
   10756   {
   10757     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10758     CPU (h_zbit) = opval;
   10759     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10760   }
   10761 SET_H_CBIT_MOVE (0);
   10762 SET_H_VBIT_MOVE (0);
   10763 {
   10764   {
   10765     BI opval = 0;
   10766     CPU (h_xbit) = opval;
   10767     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10768   }
   10769   {
   10770     BI opval = 0;
   10771     SET_H_INSN_PREFIXED_P (opval);
   10772     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10773   }
   10774 }
   10775 }
   10776 }
   10777 
   10778 #undef FLD
   10779 }
   10780   NEXT (vpc);
   10781 
   10782   CASE (sem, INSN_OR_M_B_M) : /* or-m.b [${Rs}${inc}],${Rd} */
   10783 {
   10784   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10785   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10786 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10787   int UNUSED written = 0;
   10788   IADDR UNUSED pc = abuf->addr;
   10789   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10790 
   10791 {
   10792   QI tmp_tmpd;
   10793   tmp_tmpd = ORQI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10794   QI tmp_tmp_mem;
   10795   BI tmp_postinc;
   10796   tmp_postinc = FLD (f_memmode);
   10797 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10798 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   10799 ; if (NEBI (tmp_postinc, 0)) {
   10800 {
   10801 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10802   tmp_addr = ADDSI (tmp_addr, 1);
   10803 }
   10804   {
   10805     SI opval = tmp_addr;
   10806     SET_H_GR (FLD (f_operand1), opval);
   10807     written |= (1 << 11);
   10808     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10809   }
   10810 }
   10811 }
   10812 ; tmp_tmp_mem; }));
   10813 {
   10814   SI tmp_oldregval;
   10815   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10816   {
   10817     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   10818     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10819     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10820   }
   10821 }
   10822 {
   10823   {
   10824     BI opval = LTQI (tmp_tmpd, 0);
   10825     CPU (h_nbit) = opval;
   10826     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10827   }
   10828   {
   10829     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10830     CPU (h_zbit) = opval;
   10831     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10832   }
   10833 SET_H_CBIT_MOVE (0);
   10834 SET_H_VBIT_MOVE (0);
   10835 {
   10836   {
   10837     BI opval = 0;
   10838     CPU (h_xbit) = opval;
   10839     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10840   }
   10841   {
   10842     BI opval = 0;
   10843     SET_H_INSN_PREFIXED_P (opval);
   10844     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10845   }
   10846 }
   10847 }
   10848 }
   10849 
   10850   abuf->written = written;
   10851 #undef FLD
   10852 }
   10853   NEXT (vpc);
   10854 
   10855   CASE (sem, INSN_OR_M_W_M) : /* or-m.w [${Rs}${inc}],${Rd} */
   10856 {
   10857   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10858   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10859 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10860   int UNUSED written = 0;
   10861   IADDR UNUSED pc = abuf->addr;
   10862   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10863 
   10864 {
   10865   HI tmp_tmpd;
   10866   tmp_tmpd = ORHI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10867   HI tmp_tmp_mem;
   10868   BI tmp_postinc;
   10869   tmp_postinc = FLD (f_memmode);
   10870 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10871 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   10872 ; if (NEBI (tmp_postinc, 0)) {
   10873 {
   10874 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10875   tmp_addr = ADDSI (tmp_addr, 2);
   10876 }
   10877   {
   10878     SI opval = tmp_addr;
   10879     SET_H_GR (FLD (f_operand1), opval);
   10880     written |= (1 << 11);
   10881     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10882   }
   10883 }
   10884 }
   10885 ; tmp_tmp_mem; }));
   10886 {
   10887   SI tmp_oldregval;
   10888   tmp_oldregval = GET_H_RAW_GR_ACR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))));
   10889   {
   10890     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   10891     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10892     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10893   }
   10894 }
   10895 {
   10896   {
   10897     BI opval = LTHI (tmp_tmpd, 0);
   10898     CPU (h_nbit) = opval;
   10899     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10900   }
   10901   {
   10902     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10903     CPU (h_zbit) = opval;
   10904     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10905   }
   10906 SET_H_CBIT_MOVE (0);
   10907 SET_H_VBIT_MOVE (0);
   10908 {
   10909   {
   10910     BI opval = 0;
   10911     CPU (h_xbit) = opval;
   10912     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10913   }
   10914   {
   10915     BI opval = 0;
   10916     SET_H_INSN_PREFIXED_P (opval);
   10917     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10918   }
   10919 }
   10920 }
   10921 }
   10922 
   10923   abuf->written = written;
   10924 #undef FLD
   10925 }
   10926   NEXT (vpc);
   10927 
   10928   CASE (sem, INSN_OR_M_D_M) : /* or-m.d [${Rs}${inc}],${Rd} */
   10929 {
   10930   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   10931   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   10932 #define FLD(f) abuf->fields.sfmt_add_m_b_m.f
   10933   int UNUSED written = 0;
   10934   IADDR UNUSED pc = abuf->addr;
   10935   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   10936 
   10937 {
   10938   SI tmp_tmpd;
   10939   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), ({   SI tmp_addr;
   10940   SI tmp_tmp_mem;
   10941   BI tmp_postinc;
   10942   tmp_postinc = FLD (f_memmode);
   10943 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   10944 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   10945 ; if (NEBI (tmp_postinc, 0)) {
   10946 {
   10947 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   10948   tmp_addr = ADDSI (tmp_addr, 4);
   10949 }
   10950   {
   10951     SI opval = tmp_addr;
   10952     SET_H_GR (FLD (f_operand1), opval);
   10953     written |= (1 << 10);
   10954     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10955   }
   10956 }
   10957 }
   10958 ; tmp_tmp_mem; }));
   10959   {
   10960     SI opval = tmp_tmpd;
   10961     SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
   10962     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   10963   }
   10964 {
   10965   {
   10966     BI opval = LTSI (tmp_tmpd, 0);
   10967     CPU (h_nbit) = opval;
   10968     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   10969   }
   10970   {
   10971     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   10972     CPU (h_zbit) = opval;
   10973     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   10974   }
   10975 SET_H_CBIT_MOVE (0);
   10976 SET_H_VBIT_MOVE (0);
   10977 {
   10978   {
   10979     BI opval = 0;
   10980     CPU (h_xbit) = opval;
   10981     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   10982   }
   10983   {
   10984     BI opval = 0;
   10985     SET_H_INSN_PREFIXED_P (opval);
   10986     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   10987   }
   10988 }
   10989 }
   10990 }
   10991 
   10992   abuf->written = written;
   10993 #undef FLD
   10994 }
   10995   NEXT (vpc);
   10996 
   10997   CASE (sem, INSN_ORCBR) : /* or.b ${sconst8}],${Rd} */
   10998 {
   10999   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11000   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11001 #define FLD(f) abuf->fields.sfmt_addcbr.f
   11002   int UNUSED written = 0;
   11003   IADDR UNUSED pc = abuf->addr;
   11004   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   11005 
   11006 {
   11007   QI tmp_tmpd;
   11008   tmp_tmpd = ORQI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__byte));
   11009 {
   11010   SI tmp_oldregval;
   11011   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11012   {
   11013     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11014     SET_H_GR (FLD (f_operand2), opval);
   11015     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11016   }
   11017 }
   11018 {
   11019   {
   11020     BI opval = LTQI (tmp_tmpd, 0);
   11021     CPU (h_nbit) = opval;
   11022     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11023   }
   11024   {
   11025     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11026     CPU (h_zbit) = opval;
   11027     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11028   }
   11029 SET_H_CBIT_MOVE (0);
   11030 SET_H_VBIT_MOVE (0);
   11031 {
   11032   {
   11033     BI opval = 0;
   11034     CPU (h_xbit) = opval;
   11035     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11036   }
   11037   {
   11038     BI opval = 0;
   11039     SET_H_INSN_PREFIXED_P (opval);
   11040     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11041   }
   11042 }
   11043 }
   11044 }
   11045 
   11046 #undef FLD
   11047 }
   11048   NEXT (vpc);
   11049 
   11050   CASE (sem, INSN_ORCWR) : /* or.w ${sconst16}],${Rd} */
   11051 {
   11052   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11053   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11054 #define FLD(f) abuf->fields.sfmt_addcwr.f
   11055   int UNUSED written = 0;
   11056   IADDR UNUSED pc = abuf->addr;
   11057   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   11058 
   11059 {
   11060   HI tmp_tmpd;
   11061   tmp_tmpd = ORHI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__word));
   11062 {
   11063   SI tmp_oldregval;
   11064   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11065   {
   11066     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11067     SET_H_GR (FLD (f_operand2), opval);
   11068     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11069   }
   11070 }
   11071 {
   11072   {
   11073     BI opval = LTHI (tmp_tmpd, 0);
   11074     CPU (h_nbit) = opval;
   11075     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11076   }
   11077   {
   11078     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11079     CPU (h_zbit) = opval;
   11080     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11081   }
   11082 SET_H_CBIT_MOVE (0);
   11083 SET_H_VBIT_MOVE (0);
   11084 {
   11085   {
   11086     BI opval = 0;
   11087     CPU (h_xbit) = opval;
   11088     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11089   }
   11090   {
   11091     BI opval = 0;
   11092     SET_H_INSN_PREFIXED_P (opval);
   11093     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11094   }
   11095 }
   11096 }
   11097 }
   11098 
   11099 #undef FLD
   11100 }
   11101   NEXT (vpc);
   11102 
   11103   CASE (sem, INSN_ORCDR) : /* or.d ${const32}],${Rd} */
   11104 {
   11105   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11106   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11107 #define FLD(f) abuf->fields.sfmt_addcdr.f
   11108   int UNUSED written = 0;
   11109   IADDR UNUSED pc = abuf->addr;
   11110   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   11111 
   11112 {
   11113   SI tmp_tmpd;
   11114   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
   11115   {
   11116     SI opval = tmp_tmpd;
   11117     SET_H_GR (FLD (f_operand2), opval);
   11118     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11119   }
   11120 {
   11121   {
   11122     BI opval = LTSI (tmp_tmpd, 0);
   11123     CPU (h_nbit) = opval;
   11124     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11125   }
   11126   {
   11127     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11128     CPU (h_zbit) = opval;
   11129     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11130   }
   11131 SET_H_CBIT_MOVE (0);
   11132 SET_H_VBIT_MOVE (0);
   11133 {
   11134   {
   11135     BI opval = 0;
   11136     CPU (h_xbit) = opval;
   11137     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11138   }
   11139   {
   11140     BI opval = 0;
   11141     SET_H_INSN_PREFIXED_P (opval);
   11142     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11143   }
   11144 }
   11145 }
   11146 }
   11147 
   11148 #undef FLD
   11149 }
   11150   NEXT (vpc);
   11151 
   11152   CASE (sem, INSN_ORQ) : /* orq $i,$Rd */
   11153 {
   11154   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11155   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11156 #define FLD(f) abuf->fields.sfmt_andq.f
   11157   int UNUSED written = 0;
   11158   IADDR UNUSED pc = abuf->addr;
   11159   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11160 
   11161 {
   11162   SI tmp_tmpd;
   11163   tmp_tmpd = ORSI (GET_H_GR (FLD (f_operand2)), FLD (f_s6));
   11164   {
   11165     SI opval = tmp_tmpd;
   11166     SET_H_GR (FLD (f_operand2), opval);
   11167     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11168   }
   11169 {
   11170   {
   11171     BI opval = LTSI (tmp_tmpd, 0);
   11172     CPU (h_nbit) = opval;
   11173     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11174   }
   11175   {
   11176     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11177     CPU (h_zbit) = opval;
   11178     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11179   }
   11180 SET_H_CBIT_MOVE (0);
   11181 SET_H_VBIT_MOVE (0);
   11182 {
   11183   {
   11184     BI opval = 0;
   11185     CPU (h_xbit) = opval;
   11186     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11187   }
   11188   {
   11189     BI opval = 0;
   11190     SET_H_INSN_PREFIXED_P (opval);
   11191     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11192   }
   11193 }
   11194 }
   11195 }
   11196 
   11197 #undef FLD
   11198 }
   11199   NEXT (vpc);
   11200 
   11201   CASE (sem, INSN_XOR) : /* xor $Rs,$Rd */
   11202 {
   11203   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11204   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11205 #define FLD(f) abuf->fields.sfmt_muls_b.f
   11206   int UNUSED written = 0;
   11207   IADDR UNUSED pc = abuf->addr;
   11208   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11209 
   11210 {
   11211   SI tmp_tmpd;
   11212   tmp_tmpd = XORSI (GET_H_GR (FLD (f_operand2)), GET_H_GR (FLD (f_operand1)));
   11213   {
   11214     SI opval = tmp_tmpd;
   11215     SET_H_GR (FLD (f_operand2), opval);
   11216     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11217   }
   11218 {
   11219   {
   11220     BI opval = LTSI (tmp_tmpd, 0);
   11221     CPU (h_nbit) = opval;
   11222     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11223   }
   11224   {
   11225     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11226     CPU (h_zbit) = opval;
   11227     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11228   }
   11229 SET_H_CBIT_MOVE (0);
   11230 SET_H_VBIT_MOVE (0);
   11231 {
   11232   {
   11233     BI opval = 0;
   11234     CPU (h_xbit) = opval;
   11235     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11236   }
   11237   {
   11238     BI opval = 0;
   11239     SET_H_INSN_PREFIXED_P (opval);
   11240     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11241   }
   11242 }
   11243 }
   11244 }
   11245 
   11246 #undef FLD
   11247 }
   11248   NEXT (vpc);
   11249 
   11250   CASE (sem, INSN_SWAP) : /* swap${swapoption} ${Rs} */
   11251 {
   11252   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11253   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11254 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   11255   int UNUSED written = 0;
   11256   IADDR UNUSED pc = abuf->addr;
   11257   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11258 
   11259 {
   11260   SI tmp_tmps;
   11261   SI tmp_tmpd;
   11262   tmp_tmps = GET_H_GR (FLD (f_operand1));
   11263   tmp_tmpd = ({   SI tmp_tmpcode;
   11264   SI tmp_tmpval;
   11265   SI tmp_tmpres;
   11266   tmp_tmpcode = FLD (f_operand2);
   11267 ;   tmp_tmpval = tmp_tmps;
   11268 ; if (EQSI (tmp_tmpcode, 0)) {
   11269   tmp_tmpres = (cgen_rtx_error (current_cpu, "SWAP without swap modifier isn't implemented"), 0);
   11270 }
   11271  else if (EQSI (tmp_tmpcode, 1)) {
   11272   tmp_tmpres = ({   SI tmp_tmpr;
   11273   tmp_tmpr = tmp_tmpval;
   11274 ; 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)))))))); });
   11275 }
   11276  else if (EQSI (tmp_tmpcode, 2)) {
   11277   tmp_tmpres = ({   SI tmp_tmpb;
   11278   tmp_tmpb = tmp_tmpval;
   11279 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11280 }
   11281  else if (EQSI (tmp_tmpcode, 3)) {
   11282   tmp_tmpres = ({   SI tmp_tmpr;
   11283   tmp_tmpr = ({   SI tmp_tmpb;
   11284   tmp_tmpb = tmp_tmpval;
   11285 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11286 ; 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)))))))); });
   11287 }
   11288  else if (EQSI (tmp_tmpcode, 4)) {
   11289   tmp_tmpres = ({   SI tmp_tmpw;
   11290   tmp_tmpw = tmp_tmpval;
   11291 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11292 }
   11293  else if (EQSI (tmp_tmpcode, 5)) {
   11294   tmp_tmpres = ({   SI tmp_tmpr;
   11295   tmp_tmpr = ({   SI tmp_tmpw;
   11296   tmp_tmpw = tmp_tmpval;
   11297 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11298 ; 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)))))))); });
   11299 }
   11300  else if (EQSI (tmp_tmpcode, 6)) {
   11301   tmp_tmpres = ({   SI tmp_tmpb;
   11302   tmp_tmpb = ({   SI tmp_tmpw;
   11303   tmp_tmpw = tmp_tmpval;
   11304 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11305 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11306 }
   11307  else if (EQSI (tmp_tmpcode, 7)) {
   11308   tmp_tmpres = ({   SI tmp_tmpr;
   11309   tmp_tmpr = ({   SI tmp_tmpb;
   11310   tmp_tmpb = ({   SI tmp_tmpw;
   11311   tmp_tmpw = tmp_tmpval;
   11312 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11313 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11314 ; 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)))))))); });
   11315 }
   11316  else if (EQSI (tmp_tmpcode, 8)) {
   11317   tmp_tmpres = INVSI (tmp_tmpval);
   11318 }
   11319  else if (EQSI (tmp_tmpcode, 9)) {
   11320   tmp_tmpres = ({   SI tmp_tmpr;
   11321   tmp_tmpr = INVSI (tmp_tmpval);
   11322 ; 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)))))))); });
   11323 }
   11324  else if (EQSI (tmp_tmpcode, 10)) {
   11325   tmp_tmpres = ({   SI tmp_tmpb;
   11326   tmp_tmpb = INVSI (tmp_tmpval);
   11327 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11328 }
   11329  else if (EQSI (tmp_tmpcode, 11)) {
   11330   tmp_tmpres = ({   SI tmp_tmpr;
   11331   tmp_tmpr = ({   SI tmp_tmpb;
   11332   tmp_tmpb = INVSI (tmp_tmpval);
   11333 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11334 ; 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)))))))); });
   11335 }
   11336  else if (EQSI (tmp_tmpcode, 12)) {
   11337   tmp_tmpres = ({   SI tmp_tmpw;
   11338   tmp_tmpw = INVSI (tmp_tmpval);
   11339 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11340 }
   11341  else if (EQSI (tmp_tmpcode, 13)) {
   11342   tmp_tmpres = ({   SI tmp_tmpr;
   11343   tmp_tmpr = ({   SI tmp_tmpw;
   11344   tmp_tmpw = INVSI (tmp_tmpval);
   11345 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11346 ; 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)))))))); });
   11347 }
   11348  else if (EQSI (tmp_tmpcode, 14)) {
   11349   tmp_tmpres = ({   SI tmp_tmpb;
   11350   tmp_tmpb = ({   SI tmp_tmpw;
   11351   tmp_tmpw = INVSI (tmp_tmpval);
   11352 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11353 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11354 }
   11355  else if (EQSI (tmp_tmpcode, 15)) {
   11356   tmp_tmpres = ({   SI tmp_tmpr;
   11357   tmp_tmpr = ({   SI tmp_tmpb;
   11358   tmp_tmpb = ({   SI tmp_tmpw;
   11359   tmp_tmpw = INVSI (tmp_tmpval);
   11360 ; ORSI (ANDSI (SLLSI (tmp_tmpw, 16), 0xffff0000), ANDSI (SRLSI (tmp_tmpw, 16), 65535)); });
   11361 ; ORSI (ANDSI (SLLSI (tmp_tmpb, 8), 0xff00ff00), ANDSI (SRLSI (tmp_tmpb, 8), 16711935)); });
   11362 ; 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)))))))); });
   11363 }
   11364  else {
   11365 cgen_rtx_error (current_cpu, "Unknown swapcode");
   11366 }
   11367 ; tmp_tmpres; });
   11368   {
   11369     SI opval = tmp_tmpd;
   11370     SET_H_GR (FLD (f_operand1), opval);
   11371     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11372   }
   11373 {
   11374   {
   11375     BI opval = LTSI (tmp_tmpd, 0);
   11376     CPU (h_nbit) = opval;
   11377     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11378   }
   11379   {
   11380     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11381     CPU (h_zbit) = opval;
   11382     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11383   }
   11384 SET_H_CBIT_MOVE (0);
   11385 SET_H_VBIT_MOVE (0);
   11386 {
   11387   {
   11388     BI opval = 0;
   11389     CPU (h_xbit) = opval;
   11390     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11391   }
   11392   {
   11393     BI opval = 0;
   11394     SET_H_INSN_PREFIXED_P (opval);
   11395     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11396   }
   11397 }
   11398 }
   11399 }
   11400 
   11401 #undef FLD
   11402 }
   11403   NEXT (vpc);
   11404 
   11405   CASE (sem, INSN_ASRR_B_R) : /* asrr.b $Rs,$Rd */
   11406 {
   11407   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11408   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11409 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11410   int UNUSED written = 0;
   11411   IADDR UNUSED pc = abuf->addr;
   11412   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11413 
   11414 {
   11415   QI tmp_tmpd;
   11416   SI tmp_cnt1;
   11417   SI tmp_cnt2;
   11418   tmp_cnt1 = GET_H_GR (FLD (f_operand1));
   11419   tmp_cnt2 = ((NESI (ANDSI (tmp_cnt1, 32), 0)) ? (31) : (ANDSI (tmp_cnt1, 31)));
   11420   tmp_tmpd = SRASI (EXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand2)))), tmp_cnt2);
   11421 {
   11422   SI tmp_oldregval;
   11423   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11424   {
   11425     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11426     SET_H_GR (FLD (f_operand2), opval);
   11427     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11428   }
   11429 }
   11430 {
   11431   {
   11432     BI opval = LTQI (tmp_tmpd, 0);
   11433     CPU (h_nbit) = opval;
   11434     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11435   }
   11436   {
   11437     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11438     CPU (h_zbit) = opval;
   11439     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11440   }
   11441 SET_H_CBIT_MOVE (0);
   11442 SET_H_VBIT_MOVE (0);
   11443 {
   11444   {
   11445     BI opval = 0;
   11446     CPU (h_xbit) = opval;
   11447     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11448   }
   11449   {
   11450     BI opval = 0;
   11451     SET_H_INSN_PREFIXED_P (opval);
   11452     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11453   }
   11454 }
   11455 }
   11456 }
   11457 
   11458 #undef FLD
   11459 }
   11460   NEXT (vpc);
   11461 
   11462   CASE (sem, INSN_ASRR_W_R) : /* asrr.w $Rs,$Rd */
   11463 {
   11464   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11465   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11466 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11467   int UNUSED written = 0;
   11468   IADDR UNUSED pc = abuf->addr;
   11469   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11470 
   11471 {
   11472   HI tmp_tmpd;
   11473   SI tmp_cnt1;
   11474   SI tmp_cnt2;
   11475   tmp_cnt1 = GET_H_GR (FLD (f_operand1));
   11476   tmp_cnt2 = ((NESI (ANDSI (tmp_cnt1, 32), 0)) ? (31) : (ANDSI (tmp_cnt1, 31)));
   11477   tmp_tmpd = SRASI (EXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand2)))), tmp_cnt2);
   11478 {
   11479   SI tmp_oldregval;
   11480   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11481   {
   11482     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11483     SET_H_GR (FLD (f_operand2), opval);
   11484     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11485   }
   11486 }
   11487 {
   11488   {
   11489     BI opval = LTHI (tmp_tmpd, 0);
   11490     CPU (h_nbit) = opval;
   11491     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11492   }
   11493   {
   11494     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11495     CPU (h_zbit) = opval;
   11496     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11497   }
   11498 SET_H_CBIT_MOVE (0);
   11499 SET_H_VBIT_MOVE (0);
   11500 {
   11501   {
   11502     BI opval = 0;
   11503     CPU (h_xbit) = opval;
   11504     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11505   }
   11506   {
   11507     BI opval = 0;
   11508     SET_H_INSN_PREFIXED_P (opval);
   11509     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11510   }
   11511 }
   11512 }
   11513 }
   11514 
   11515 #undef FLD
   11516 }
   11517   NEXT (vpc);
   11518 
   11519   CASE (sem, INSN_ASRR_D_R) : /* asrr.d $Rs,$Rd */
   11520 {
   11521   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11522   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11523 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11524   int UNUSED written = 0;
   11525   IADDR UNUSED pc = abuf->addr;
   11526   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11527 
   11528 {
   11529   SI tmp_tmpd;
   11530   SI tmp_cnt1;
   11531   SI tmp_cnt2;
   11532   tmp_cnt1 = GET_H_GR (FLD (f_operand1));
   11533   tmp_cnt2 = ((NESI (ANDSI (tmp_cnt1, 32), 0)) ? (31) : (ANDSI (tmp_cnt1, 31)));
   11534   tmp_tmpd = SRASI (EXTSISI (TRUNCSISI (GET_H_GR (FLD (f_operand2)))), tmp_cnt2);
   11535   {
   11536     SI opval = tmp_tmpd;
   11537     SET_H_GR (FLD (f_operand2), opval);
   11538     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11539   }
   11540 {
   11541   {
   11542     BI opval = LTSI (tmp_tmpd, 0);
   11543     CPU (h_nbit) = opval;
   11544     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11545   }
   11546   {
   11547     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11548     CPU (h_zbit) = opval;
   11549     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11550   }
   11551 SET_H_CBIT_MOVE (0);
   11552 SET_H_VBIT_MOVE (0);
   11553 {
   11554   {
   11555     BI opval = 0;
   11556     CPU (h_xbit) = opval;
   11557     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11558   }
   11559   {
   11560     BI opval = 0;
   11561     SET_H_INSN_PREFIXED_P (opval);
   11562     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11563   }
   11564 }
   11565 }
   11566 }
   11567 
   11568 #undef FLD
   11569 }
   11570   NEXT (vpc);
   11571 
   11572   CASE (sem, INSN_ASRQ) : /* asrq $c,${Rd} */
   11573 {
   11574   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11575   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11576 #define FLD(f) abuf->fields.sfmt_asrq.f
   11577   int UNUSED written = 0;
   11578   IADDR UNUSED pc = abuf->addr;
   11579   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11580 
   11581 {
   11582   SI tmp_tmpd;
   11583   tmp_tmpd = SRASI (GET_H_GR (FLD (f_operand2)), FLD (f_u5));
   11584   {
   11585     SI opval = tmp_tmpd;
   11586     SET_H_GR (FLD (f_operand2), opval);
   11587     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11588   }
   11589 {
   11590   {
   11591     BI opval = LTSI (tmp_tmpd, 0);
   11592     CPU (h_nbit) = opval;
   11593     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11594   }
   11595   {
   11596     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11597     CPU (h_zbit) = opval;
   11598     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11599   }
   11600 SET_H_CBIT_MOVE (0);
   11601 SET_H_VBIT_MOVE (0);
   11602 {
   11603   {
   11604     BI opval = 0;
   11605     CPU (h_xbit) = opval;
   11606     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11607   }
   11608   {
   11609     BI opval = 0;
   11610     SET_H_INSN_PREFIXED_P (opval);
   11611     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11612   }
   11613 }
   11614 }
   11615 }
   11616 
   11617 #undef FLD
   11618 }
   11619   NEXT (vpc);
   11620 
   11621   CASE (sem, INSN_LSRR_B_R) : /* lsrr.b $Rs,$Rd */
   11622 {
   11623   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11624   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11625 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11626   int UNUSED written = 0;
   11627   IADDR UNUSED pc = abuf->addr;
   11628   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11629 
   11630 {
   11631   SI tmp_tmpd;
   11632   SI tmp_cnt;
   11633   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11634   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SRLSI (ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11635 {
   11636   SI tmp_oldregval;
   11637   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11638   {
   11639     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11640     SET_H_GR (FLD (f_operand2), opval);
   11641     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11642   }
   11643 }
   11644 {
   11645   {
   11646     BI opval = LTQI (tmp_tmpd, 0);
   11647     CPU (h_nbit) = opval;
   11648     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11649   }
   11650   {
   11651     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11652     CPU (h_zbit) = opval;
   11653     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11654   }
   11655 SET_H_CBIT_MOVE (0);
   11656 SET_H_VBIT_MOVE (0);
   11657 {
   11658   {
   11659     BI opval = 0;
   11660     CPU (h_xbit) = opval;
   11661     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11662   }
   11663   {
   11664     BI opval = 0;
   11665     SET_H_INSN_PREFIXED_P (opval);
   11666     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11667   }
   11668 }
   11669 }
   11670 }
   11671 
   11672 #undef FLD
   11673 }
   11674   NEXT (vpc);
   11675 
   11676   CASE (sem, INSN_LSRR_W_R) : /* lsrr.w $Rs,$Rd */
   11677 {
   11678   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11679   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11680 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11681   int UNUSED written = 0;
   11682   IADDR UNUSED pc = abuf->addr;
   11683   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11684 
   11685 {
   11686   SI tmp_tmpd;
   11687   SI tmp_cnt;
   11688   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11689   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SRLSI (ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11690 {
   11691   SI tmp_oldregval;
   11692   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11693   {
   11694     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11695     SET_H_GR (FLD (f_operand2), opval);
   11696     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11697   }
   11698 }
   11699 {
   11700   {
   11701     BI opval = LTHI (tmp_tmpd, 0);
   11702     CPU (h_nbit) = opval;
   11703     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11704   }
   11705   {
   11706     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11707     CPU (h_zbit) = opval;
   11708     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11709   }
   11710 SET_H_CBIT_MOVE (0);
   11711 SET_H_VBIT_MOVE (0);
   11712 {
   11713   {
   11714     BI opval = 0;
   11715     CPU (h_xbit) = opval;
   11716     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11717   }
   11718   {
   11719     BI opval = 0;
   11720     SET_H_INSN_PREFIXED_P (opval);
   11721     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11722   }
   11723 }
   11724 }
   11725 }
   11726 
   11727 #undef FLD
   11728 }
   11729   NEXT (vpc);
   11730 
   11731   CASE (sem, INSN_LSRR_D_R) : /* lsrr.d $Rs,$Rd */
   11732 {
   11733   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11734   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11735 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11736   int UNUSED written = 0;
   11737   IADDR UNUSED pc = abuf->addr;
   11738   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11739 
   11740 {
   11741   SI tmp_tmpd;
   11742   SI tmp_cnt;
   11743   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11744   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SRLSI (ZEXTSISI (TRUNCSISI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11745   {
   11746     SI opval = tmp_tmpd;
   11747     SET_H_GR (FLD (f_operand2), opval);
   11748     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11749   }
   11750 {
   11751   {
   11752     BI opval = LTSI (tmp_tmpd, 0);
   11753     CPU (h_nbit) = opval;
   11754     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11755   }
   11756   {
   11757     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11758     CPU (h_zbit) = opval;
   11759     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11760   }
   11761 SET_H_CBIT_MOVE (0);
   11762 SET_H_VBIT_MOVE (0);
   11763 {
   11764   {
   11765     BI opval = 0;
   11766     CPU (h_xbit) = opval;
   11767     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11768   }
   11769   {
   11770     BI opval = 0;
   11771     SET_H_INSN_PREFIXED_P (opval);
   11772     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11773   }
   11774 }
   11775 }
   11776 }
   11777 
   11778 #undef FLD
   11779 }
   11780   NEXT (vpc);
   11781 
   11782   CASE (sem, INSN_LSRQ) : /* lsrq $c,${Rd} */
   11783 {
   11784   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11785   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11786 #define FLD(f) abuf->fields.sfmt_asrq.f
   11787   int UNUSED written = 0;
   11788   IADDR UNUSED pc = abuf->addr;
   11789   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11790 
   11791 {
   11792   SI tmp_tmpd;
   11793   tmp_tmpd = SRLSI (GET_H_GR (FLD (f_operand2)), FLD (f_u5));
   11794   {
   11795     SI opval = tmp_tmpd;
   11796     SET_H_GR (FLD (f_operand2), opval);
   11797     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11798   }
   11799 {
   11800   {
   11801     BI opval = LTSI (tmp_tmpd, 0);
   11802     CPU (h_nbit) = opval;
   11803     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11804   }
   11805   {
   11806     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11807     CPU (h_zbit) = opval;
   11808     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11809   }
   11810 SET_H_CBIT_MOVE (0);
   11811 SET_H_VBIT_MOVE (0);
   11812 {
   11813   {
   11814     BI opval = 0;
   11815     CPU (h_xbit) = opval;
   11816     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11817   }
   11818   {
   11819     BI opval = 0;
   11820     SET_H_INSN_PREFIXED_P (opval);
   11821     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11822   }
   11823 }
   11824 }
   11825 }
   11826 
   11827 #undef FLD
   11828 }
   11829   NEXT (vpc);
   11830 
   11831   CASE (sem, INSN_LSLR_B_R) : /* lslr.b $Rs,$Rd */
   11832 {
   11833   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11834   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11835 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11836   int UNUSED written = 0;
   11837   IADDR UNUSED pc = abuf->addr;
   11838   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11839 
   11840 {
   11841   SI tmp_tmpd;
   11842   SI tmp_cnt;
   11843   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11844   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SLLSI (ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11845 {
   11846   SI tmp_oldregval;
   11847   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11848   {
   11849     SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
   11850     SET_H_GR (FLD (f_operand2), opval);
   11851     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11852   }
   11853 }
   11854 {
   11855   {
   11856     BI opval = LTQI (tmp_tmpd, 0);
   11857     CPU (h_nbit) = opval;
   11858     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11859   }
   11860   {
   11861     BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11862     CPU (h_zbit) = opval;
   11863     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11864   }
   11865 SET_H_CBIT_MOVE (0);
   11866 SET_H_VBIT_MOVE (0);
   11867 {
   11868   {
   11869     BI opval = 0;
   11870     CPU (h_xbit) = opval;
   11871     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11872   }
   11873   {
   11874     BI opval = 0;
   11875     SET_H_INSN_PREFIXED_P (opval);
   11876     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11877   }
   11878 }
   11879 }
   11880 }
   11881 
   11882 #undef FLD
   11883 }
   11884   NEXT (vpc);
   11885 
   11886   CASE (sem, INSN_LSLR_W_R) : /* lslr.w $Rs,$Rd */
   11887 {
   11888   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11889   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11890 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11891   int UNUSED written = 0;
   11892   IADDR UNUSED pc = abuf->addr;
   11893   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11894 
   11895 {
   11896   SI tmp_tmpd;
   11897   SI tmp_cnt;
   11898   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11899   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SLLSI (ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11900 {
   11901   SI tmp_oldregval;
   11902   tmp_oldregval = GET_H_RAW_GR_ACR (FLD (f_operand2));
   11903   {
   11904     SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
   11905     SET_H_GR (FLD (f_operand2), opval);
   11906     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11907   }
   11908 }
   11909 {
   11910   {
   11911     BI opval = LTHI (tmp_tmpd, 0);
   11912     CPU (h_nbit) = opval;
   11913     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11914   }
   11915   {
   11916     BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11917     CPU (h_zbit) = opval;
   11918     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11919   }
   11920 SET_H_CBIT_MOVE (0);
   11921 SET_H_VBIT_MOVE (0);
   11922 {
   11923   {
   11924     BI opval = 0;
   11925     CPU (h_xbit) = opval;
   11926     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11927   }
   11928   {
   11929     BI opval = 0;
   11930     SET_H_INSN_PREFIXED_P (opval);
   11931     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11932   }
   11933 }
   11934 }
   11935 }
   11936 
   11937 #undef FLD
   11938 }
   11939   NEXT (vpc);
   11940 
   11941   CASE (sem, INSN_LSLR_D_R) : /* lslr.d $Rs,$Rd */
   11942 {
   11943   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11944   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11945 #define FLD(f) abuf->fields.sfmt_addc_m.f
   11946   int UNUSED written = 0;
   11947   IADDR UNUSED pc = abuf->addr;
   11948   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   11949 
   11950 {
   11951   SI tmp_tmpd;
   11952   SI tmp_cnt;
   11953   tmp_cnt = ANDSI (GET_H_GR (FLD (f_operand1)), 63);
   11954   tmp_tmpd = ((NESI (ANDSI (tmp_cnt, 32), 0)) ? (0) : (SLLSI (ZEXTSISI (TRUNCSISI (GET_H_GR (FLD (f_operand2)))), ANDSI (tmp_cnt, 31))));
   11955   {
   11956     SI opval = tmp_tmpd;
   11957     SET_H_GR (FLD (f_operand2), opval);
   11958     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   11959   }
   11960 {
   11961   {
   11962     BI opval = LTSI (tmp_tmpd, 0);
   11963     CPU (h_nbit) = opval;
   11964     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   11965   }
   11966   {
   11967     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   11968     CPU (h_zbit) = opval;
   11969     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   11970   }
   11971 SET_H_CBIT_MOVE (0);
   11972 SET_H_VBIT_MOVE (0);
   11973 {
   11974   {
   11975     BI opval = 0;
   11976     CPU (h_xbit) = opval;
   11977     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   11978   }
   11979   {
   11980     BI opval = 0;
   11981     SET_H_INSN_PREFIXED_P (opval);
   11982     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   11983   }
   11984 }
   11985 }
   11986 }
   11987 
   11988 #undef FLD
   11989 }
   11990   NEXT (vpc);
   11991 
   11992   CASE (sem, INSN_LSLQ) : /* lslq $c,${Rd} */
   11993 {
   11994   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   11995   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   11996 #define FLD(f) abuf->fields.sfmt_asrq.f
   11997   int UNUSED written = 0;
   11998   IADDR UNUSED pc = abuf->addr;
   11999   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12000 
   12001 {
   12002   SI tmp_tmpd;
   12003   tmp_tmpd = SLLSI (GET_H_GR (FLD (f_operand2)), FLD (f_u5));
   12004   {
   12005     SI opval = tmp_tmpd;
   12006     SET_H_GR (FLD (f_operand2), opval);
   12007     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   12008   }
   12009 {
   12010   {
   12011     BI opval = LTSI (tmp_tmpd, 0);
   12012     CPU (h_nbit) = opval;
   12013     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12014   }
   12015   {
   12016     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   12017     CPU (h_zbit) = opval;
   12018     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12019   }
   12020 SET_H_CBIT_MOVE (0);
   12021 SET_H_VBIT_MOVE (0);
   12022 {
   12023   {
   12024     BI opval = 0;
   12025     CPU (h_xbit) = opval;
   12026     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12027   }
   12028   {
   12029     BI opval = 0;
   12030     SET_H_INSN_PREFIXED_P (opval);
   12031     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12032   }
   12033 }
   12034 }
   12035 }
   12036 
   12037 #undef FLD
   12038 }
   12039   NEXT (vpc);
   12040 
   12041   CASE (sem, INSN_BTST) : /* $Rs,$Rd */
   12042 {
   12043   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12044   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12045 #define FLD(f) abuf->fields.sfmt_muls_b.f
   12046   int UNUSED written = 0;
   12047   IADDR UNUSED pc = abuf->addr;
   12048   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12049 
   12050 {
   12051   SI tmp_tmpd;
   12052   SI tmp_cnt;
   12053   tmp_cnt = SUBSI (31, ANDSI (GET_H_GR (FLD (f_operand1)), 31));
   12054   tmp_tmpd = SLLSI (GET_H_GR (FLD (f_operand2)), tmp_cnt);
   12055 {
   12056   {
   12057     BI opval = LTSI (tmp_tmpd, 0);
   12058     CPU (h_nbit) = opval;
   12059     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12060   }
   12061   {
   12062     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   12063     CPU (h_zbit) = opval;
   12064     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12065   }
   12066 SET_H_CBIT_MOVE (0);
   12067 SET_H_VBIT_MOVE (0);
   12068 {
   12069   {
   12070     BI opval = 0;
   12071     CPU (h_xbit) = opval;
   12072     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12073   }
   12074   {
   12075     BI opval = 0;
   12076     SET_H_INSN_PREFIXED_P (opval);
   12077     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12078   }
   12079 }
   12080 }
   12081 }
   12082 
   12083 #undef FLD
   12084 }
   12085   NEXT (vpc);
   12086 
   12087   CASE (sem, INSN_BTSTQ) : /* btstq $c,${Rd} */
   12088 {
   12089   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12090   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12091 #define FLD(f) abuf->fields.sfmt_asrq.f
   12092   int UNUSED written = 0;
   12093   IADDR UNUSED pc = abuf->addr;
   12094   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12095 
   12096 {
   12097   SI tmp_tmpd;
   12098   tmp_tmpd = SLLSI (GET_H_GR (FLD (f_operand2)), SUBSI (31, FLD (f_u5)));
   12099 {
   12100   {
   12101     BI opval = LTSI (tmp_tmpd, 0);
   12102     CPU (h_nbit) = opval;
   12103     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12104   }
   12105   {
   12106     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   12107     CPU (h_zbit) = opval;
   12108     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12109   }
   12110 SET_H_CBIT_MOVE (0);
   12111 SET_H_VBIT_MOVE (0);
   12112 {
   12113   {
   12114     BI opval = 0;
   12115     CPU (h_xbit) = opval;
   12116     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12117   }
   12118   {
   12119     BI opval = 0;
   12120     SET_H_INSN_PREFIXED_P (opval);
   12121     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12122   }
   12123 }
   12124 }
   12125 }
   12126 
   12127 #undef FLD
   12128 }
   12129   NEXT (vpc);
   12130 
   12131   CASE (sem, INSN_SETF) : /* setf ${list-of-flags} */
   12132 {
   12133   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12134   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12135 #define FLD(f) abuf->fields.sfmt_setf.f
   12136   int UNUSED written = 0;
   12137   IADDR UNUSED pc = abuf->addr;
   12138   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12139 
   12140 {
   12141   SI tmp_tmp;
   12142   tmp_tmp = FLD (f_dstsrc);
   12143 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
   12144   {
   12145     BI opval = 1;
   12146     CPU (h_cbit) = opval;
   12147     written |= (1 << 1);
   12148     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   12149   }
   12150 }
   12151 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
   12152   {
   12153     BI opval = 1;
   12154     CPU (h_vbit) = opval;
   12155     written |= (1 << 7);
   12156     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   12157   }
   12158 }
   12159 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
   12160   {
   12161     BI opval = 1;
   12162     CPU (h_zbit) = opval;
   12163     written |= (1 << 9);
   12164     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12165   }
   12166 }
   12167 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
   12168   {
   12169     BI opval = 1;
   12170     CPU (h_nbit) = opval;
   12171     written |= (1 << 3);
   12172     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12173   }
   12174 }
   12175 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
   12176   {
   12177     BI opval = 1;
   12178     CPU (h_xbit) = opval;
   12179     written |= (1 << 8);
   12180     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12181   }
   12182 }
   12183 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
   12184   {
   12185     BI opval = 1;
   12186     SET_H_IBIT (opval);
   12187     written |= (1 << 2);
   12188     CGEN_TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
   12189   }
   12190 }
   12191 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
   12192   {
   12193     BI opval = 1;
   12194     SET_H_UBIT (opval);
   12195     written |= (1 << 6);
   12196     CGEN_TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
   12197   }
   12198 }
   12199 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
   12200   {
   12201     BI opval = 1;
   12202     CPU (h_pbit) = opval;
   12203     written |= (1 << 4);
   12204     CGEN_TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
   12205   }
   12206 }
   12207   {
   12208     BI opval = 0;
   12209     SET_H_INSN_PREFIXED_P (opval);
   12210     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12211   }
   12212 if (EQSI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
   12213   {
   12214     BI opval = 0;
   12215     CPU (h_xbit) = opval;
   12216     written |= (1 << 8);
   12217     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12218   }
   12219 }
   12220 }
   12221 
   12222   abuf->written = written;
   12223 #undef FLD
   12224 }
   12225   NEXT (vpc);
   12226 
   12227   CASE (sem, INSN_CLEARF) : /* clearf ${list-of-flags} */
   12228 {
   12229   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12230   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12231 #define FLD(f) abuf->fields.sfmt_setf.f
   12232   int UNUSED written = 0;
   12233   IADDR UNUSED pc = abuf->addr;
   12234   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12235 
   12236 {
   12237   SI tmp_tmp;
   12238   tmp_tmp = FLD (f_dstsrc);
   12239 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
   12240   {
   12241     BI opval = 0;
   12242     CPU (h_cbit) = opval;
   12243     written |= (1 << 1);
   12244     CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
   12245   }
   12246 }
   12247 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
   12248   {
   12249     BI opval = 0;
   12250     CPU (h_vbit) = opval;
   12251     written |= (1 << 7);
   12252     CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
   12253   }
   12254 }
   12255 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
   12256   {
   12257     BI opval = 0;
   12258     CPU (h_zbit) = opval;
   12259     written |= (1 << 9);
   12260     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   12261   }
   12262 }
   12263 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
   12264   {
   12265     BI opval = 0;
   12266     CPU (h_nbit) = opval;
   12267     written |= (1 << 3);
   12268     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   12269   }
   12270 }
   12271 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
   12272   {
   12273     BI opval = 0;
   12274     CPU (h_xbit) = opval;
   12275     written |= (1 << 8);
   12276     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12277   }
   12278 }
   12279 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
   12280   {
   12281     BI opval = 0;
   12282     SET_H_IBIT (opval);
   12283     written |= (1 << 2);
   12284     CGEN_TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
   12285   }
   12286 }
   12287 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
   12288   {
   12289     BI opval = 0;
   12290     SET_H_UBIT (opval);
   12291     written |= (1 << 6);
   12292     CGEN_TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
   12293   }
   12294 }
   12295 if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
   12296   {
   12297     BI opval = 0;
   12298     CPU (h_pbit) = opval;
   12299     written |= (1 << 4);
   12300     CGEN_TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
   12301   }
   12302 }
   12303 {
   12304   {
   12305     BI opval = 0;
   12306     CPU (h_xbit) = opval;
   12307     written |= (1 << 8);
   12308     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12309   }
   12310   {
   12311     BI opval = 0;
   12312     SET_H_INSN_PREFIXED_P (opval);
   12313     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12314   }
   12315 }
   12316 }
   12317 
   12318   abuf->written = written;
   12319 #undef FLD
   12320 }
   12321   NEXT (vpc);
   12322 
   12323   CASE (sem, INSN_RFE) : /* rfe */
   12324 {
   12325   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12326   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12327 #define FLD(f) abuf->fields.sfmt_rfe.f
   12328   int UNUSED written = 0;
   12329   IADDR UNUSED pc = abuf->addr;
   12330   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12331 
   12332 {
   12333   USI tmp_oldccs;
   12334   USI tmp_samebits;
   12335   USI tmp_shiftbits;
   12336   USI tmp_keepmask;
   12337   BI tmp_p1;
   12338   tmp_oldccs = GET_H_SR (((UINT) 13));
   12339   tmp_keepmask = 0xc0000000;
   12340   tmp_samebits = ANDSI (tmp_oldccs, tmp_keepmask);
   12341   tmp_shiftbits = ANDSI (SRLSI (ANDSI (tmp_oldccs, 1073609728), 10), INVSI (tmp_keepmask));
   12342   tmp_p1 = NESI (0, ANDSI (tmp_oldccs, 131072));
   12343   {
   12344     SI opval = ORSI (ORSI (tmp_samebits, tmp_shiftbits), ((ANDBI (CPU (h_rbit), NOTBI (tmp_p1))) ? (0) : (128)));
   12345     SET_H_SR (((UINT) 13), opval);
   12346     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12347   }
   12348 }
   12349 
   12350 #undef FLD
   12351 }
   12352   NEXT (vpc);
   12353 
   12354   CASE (sem, INSN_SFE) : /* sfe */
   12355 {
   12356   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12357   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12358 #define FLD(f) abuf->fields.sfmt_rfe.f
   12359   int UNUSED written = 0;
   12360   IADDR UNUSED pc = abuf->addr;
   12361   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12362 
   12363 {
   12364   SI tmp_oldccs;
   12365   SI tmp_savemask;
   12366   tmp_savemask = 0xc0000000;
   12367   tmp_oldccs = GET_H_SR (((UINT) 13));
   12368   {
   12369     SI opval = ORSI (ANDSI (tmp_savemask, tmp_oldccs), ANDSI (INVSI (tmp_savemask), SLLSI (tmp_oldccs, 10)));
   12370     SET_H_SR (((UINT) 13), opval);
   12371     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12372   }
   12373 }
   12374 
   12375 #undef FLD
   12376 }
   12377   NEXT (vpc);
   12378 
   12379   CASE (sem, INSN_RFG) : /* rfg */
   12380 {
   12381   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12382   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12383 #define FLD(f) abuf->fields.sfmt_empty.f
   12384   int UNUSED written = 0;
   12385   IADDR UNUSED pc = abuf->addr;
   12386   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12387 
   12388 crisv32f_rfg_handler (current_cpu, pc);
   12389 
   12390 #undef FLD
   12391 }
   12392   NEXT (vpc);
   12393 
   12394   CASE (sem, INSN_RFN) : /* rfn */
   12395 {
   12396   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12397   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12398 #define FLD(f) abuf->fields.sfmt_rfe.f
   12399   int UNUSED written = 0;
   12400   IADDR UNUSED pc = abuf->addr;
   12401   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12402 
   12403 {
   12404 {
   12405   USI tmp_oldccs;
   12406   USI tmp_samebits;
   12407   USI tmp_shiftbits;
   12408   USI tmp_keepmask;
   12409   BI tmp_p1;
   12410   tmp_oldccs = GET_H_SR (((UINT) 13));
   12411   tmp_keepmask = 0xc0000000;
   12412   tmp_samebits = ANDSI (tmp_oldccs, tmp_keepmask);
   12413   tmp_shiftbits = ANDSI (SRLSI (ANDSI (tmp_oldccs, 1073609728), 10), INVSI (tmp_keepmask));
   12414   tmp_p1 = NESI (0, ANDSI (tmp_oldccs, 131072));
   12415   {
   12416     SI opval = ORSI (ORSI (tmp_samebits, tmp_shiftbits), ((ANDBI (CPU (h_rbit), NOTBI (tmp_p1))) ? (0) : (128)));
   12417     SET_H_SR (((UINT) 13), opval);
   12418     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12419   }
   12420 }
   12421   {
   12422     BI opval = 1;
   12423     SET_H_MBIT (opval);
   12424     CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
   12425   }
   12426 }
   12427 
   12428 #undef FLD
   12429 }
   12430   NEXT (vpc);
   12431 
   12432   CASE (sem, INSN_HALT) : /* halt */
   12433 {
   12434   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12435   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12436 #define FLD(f) abuf->fields.sfmt_empty.f
   12437   int UNUSED written = 0;
   12438   IADDR UNUSED pc = abuf->addr;
   12439   SEM_BRANCH_INIT
   12440   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12441 
   12442   {
   12443     USI opval = crisv32f_halt_handler (current_cpu, pc);
   12444     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12445     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12446   }
   12447 
   12448   SEM_BRANCH_FINI (vpc);
   12449 #undef FLD
   12450 }
   12451   NEXT (vpc);
   12452 
   12453   CASE (sem, INSN_BCC_B) : /* b${cc} ${o-pcrel} */
   12454 {
   12455   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12456   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12457 #define FLD(f) abuf->fields.sfmt_bcc_b.f
   12458   int UNUSED written = 0;
   12459   IADDR UNUSED pc = abuf->addr;
   12460   SEM_BRANCH_INIT
   12461   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12462 
   12463 {
   12464   BI tmp_truthval;
   12465   tmp_truthval = ({   SI tmp_tmpcond;
   12466   BI tmp_condres;
   12467   tmp_tmpcond = FLD (f_operand2);
   12468 ; if (EQSI (tmp_tmpcond, 0)) {
   12469   tmp_condres = NOTBI (CPU (h_cbit));
   12470 }
   12471  else if (EQSI (tmp_tmpcond, 1)) {
   12472   tmp_condres = CPU (h_cbit);
   12473 }
   12474  else if (EQSI (tmp_tmpcond, 2)) {
   12475   tmp_condres = NOTBI (CPU (h_zbit));
   12476 }
   12477  else if (EQSI (tmp_tmpcond, 3)) {
   12478   tmp_condres = CPU (h_zbit);
   12479 }
   12480  else if (EQSI (tmp_tmpcond, 4)) {
   12481   tmp_condres = NOTBI (CPU (h_vbit));
   12482 }
   12483  else if (EQSI (tmp_tmpcond, 5)) {
   12484   tmp_condres = CPU (h_vbit);
   12485 }
   12486  else if (EQSI (tmp_tmpcond, 6)) {
   12487   tmp_condres = NOTBI (CPU (h_nbit));
   12488 }
   12489  else if (EQSI (tmp_tmpcond, 7)) {
   12490   tmp_condres = CPU (h_nbit);
   12491 }
   12492  else if (EQSI (tmp_tmpcond, 8)) {
   12493   tmp_condres = ORBI (CPU (h_cbit), CPU (h_zbit));
   12494 }
   12495  else if (EQSI (tmp_tmpcond, 9)) {
   12496   tmp_condres = NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)));
   12497 }
   12498  else if (EQSI (tmp_tmpcond, 10)) {
   12499   tmp_condres = NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)));
   12500 }
   12501  else if (EQSI (tmp_tmpcond, 11)) {
   12502   tmp_condres = XORBI (CPU (h_vbit), CPU (h_nbit));
   12503 }
   12504  else if (EQSI (tmp_tmpcond, 12)) {
   12505   tmp_condres = NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)));
   12506 }
   12507  else if (EQSI (tmp_tmpcond, 13)) {
   12508   tmp_condres = ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit));
   12509 }
   12510  else if (EQSI (tmp_tmpcond, 14)) {
   12511   tmp_condres = 1;
   12512 }
   12513  else if (EQSI (tmp_tmpcond, 15)) {
   12514   tmp_condres = CPU (h_pbit);
   12515 }
   12516  else {
   12517 cgen_rtx_error (current_cpu, "Unknown condition code");
   12518 }
   12519 ; tmp_condres; });
   12520 crisv32f_branch_taken (current_cpu, pc, FLD (i_o_pcrel), tmp_truthval);
   12521 {
   12522   {
   12523     BI opval = 0;
   12524     CPU (h_xbit) = opval;
   12525     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12526   }
   12527   {
   12528     BI opval = 0;
   12529     SET_H_INSN_PREFIXED_P (opval);
   12530     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12531   }
   12532 }
   12533 if (tmp_truthval) {
   12534 {
   12535   {
   12536     USI opval = FLD (i_o_pcrel);
   12537     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12538     written |= (1 << 8);
   12539     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12540   }
   12541 }
   12542 }
   12543 }
   12544 
   12545   abuf->written = written;
   12546   SEM_BRANCH_FINI (vpc);
   12547 #undef FLD
   12548 }
   12549   NEXT (vpc);
   12550 
   12551   CASE (sem, INSN_BA_B) : /* ba ${o-pcrel} */
   12552 {
   12553   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12554   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12555 #define FLD(f) abuf->fields.sfmt_bcc_b.f
   12556   int UNUSED written = 0;
   12557   IADDR UNUSED pc = abuf->addr;
   12558   SEM_BRANCH_INIT
   12559   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12560 
   12561 {
   12562 {
   12563   {
   12564     BI opval = 0;
   12565     CPU (h_xbit) = opval;
   12566     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12567   }
   12568   {
   12569     BI opval = 0;
   12570     SET_H_INSN_PREFIXED_P (opval);
   12571     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12572   }
   12573 }
   12574 {
   12575   {
   12576     USI opval = FLD (i_o_pcrel);
   12577     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12578     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12579   }
   12580 }
   12581 }
   12582 
   12583   SEM_BRANCH_FINI (vpc);
   12584 #undef FLD
   12585 }
   12586   NEXT (vpc);
   12587 
   12588   CASE (sem, INSN_BCC_W) : /* b${cc} ${o-word-pcrel} */
   12589 {
   12590   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12591   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12592 #define FLD(f) abuf->fields.sfmt_bcc_w.f
   12593   int UNUSED written = 0;
   12594   IADDR UNUSED pc = abuf->addr;
   12595   SEM_BRANCH_INIT
   12596   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   12597 
   12598 {
   12599   BI tmp_truthval;
   12600   tmp_truthval = ({   SI tmp_tmpcond;
   12601   BI tmp_condres;
   12602   tmp_tmpcond = FLD (f_operand2);
   12603 ; if (EQSI (tmp_tmpcond, 0)) {
   12604   tmp_condres = NOTBI (CPU (h_cbit));
   12605 }
   12606  else if (EQSI (tmp_tmpcond, 1)) {
   12607   tmp_condres = CPU (h_cbit);
   12608 }
   12609  else if (EQSI (tmp_tmpcond, 2)) {
   12610   tmp_condres = NOTBI (CPU (h_zbit));
   12611 }
   12612  else if (EQSI (tmp_tmpcond, 3)) {
   12613   tmp_condres = CPU (h_zbit);
   12614 }
   12615  else if (EQSI (tmp_tmpcond, 4)) {
   12616   tmp_condres = NOTBI (CPU (h_vbit));
   12617 }
   12618  else if (EQSI (tmp_tmpcond, 5)) {
   12619   tmp_condres = CPU (h_vbit);
   12620 }
   12621  else if (EQSI (tmp_tmpcond, 6)) {
   12622   tmp_condres = NOTBI (CPU (h_nbit));
   12623 }
   12624  else if (EQSI (tmp_tmpcond, 7)) {
   12625   tmp_condres = CPU (h_nbit);
   12626 }
   12627  else if (EQSI (tmp_tmpcond, 8)) {
   12628   tmp_condres = ORBI (CPU (h_cbit), CPU (h_zbit));
   12629 }
   12630  else if (EQSI (tmp_tmpcond, 9)) {
   12631   tmp_condres = NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)));
   12632 }
   12633  else if (EQSI (tmp_tmpcond, 10)) {
   12634   tmp_condres = NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)));
   12635 }
   12636  else if (EQSI (tmp_tmpcond, 11)) {
   12637   tmp_condres = XORBI (CPU (h_vbit), CPU (h_nbit));
   12638 }
   12639  else if (EQSI (tmp_tmpcond, 12)) {
   12640   tmp_condres = NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)));
   12641 }
   12642  else if (EQSI (tmp_tmpcond, 13)) {
   12643   tmp_condres = ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit));
   12644 }
   12645  else if (EQSI (tmp_tmpcond, 14)) {
   12646   tmp_condres = 1;
   12647 }
   12648  else if (EQSI (tmp_tmpcond, 15)) {
   12649   tmp_condres = CPU (h_pbit);
   12650 }
   12651  else {
   12652 cgen_rtx_error (current_cpu, "Unknown condition code");
   12653 }
   12654 ; tmp_condres; });
   12655 crisv32f_branch_taken (current_cpu, pc, FLD (i_o_word_pcrel), tmp_truthval);
   12656 {
   12657   {
   12658     BI opval = 0;
   12659     CPU (h_xbit) = opval;
   12660     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12661   }
   12662   {
   12663     BI opval = 0;
   12664     SET_H_INSN_PREFIXED_P (opval);
   12665     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12666   }
   12667 }
   12668 if (tmp_truthval) {
   12669 {
   12670   {
   12671     USI opval = FLD (i_o_word_pcrel);
   12672     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12673     written |= (1 << 8);
   12674     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12675   }
   12676 }
   12677 }
   12678 }
   12679 
   12680   abuf->written = written;
   12681   SEM_BRANCH_FINI (vpc);
   12682 #undef FLD
   12683 }
   12684   NEXT (vpc);
   12685 
   12686   CASE (sem, INSN_BA_W) : /* ba ${o-word-pcrel} */
   12687 {
   12688   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12689   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12690 #define FLD(f) abuf->fields.sfmt_bcc_w.f
   12691   int UNUSED written = 0;
   12692   IADDR UNUSED pc = abuf->addr;
   12693   SEM_BRANCH_INIT
   12694   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   12695 
   12696 {
   12697 {
   12698   {
   12699     BI opval = 0;
   12700     CPU (h_xbit) = opval;
   12701     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12702   }
   12703   {
   12704     BI opval = 0;
   12705     SET_H_INSN_PREFIXED_P (opval);
   12706     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12707   }
   12708 }
   12709 {
   12710   {
   12711     USI opval = FLD (i_o_word_pcrel);
   12712     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12713     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12714   }
   12715 }
   12716 }
   12717 
   12718   SEM_BRANCH_FINI (vpc);
   12719 #undef FLD
   12720 }
   12721   NEXT (vpc);
   12722 
   12723   CASE (sem, INSN_JAS_R) : /* jas ${Rs},${Pd} */
   12724 {
   12725   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12726   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12727 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   12728   int UNUSED written = 0;
   12729   IADDR UNUSED pc = abuf->addr;
   12730   SEM_BRANCH_INIT
   12731   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12732 
   12733 {
   12734 {
   12735   {
   12736     BI opval = 0;
   12737     CPU (h_xbit) = opval;
   12738     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12739   }
   12740   {
   12741     BI opval = 0;
   12742     SET_H_INSN_PREFIXED_P (opval);
   12743     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12744   }
   12745 }
   12746 if (ANDIF (EQSI (FLD (f_operand1), 1), EQSI (FLD (f_operand2), 11))) {
   12747 cris_flush_simulator_decode_cache (current_cpu, pc);
   12748 }
   12749 {
   12750 {
   12751   {
   12752     SI opval = ADDSI (pc, 4);
   12753     SET_H_SR (FLD (f_operand2), opval);
   12754     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12755   }
   12756   {
   12757     USI opval = GET_H_GR (FLD (f_operand1));
   12758     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12759     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12760   }
   12761 }
   12762 }
   12763 }
   12764 
   12765   SEM_BRANCH_FINI (vpc);
   12766 #undef FLD
   12767 }
   12768   NEXT (vpc);
   12769 
   12770   CASE (sem, INSN_JAS_C) : /* jas ${const32},${Pd} */
   12771 {
   12772   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12773   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12774 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   12775   int UNUSED written = 0;
   12776   IADDR UNUSED pc = abuf->addr;
   12777   SEM_BRANCH_INIT
   12778   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12779 
   12780 {
   12781 {
   12782   {
   12783     BI opval = 0;
   12784     CPU (h_xbit) = opval;
   12785     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12786   }
   12787   {
   12788     BI opval = 0;
   12789     SET_H_INSN_PREFIXED_P (opval);
   12790     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12791   }
   12792 }
   12793 {
   12794 {
   12795   {
   12796     SI opval = ADDSI (pc, 8);
   12797     SET_H_SR (FLD (f_operand2), opval);
   12798     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12799   }
   12800   {
   12801     USI opval = FLD (f_indir_pc__dword);
   12802     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12803     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12804   }
   12805 }
   12806 }
   12807 }
   12808 
   12809   SEM_BRANCH_FINI (vpc);
   12810 #undef FLD
   12811 }
   12812   NEXT (vpc);
   12813 
   12814   CASE (sem, INSN_JUMP_P) : /* jump ${Ps} */
   12815 {
   12816   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12817   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12818 #define FLD(f) abuf->fields.sfmt_mcp.f
   12819   int UNUSED written = 0;
   12820   IADDR UNUSED pc = abuf->addr;
   12821   SEM_BRANCH_INIT
   12822   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12823 
   12824 {
   12825 {
   12826   {
   12827     BI opval = 0;
   12828     CPU (h_xbit) = opval;
   12829     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12830   }
   12831   {
   12832     BI opval = 0;
   12833     SET_H_INSN_PREFIXED_P (opval);
   12834     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12835   }
   12836 }
   12837 {
   12838   {
   12839     USI opval = GET_H_SR (FLD (f_operand2));
   12840     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12841     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12842   }
   12843 }
   12844 }
   12845 
   12846   SEM_BRANCH_FINI (vpc);
   12847 #undef FLD
   12848 }
   12849   NEXT (vpc);
   12850 
   12851   CASE (sem, INSN_BAS_C) : /* bas ${const32},${Pd} */
   12852 {
   12853   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12854   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12855 #define FLD(f) abuf->fields.sfmt_bas_c.f
   12856   int UNUSED written = 0;
   12857   IADDR UNUSED pc = abuf->addr;
   12858   SEM_BRANCH_INIT
   12859   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12860 
   12861 {
   12862 {
   12863   {
   12864     BI opval = 0;
   12865     CPU (h_xbit) = opval;
   12866     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12867   }
   12868   {
   12869     BI opval = 0;
   12870     SET_H_INSN_PREFIXED_P (opval);
   12871     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12872   }
   12873 }
   12874 {
   12875 {
   12876   {
   12877     SI opval = ADDSI (pc, 8);
   12878     SET_H_SR (FLD (f_operand2), opval);
   12879     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12880   }
   12881   {
   12882     USI opval = FLD (i_const32_pcrel);
   12883     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12884     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12885   }
   12886 }
   12887 }
   12888 }
   12889 
   12890   SEM_BRANCH_FINI (vpc);
   12891 #undef FLD
   12892 }
   12893   NEXT (vpc);
   12894 
   12895   CASE (sem, INSN_JASC_R) : /* jasc ${Rs},${Pd} */
   12896 {
   12897   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12898   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12899 #define FLD(f) abuf->fields.sfmt_move_m_sprv32.f
   12900   int UNUSED written = 0;
   12901   IADDR UNUSED pc = abuf->addr;
   12902   SEM_BRANCH_INIT
   12903   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   12904 
   12905 {
   12906 {
   12907   {
   12908     BI opval = 0;
   12909     CPU (h_xbit) = opval;
   12910     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12911   }
   12912   {
   12913     BI opval = 0;
   12914     SET_H_INSN_PREFIXED_P (opval);
   12915     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12916   }
   12917 }
   12918 {
   12919 {
   12920   {
   12921     SI opval = ADDSI (pc, 8);
   12922     SET_H_SR (FLD (f_operand2), opval);
   12923     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12924   }
   12925   {
   12926     USI opval = GET_H_GR (FLD (f_operand1));
   12927     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   12928     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12929   }
   12930 }
   12931 }
   12932 }
   12933 
   12934   SEM_BRANCH_FINI (vpc);
   12935 #undef FLD
   12936 }
   12937   NEXT (vpc);
   12938 
   12939   CASE (sem, INSN_JASC_C) : /* jasc ${const32},${Pd} */
   12940 {
   12941   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12942   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12943 #define FLD(f) abuf->fields.sfmt_move_c_sprv32_p2.f
   12944   int UNUSED written = 0;
   12945   IADDR UNUSED pc = abuf->addr;
   12946   SEM_BRANCH_INIT
   12947   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12948 
   12949 {
   12950 {
   12951   {
   12952     BI opval = 0;
   12953     CPU (h_xbit) = opval;
   12954     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12955   }
   12956   {
   12957     BI opval = 0;
   12958     SET_H_INSN_PREFIXED_P (opval);
   12959     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   12960   }
   12961 }
   12962 {
   12963 {
   12964   {
   12965     SI opval = ADDSI (pc, 12);
   12966     SET_H_SR (FLD (f_operand2), opval);
   12967     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   12968   }
   12969   {
   12970     USI opval = FLD (f_indir_pc__dword);
   12971     SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
   12972     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   12973   }
   12974 }
   12975 }
   12976 }
   12977 
   12978   SEM_BRANCH_FINI (vpc);
   12979 #undef FLD
   12980 }
   12981   NEXT (vpc);
   12982 
   12983   CASE (sem, INSN_BASC_C) : /* basc ${const32},${Pd} */
   12984 {
   12985   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   12986   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   12987 #define FLD(f) abuf->fields.sfmt_bas_c.f
   12988   int UNUSED written = 0;
   12989   IADDR UNUSED pc = abuf->addr;
   12990   SEM_BRANCH_INIT
   12991   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   12992 
   12993 {
   12994 {
   12995   {
   12996     BI opval = 0;
   12997     CPU (h_xbit) = opval;
   12998     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   12999   }
   13000   {
   13001     BI opval = 0;
   13002     SET_H_INSN_PREFIXED_P (opval);
   13003     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13004   }
   13005 }
   13006 {
   13007 {
   13008   {
   13009     SI opval = ADDSI (pc, 12);
   13010     SET_H_SR (FLD (f_operand2), opval);
   13011     CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
   13012   }
   13013   {
   13014     USI opval = FLD (i_const32_pcrel);
   13015     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   13016     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   13017   }
   13018 }
   13019 }
   13020 }
   13021 
   13022   SEM_BRANCH_FINI (vpc);
   13023 #undef FLD
   13024 }
   13025   NEXT (vpc);
   13026 
   13027   CASE (sem, INSN_BREAK) : /* break $n */
   13028 {
   13029   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13030   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13031 #define FLD(f) abuf->fields.sfmt_break.f
   13032   int UNUSED written = 0;
   13033   IADDR UNUSED pc = abuf->addr;
   13034   SEM_BRANCH_INIT
   13035   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13036 
   13037 {
   13038 {
   13039   {
   13040     BI opval = 0;
   13041     CPU (h_xbit) = opval;
   13042     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13043   }
   13044   {
   13045     BI opval = 0;
   13046     SET_H_INSN_PREFIXED_P (opval);
   13047     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13048   }
   13049 }
   13050   {
   13051     USI opval = crisv32f_break_handler (current_cpu, FLD (f_u4), pc);
   13052     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   13053     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   13054   }
   13055 }
   13056 
   13057   SEM_BRANCH_FINI (vpc);
   13058 #undef FLD
   13059 }
   13060   NEXT (vpc);
   13061 
   13062   CASE (sem, INSN_BOUND_R_B_R) : /* bound-r.b ${Rs},${Rd} */
   13063 {
   13064   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13065   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13066 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13067   int UNUSED written = 0;
   13068   IADDR UNUSED pc = abuf->addr;
   13069   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13070 
   13071 {
   13072   SI tmp_tmpopd;
   13073   SI tmp_tmpops;
   13074   SI tmp_newval;
   13075   tmp_tmpops = ZEXTQISI (TRUNCSIQI (GET_H_GR (FLD (f_operand1))));
   13076   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13077   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13078   {
   13079     SI opval = tmp_newval;
   13080     SET_H_GR (FLD (f_operand2), opval);
   13081     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13082   }
   13083 {
   13084   {
   13085     BI opval = LTSI (tmp_newval, 0);
   13086     CPU (h_nbit) = opval;
   13087     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13088   }
   13089   {
   13090     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13091     CPU (h_zbit) = opval;
   13092     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13093   }
   13094 SET_H_CBIT_MOVE (0);
   13095 SET_H_VBIT_MOVE (0);
   13096 {
   13097   {
   13098     BI opval = 0;
   13099     CPU (h_xbit) = opval;
   13100     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13101   }
   13102   {
   13103     BI opval = 0;
   13104     SET_H_INSN_PREFIXED_P (opval);
   13105     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13106   }
   13107 }
   13108 }
   13109 }
   13110 
   13111 #undef FLD
   13112 }
   13113   NEXT (vpc);
   13114 
   13115   CASE (sem, INSN_BOUND_R_W_R) : /* bound-r.w ${Rs},${Rd} */
   13116 {
   13117   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13118   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13119 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13120   int UNUSED written = 0;
   13121   IADDR UNUSED pc = abuf->addr;
   13122   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13123 
   13124 {
   13125   SI tmp_tmpopd;
   13126   SI tmp_tmpops;
   13127   SI tmp_newval;
   13128   tmp_tmpops = ZEXTHISI (TRUNCSIHI (GET_H_GR (FLD (f_operand1))));
   13129   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13130   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13131   {
   13132     SI opval = tmp_newval;
   13133     SET_H_GR (FLD (f_operand2), opval);
   13134     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13135   }
   13136 {
   13137   {
   13138     BI opval = LTSI (tmp_newval, 0);
   13139     CPU (h_nbit) = opval;
   13140     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13141   }
   13142   {
   13143     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13144     CPU (h_zbit) = opval;
   13145     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13146   }
   13147 SET_H_CBIT_MOVE (0);
   13148 SET_H_VBIT_MOVE (0);
   13149 {
   13150   {
   13151     BI opval = 0;
   13152     CPU (h_xbit) = opval;
   13153     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13154   }
   13155   {
   13156     BI opval = 0;
   13157     SET_H_INSN_PREFIXED_P (opval);
   13158     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13159   }
   13160 }
   13161 }
   13162 }
   13163 
   13164 #undef FLD
   13165 }
   13166   NEXT (vpc);
   13167 
   13168   CASE (sem, INSN_BOUND_R_D_R) : /* bound-r.d ${Rs},${Rd} */
   13169 {
   13170   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13171   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13172 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13173   int UNUSED written = 0;
   13174   IADDR UNUSED pc = abuf->addr;
   13175   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13176 
   13177 {
   13178   SI tmp_tmpopd;
   13179   SI tmp_tmpops;
   13180   SI tmp_newval;
   13181   tmp_tmpops = TRUNCSISI (GET_H_GR (FLD (f_operand1)));
   13182   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13183   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13184   {
   13185     SI opval = tmp_newval;
   13186     SET_H_GR (FLD (f_operand2), opval);
   13187     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13188   }
   13189 {
   13190   {
   13191     BI opval = LTSI (tmp_newval, 0);
   13192     CPU (h_nbit) = opval;
   13193     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13194   }
   13195   {
   13196     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13197     CPU (h_zbit) = opval;
   13198     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13199   }
   13200 SET_H_CBIT_MOVE (0);
   13201 SET_H_VBIT_MOVE (0);
   13202 {
   13203   {
   13204     BI opval = 0;
   13205     CPU (h_xbit) = opval;
   13206     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13207   }
   13208   {
   13209     BI opval = 0;
   13210     SET_H_INSN_PREFIXED_P (opval);
   13211     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13212   }
   13213 }
   13214 }
   13215 }
   13216 
   13217 #undef FLD
   13218 }
   13219   NEXT (vpc);
   13220 
   13221   CASE (sem, INSN_BOUND_CB) : /* bound.b [PC+],${Rd} */
   13222 {
   13223   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13224   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13225 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   13226   int UNUSED written = 0;
   13227   IADDR UNUSED pc = abuf->addr;
   13228   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13229 
   13230 {
   13231   SI tmp_tmpopd;
   13232   SI tmp_tmpops;
   13233   SI tmp_newval;
   13234   tmp_tmpops = ZEXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte)));
   13235   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13236   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13237   {
   13238     SI opval = tmp_newval;
   13239     SET_H_GR (FLD (f_operand2), opval);
   13240     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13241   }
   13242 {
   13243   {
   13244     BI opval = LTSI (tmp_newval, 0);
   13245     CPU (h_nbit) = opval;
   13246     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13247   }
   13248   {
   13249     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13250     CPU (h_zbit) = opval;
   13251     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13252   }
   13253 SET_H_CBIT_MOVE (0);
   13254 SET_H_VBIT_MOVE (0);
   13255 {
   13256   {
   13257     BI opval = 0;
   13258     CPU (h_xbit) = opval;
   13259     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13260   }
   13261   {
   13262     BI opval = 0;
   13263     SET_H_INSN_PREFIXED_P (opval);
   13264     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13265   }
   13266 }
   13267 }
   13268 }
   13269 
   13270 #undef FLD
   13271 }
   13272   NEXT (vpc);
   13273 
   13274   CASE (sem, INSN_BOUND_CW) : /* bound.w [PC+],${Rd} */
   13275 {
   13276   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13277   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13278 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   13279   int UNUSED written = 0;
   13280   IADDR UNUSED pc = abuf->addr;
   13281   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13282 
   13283 {
   13284   SI tmp_tmpopd;
   13285   SI tmp_tmpops;
   13286   SI tmp_newval;
   13287   tmp_tmpops = ZEXTSISI (FLD (f_indir_pc__word));
   13288   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13289   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13290   {
   13291     SI opval = tmp_newval;
   13292     SET_H_GR (FLD (f_operand2), opval);
   13293     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13294   }
   13295 {
   13296   {
   13297     BI opval = LTSI (tmp_newval, 0);
   13298     CPU (h_nbit) = opval;
   13299     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13300   }
   13301   {
   13302     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13303     CPU (h_zbit) = opval;
   13304     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13305   }
   13306 SET_H_CBIT_MOVE (0);
   13307 SET_H_VBIT_MOVE (0);
   13308 {
   13309   {
   13310     BI opval = 0;
   13311     CPU (h_xbit) = opval;
   13312     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13313   }
   13314   {
   13315     BI opval = 0;
   13316     SET_H_INSN_PREFIXED_P (opval);
   13317     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13318   }
   13319 }
   13320 }
   13321 }
   13322 
   13323 #undef FLD
   13324 }
   13325   NEXT (vpc);
   13326 
   13327   CASE (sem, INSN_BOUND_CD) : /* bound.d [PC+],${Rd} */
   13328 {
   13329   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13330   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13331 #define FLD(f) abuf->fields.sfmt_bound_cd.f
   13332   int UNUSED written = 0;
   13333   IADDR UNUSED pc = abuf->addr;
   13334   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   13335 
   13336 {
   13337   SI tmp_tmpopd;
   13338   SI tmp_tmpops;
   13339   SI tmp_newval;
   13340   tmp_tmpops = FLD (f_indir_pc__dword);
   13341   tmp_tmpopd = GET_H_GR (FLD (f_operand2));
   13342   tmp_newval = ((LTUSI (tmp_tmpops, tmp_tmpopd)) ? (tmp_tmpops) : (tmp_tmpopd));
   13343   {
   13344     SI opval = tmp_newval;
   13345     SET_H_GR (FLD (f_operand2), opval);
   13346     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13347   }
   13348 {
   13349   {
   13350     BI opval = LTSI (tmp_newval, 0);
   13351     CPU (h_nbit) = opval;
   13352     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13353   }
   13354   {
   13355     BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13356     CPU (h_zbit) = opval;
   13357     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13358   }
   13359 SET_H_CBIT_MOVE (0);
   13360 SET_H_VBIT_MOVE (0);
   13361 {
   13362   {
   13363     BI opval = 0;
   13364     CPU (h_xbit) = opval;
   13365     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13366   }
   13367   {
   13368     BI opval = 0;
   13369     SET_H_INSN_PREFIXED_P (opval);
   13370     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13371   }
   13372 }
   13373 }
   13374 }
   13375 
   13376 #undef FLD
   13377 }
   13378   NEXT (vpc);
   13379 
   13380   CASE (sem, INSN_SCC) : /* s${cc} ${Rd-sfield} */
   13381 {
   13382   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13383   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13384 #define FLD(f) abuf->fields.sfmt_move_spr_mv32.f
   13385   int UNUSED written = 0;
   13386   IADDR UNUSED pc = abuf->addr;
   13387   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13388 
   13389 {
   13390   BI tmp_truthval;
   13391   tmp_truthval = ({   SI tmp_tmpcond;
   13392   BI tmp_condres;
   13393   tmp_tmpcond = FLD (f_operand2);
   13394 ; if (EQSI (tmp_tmpcond, 0)) {
   13395   tmp_condres = NOTBI (CPU (h_cbit));
   13396 }
   13397  else if (EQSI (tmp_tmpcond, 1)) {
   13398   tmp_condres = CPU (h_cbit);
   13399 }
   13400  else if (EQSI (tmp_tmpcond, 2)) {
   13401   tmp_condres = NOTBI (CPU (h_zbit));
   13402 }
   13403  else if (EQSI (tmp_tmpcond, 3)) {
   13404   tmp_condres = CPU (h_zbit);
   13405 }
   13406  else if (EQSI (tmp_tmpcond, 4)) {
   13407   tmp_condres = NOTBI (CPU (h_vbit));
   13408 }
   13409  else if (EQSI (tmp_tmpcond, 5)) {
   13410   tmp_condres = CPU (h_vbit);
   13411 }
   13412  else if (EQSI (tmp_tmpcond, 6)) {
   13413   tmp_condres = NOTBI (CPU (h_nbit));
   13414 }
   13415  else if (EQSI (tmp_tmpcond, 7)) {
   13416   tmp_condres = CPU (h_nbit);
   13417 }
   13418  else if (EQSI (tmp_tmpcond, 8)) {
   13419   tmp_condres = ORBI (CPU (h_cbit), CPU (h_zbit));
   13420 }
   13421  else if (EQSI (tmp_tmpcond, 9)) {
   13422   tmp_condres = NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)));
   13423 }
   13424  else if (EQSI (tmp_tmpcond, 10)) {
   13425   tmp_condres = NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)));
   13426 }
   13427  else if (EQSI (tmp_tmpcond, 11)) {
   13428   tmp_condres = XORBI (CPU (h_vbit), CPU (h_nbit));
   13429 }
   13430  else if (EQSI (tmp_tmpcond, 12)) {
   13431   tmp_condres = NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)));
   13432 }
   13433  else if (EQSI (tmp_tmpcond, 13)) {
   13434   tmp_condres = ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit));
   13435 }
   13436  else if (EQSI (tmp_tmpcond, 14)) {
   13437   tmp_condres = 1;
   13438 }
   13439  else if (EQSI (tmp_tmpcond, 15)) {
   13440   tmp_condres = CPU (h_pbit);
   13441 }
   13442  else {
   13443 cgen_rtx_error (current_cpu, "Unknown condition code");
   13444 }
   13445 ; tmp_condres; });
   13446   {
   13447     SI opval = ZEXTBISI (tmp_truthval);
   13448     SET_H_GR (FLD (f_operand1), opval);
   13449     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13450   }
   13451 {
   13452   {
   13453     BI opval = 0;
   13454     CPU (h_xbit) = opval;
   13455     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13456   }
   13457   {
   13458     BI opval = 0;
   13459     SET_H_INSN_PREFIXED_P (opval);
   13460     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13461   }
   13462 }
   13463 }
   13464 
   13465 #undef FLD
   13466 }
   13467   NEXT (vpc);
   13468 
   13469   CASE (sem, INSN_LZ) : /* lz ${Rs},${Rd} */
   13470 {
   13471   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13472   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13473 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13474   int UNUSED written = 0;
   13475   IADDR UNUSED pc = abuf->addr;
   13476   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13477 
   13478 {
   13479   SI tmp_tmpd;
   13480   SI tmp_tmp;
   13481   tmp_tmp = GET_H_GR (FLD (f_operand1));
   13482   tmp_tmpd = 0;
   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 if (GESI (tmp_tmp, 0)) {
   13665 {
   13666   tmp_tmp = SLLSI (tmp_tmp, 1);
   13667   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13668 }
   13669 }
   13670 if (GESI (tmp_tmp, 0)) {
   13671 {
   13672   tmp_tmp = SLLSI (tmp_tmp, 1);
   13673   tmp_tmpd = ADDSI (tmp_tmpd, 1);
   13674 }
   13675 }
   13676 }
   13677   {
   13678     SI opval = tmp_tmpd;
   13679     SET_H_GR (FLD (f_operand2), opval);
   13680     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13681   }
   13682 {
   13683   {
   13684     BI opval = LTSI (tmp_tmpd, 0);
   13685     CPU (h_nbit) = opval;
   13686     CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
   13687   }
   13688   {
   13689     BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
   13690     CPU (h_zbit) = opval;
   13691     CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
   13692   }
   13693 SET_H_CBIT_MOVE (0);
   13694 SET_H_VBIT_MOVE (0);
   13695 {
   13696   {
   13697     BI opval = 0;
   13698     CPU (h_xbit) = opval;
   13699     CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
   13700   }
   13701   {
   13702     BI opval = 0;
   13703     SET_H_INSN_PREFIXED_P (opval);
   13704     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13705   }
   13706 }
   13707 }
   13708 }
   13709 
   13710 #undef FLD
   13711 }
   13712   NEXT (vpc);
   13713 
   13714   CASE (sem, INSN_ADDOQ) : /* addoq $o,$Rs,ACR */
   13715 {
   13716   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13717   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13718 #define FLD(f) abuf->fields.sfmt_addoq.f
   13719   int UNUSED written = 0;
   13720   IADDR UNUSED pc = abuf->addr;
   13721   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13722 
   13723 {
   13724   {
   13725     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_s8));
   13726     SET_H_PREFIXREG_V32 (opval);
   13727     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13728   }
   13729   {
   13730     BI opval = 1;
   13731     SET_H_INSN_PREFIXED_P (opval);
   13732     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13733   }
   13734 }
   13735 
   13736 #undef FLD
   13737 }
   13738   NEXT (vpc);
   13739 
   13740   CASE (sem, INSN_ADDO_M_B_M) : /* addo-m.b [${Rs}${inc}],$Rd,ACR */
   13741 {
   13742   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13743   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13744 #define FLD(f) abuf->fields.sfmt_addc_m.f
   13745   int UNUSED written = 0;
   13746   IADDR UNUSED pc = abuf->addr;
   13747   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13748 
   13749 {
   13750   QI tmp_tmps;
   13751   tmp_tmps = ({   SI tmp_addr;
   13752   QI tmp_tmp_mem;
   13753   BI tmp_postinc;
   13754   tmp_postinc = FLD (f_memmode);
   13755 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   13756 ;   tmp_tmp_mem = GETMEMQI (current_cpu, pc, tmp_addr);
   13757 ; if (NEBI (tmp_postinc, 0)) {
   13758 {
   13759 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   13760   tmp_addr = ADDSI (tmp_addr, 1);
   13761 }
   13762   {
   13763     SI opval = tmp_addr;
   13764     SET_H_GR (FLD (f_operand1), opval);
   13765     written |= (1 << 6);
   13766     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13767   }
   13768 }
   13769 }
   13770 ; tmp_tmp_mem; });
   13771   {
   13772     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (tmp_tmps));
   13773     SET_H_PREFIXREG_V32 (opval);
   13774     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13775   }
   13776   {
   13777     BI opval = 1;
   13778     SET_H_INSN_PREFIXED_P (opval);
   13779     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13780   }
   13781 }
   13782 
   13783   abuf->written = written;
   13784 #undef FLD
   13785 }
   13786   NEXT (vpc);
   13787 
   13788   CASE (sem, INSN_ADDO_M_W_M) : /* addo-m.w [${Rs}${inc}],$Rd,ACR */
   13789 {
   13790   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13791   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13792 #define FLD(f) abuf->fields.sfmt_addc_m.f
   13793   int UNUSED written = 0;
   13794   IADDR UNUSED pc = abuf->addr;
   13795   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13796 
   13797 {
   13798   HI tmp_tmps;
   13799   tmp_tmps = ({   SI tmp_addr;
   13800   HI tmp_tmp_mem;
   13801   BI tmp_postinc;
   13802   tmp_postinc = FLD (f_memmode);
   13803 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   13804 ;   tmp_tmp_mem = GETMEMHI (current_cpu, pc, tmp_addr);
   13805 ; if (NEBI (tmp_postinc, 0)) {
   13806 {
   13807 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   13808   tmp_addr = ADDSI (tmp_addr, 2);
   13809 }
   13810   {
   13811     SI opval = tmp_addr;
   13812     SET_H_GR (FLD (f_operand1), opval);
   13813     written |= (1 << 6);
   13814     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13815   }
   13816 }
   13817 }
   13818 ; tmp_tmp_mem; });
   13819   {
   13820     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (tmp_tmps));
   13821     SET_H_PREFIXREG_V32 (opval);
   13822     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13823   }
   13824   {
   13825     BI opval = 1;
   13826     SET_H_INSN_PREFIXED_P (opval);
   13827     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13828   }
   13829 }
   13830 
   13831   abuf->written = written;
   13832 #undef FLD
   13833 }
   13834   NEXT (vpc);
   13835 
   13836   CASE (sem, INSN_ADDO_M_D_M) : /* addo-m.d [${Rs}${inc}],$Rd,ACR */
   13837 {
   13838   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13839   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13840 #define FLD(f) abuf->fields.sfmt_addc_m.f
   13841   int UNUSED written = 0;
   13842   IADDR UNUSED pc = abuf->addr;
   13843   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13844 
   13845 {
   13846   SI tmp_tmps;
   13847   tmp_tmps = ({   SI tmp_addr;
   13848   SI tmp_tmp_mem;
   13849   BI tmp_postinc;
   13850   tmp_postinc = FLD (f_memmode);
   13851 ;   tmp_addr = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (GET_H_GR (FLD (f_operand1))) : (GET_H_PREFIXREG_V32 ()));
   13852 ;   tmp_tmp_mem = GETMEMSI (current_cpu, pc, tmp_addr);
   13853 ; if (NEBI (tmp_postinc, 0)) {
   13854 {
   13855 if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
   13856   tmp_addr = ADDSI (tmp_addr, 4);
   13857 }
   13858   {
   13859     SI opval = tmp_addr;
   13860     SET_H_GR (FLD (f_operand1), opval);
   13861     written |= (1 << 6);
   13862     CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
   13863   }
   13864 }
   13865 }
   13866 ; tmp_tmp_mem; });
   13867   {
   13868     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), tmp_tmps);
   13869     SET_H_PREFIXREG_V32 (opval);
   13870     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13871   }
   13872   {
   13873     BI opval = 1;
   13874     SET_H_INSN_PREFIXED_P (opval);
   13875     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13876   }
   13877 }
   13878 
   13879   abuf->written = written;
   13880 #undef FLD
   13881 }
   13882   NEXT (vpc);
   13883 
   13884   CASE (sem, INSN_ADDO_CB) : /* addo.b [PC+],$Rd,ACR */
   13885 {
   13886   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13887   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13888 #define FLD(f) abuf->fields.sfmt_bound_cb.f
   13889   int UNUSED written = 0;
   13890   IADDR UNUSED pc = abuf->addr;
   13891   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13892 
   13893 {
   13894   {
   13895     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte))));
   13896     SET_H_PREFIXREG_V32 (opval);
   13897     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13898   }
   13899   {
   13900     BI opval = 1;
   13901     SET_H_INSN_PREFIXED_P (opval);
   13902     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13903   }
   13904 }
   13905 
   13906 #undef FLD
   13907 }
   13908   NEXT (vpc);
   13909 
   13910   CASE (sem, INSN_ADDO_CW) : /* addo.w [PC+],$Rd,ACR */
   13911 {
   13912   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13913   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13914 #define FLD(f) abuf->fields.sfmt_bound_cw.f
   13915   int UNUSED written = 0;
   13916   IADDR UNUSED pc = abuf->addr;
   13917   vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
   13918 
   13919 {
   13920   {
   13921     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word))));
   13922     SET_H_PREFIXREG_V32 (opval);
   13923     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13924   }
   13925   {
   13926     BI opval = 1;
   13927     SET_H_INSN_PREFIXED_P (opval);
   13928     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13929   }
   13930 }
   13931 
   13932 #undef FLD
   13933 }
   13934   NEXT (vpc);
   13935 
   13936   CASE (sem, INSN_ADDO_CD) : /* addo.d [PC+],$Rd,ACR */
   13937 {
   13938   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13939   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13940 #define FLD(f) abuf->fields.sfmt_bound_cd.f
   13941   int UNUSED written = 0;
   13942   IADDR UNUSED pc = abuf->addr;
   13943   vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
   13944 
   13945 {
   13946   {
   13947     SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
   13948     SET_H_PREFIXREG_V32 (opval);
   13949     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13950   }
   13951   {
   13952     BI opval = 1;
   13953     SET_H_INSN_PREFIXED_P (opval);
   13954     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13955   }
   13956 }
   13957 
   13958 #undef FLD
   13959 }
   13960   NEXT (vpc);
   13961 
   13962   CASE (sem, INSN_ADDI_ACR_B_R) : /* addi-acr.b ${Rs-dfield}.m,${Rd-sfield},ACR */
   13963 {
   13964   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13965   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13966 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13967   int UNUSED written = 0;
   13968   IADDR UNUSED pc = abuf->addr;
   13969   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13970 
   13971 {
   13972   {
   13973     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
   13974     SET_H_PREFIXREG_V32 (opval);
   13975     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   13976   }
   13977   {
   13978     BI opval = 1;
   13979     SET_H_INSN_PREFIXED_P (opval);
   13980     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   13981   }
   13982 }
   13983 
   13984 #undef FLD
   13985 }
   13986   NEXT (vpc);
   13987 
   13988   CASE (sem, INSN_ADDI_ACR_W_R) : /* addi-acr.w ${Rs-dfield}.m,${Rd-sfield},ACR */
   13989 {
   13990   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   13991   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   13992 #define FLD(f) abuf->fields.sfmt_muls_b.f
   13993   int UNUSED written = 0;
   13994   IADDR UNUSED pc = abuf->addr;
   13995   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   13996 
   13997 {
   13998   {
   13999     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
   14000     SET_H_PREFIXREG_V32 (opval);
   14001     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   14002   }
   14003   {
   14004     BI opval = 1;
   14005     SET_H_INSN_PREFIXED_P (opval);
   14006     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   14007   }
   14008 }
   14009 
   14010 #undef FLD
   14011 }
   14012   NEXT (vpc);
   14013 
   14014   CASE (sem, INSN_ADDI_ACR_D_R) : /* addi-acr.d ${Rs-dfield}.m,${Rd-sfield},ACR */
   14015 {
   14016   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14017   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14018 #define FLD(f) abuf->fields.sfmt_muls_b.f
   14019   int UNUSED written = 0;
   14020   IADDR UNUSED pc = abuf->addr;
   14021   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14022 
   14023 {
   14024   {
   14025     SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
   14026     SET_H_PREFIXREG_V32 (opval);
   14027     CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
   14028   }
   14029   {
   14030     BI opval = 1;
   14031     SET_H_INSN_PREFIXED_P (opval);
   14032     CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
   14033   }
   14034 }
   14035 
   14036 #undef FLD
   14037 }
   14038   NEXT (vpc);
   14039 
   14040   CASE (sem, INSN_FIDXI) : /* fidxi [$Rs] */
   14041 {
   14042   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14043   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14044 #define FLD(f) abuf->fields.sfmt_mcp.f
   14045   int UNUSED written = 0;
   14046   IADDR UNUSED pc = abuf->addr;
   14047   SEM_BRANCH_INIT
   14048   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14049 
   14050   {
   14051     USI opval = crisv32f_fidxi_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14052     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14053     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14054   }
   14055 
   14056   SEM_BRANCH_FINI (vpc);
   14057 #undef FLD
   14058 }
   14059   NEXT (vpc);
   14060 
   14061   CASE (sem, INSN_FTAGI) : /* fidxi [$Rs] */
   14062 {
   14063   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14064   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14065 #define FLD(f) abuf->fields.sfmt_mcp.f
   14066   int UNUSED written = 0;
   14067   IADDR UNUSED pc = abuf->addr;
   14068   SEM_BRANCH_INIT
   14069   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14070 
   14071   {
   14072     USI opval = crisv32f_ftagi_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14073     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14074     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14075   }
   14076 
   14077   SEM_BRANCH_FINI (vpc);
   14078 #undef FLD
   14079 }
   14080   NEXT (vpc);
   14081 
   14082   CASE (sem, INSN_FIDXD) : /* fidxd [$Rs] */
   14083 {
   14084   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14085   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14086 #define FLD(f) abuf->fields.sfmt_mcp.f
   14087   int UNUSED written = 0;
   14088   IADDR UNUSED pc = abuf->addr;
   14089   SEM_BRANCH_INIT
   14090   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14091 
   14092   {
   14093     USI opval = crisv32f_fidxd_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14094     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14095     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14096   }
   14097 
   14098   SEM_BRANCH_FINI (vpc);
   14099 #undef FLD
   14100 }
   14101   NEXT (vpc);
   14102 
   14103   CASE (sem, INSN_FTAGD) : /* ftagd [$Rs] */
   14104 {
   14105   SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
   14106   ARGBUF *abuf = SEM_ARGBUF (sem_arg);
   14107 #define FLD(f) abuf->fields.sfmt_mcp.f
   14108   int UNUSED written = 0;
   14109   IADDR UNUSED pc = abuf->addr;
   14110   SEM_BRANCH_INIT
   14111   vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
   14112 
   14113   {
   14114     USI opval = crisv32f_ftagd_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
   14115     SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
   14116     CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
   14117   }
   14118 
   14119   SEM_BRANCH_FINI (vpc);
   14120 #undef FLD
   14121 }
   14122   NEXT (vpc);
   14123 
   14124 
   14125     }
   14126   ENDSWITCH (sem) /* End of semantic switch.  */
   14127 
   14128   /* At this point `vpc' contains the next insn to execute.  */
   14129 }
   14130 
   14131 #undef DEFINE_SWITCH
   14132 #endif /* DEFINE_SWITCH */
   14133