xref: /netbsd-src/external/gpl3/gdb/dist/sim/cris/semcrisv32f-switch.c (revision 05d8e8fe083a4bc28647839371f28bad98396c12)
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