This commit was generated by cvs2svn to track changes on a CVS vendor
[deliverable/binutils-gdb.git] / sim / fr30 / sem.c
1 // OBSOLETE /* Simulator instruction semantics for fr30bf.
2 // OBSOLETE
3 // OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN.
4 // OBSOLETE
5 // OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
6 // OBSOLETE
7 // OBSOLETE This file is part of the GNU simulators.
8 // OBSOLETE
9 // OBSOLETE This program is free software; you can redistribute it and/or modify
10 // OBSOLETE it under the terms of the GNU General Public License as published by
11 // OBSOLETE the Free Software Foundation; either version 2, or (at your option)
12 // OBSOLETE any later version.
13 // OBSOLETE
14 // OBSOLETE This program is distributed in the hope that it will be useful,
15 // OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // OBSOLETE GNU General Public License for more details.
18 // OBSOLETE
19 // OBSOLETE You should have received a copy of the GNU General Public License along
20 // OBSOLETE with this program; if not, write to the Free Software Foundation, Inc.,
21 // OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 // OBSOLETE
23 // OBSOLETE */
24 // OBSOLETE
25 // OBSOLETE #define WANT_CPU fr30bf
26 // OBSOLETE #define WANT_CPU_FR30BF
27 // OBSOLETE
28 // OBSOLETE #include "sim-main.h"
29 // OBSOLETE #include "cgen-mem.h"
30 // OBSOLETE #include "cgen-ops.h"
31 // OBSOLETE
32 // OBSOLETE #undef GET_ATTR
33 // OBSOLETE #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
34 // OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
35 // OBSOLETE #else
36 // OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
37 // OBSOLETE #endif
38 // OBSOLETE
39 // OBSOLETE /* This is used so that we can compile two copies of the semantic code,
40 // OBSOLETE one with full feature support and one without that runs fast(er).
41 // OBSOLETE FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
42 // OBSOLETE #if FAST_P
43 // OBSOLETE #define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
44 // OBSOLETE #undef TRACE_RESULT
45 // OBSOLETE #define TRACE_RESULT(cpu, abuf, name, type, val)
46 // OBSOLETE #else
47 // OBSOLETE #define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
48 // OBSOLETE #endif
49 // OBSOLETE
50 // OBSOLETE /* x-invalid: --invalid-- */
51 // OBSOLETE
52 // OBSOLETE static SEM_PC
53 // OBSOLETE SEM_FN_NAME (fr30bf,x_invalid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
54 // OBSOLETE {
55 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
56 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
57 // OBSOLETE int UNUSED written = 0;
58 // OBSOLETE IADDR UNUSED pc = abuf->addr;
59 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
60 // OBSOLETE
61 // OBSOLETE {
62 // OBSOLETE /* Update the recorded pc in the cpu state struct.
63 // OBSOLETE Only necessary for WITH_SCACHE case, but to avoid the
64 // OBSOLETE conditional compilation .... */
65 // OBSOLETE SET_H_PC (pc);
66 // OBSOLETE /* Virtual insns have zero size. Overwrite vpc with address of next insn
67 // OBSOLETE using the default-insn-bitsize spec. When executing insns in parallel
68 // OBSOLETE we may want to queue the fault and continue execution. */
69 // OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
70 // OBSOLETE vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
71 // OBSOLETE }
72 // OBSOLETE
73 // OBSOLETE return vpc;
74 // OBSOLETE #undef FLD
75 // OBSOLETE }
76 // OBSOLETE
77 // OBSOLETE /* x-after: --after-- */
78 // OBSOLETE
79 // OBSOLETE static SEM_PC
80 // OBSOLETE SEM_FN_NAME (fr30bf,x_after) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
81 // OBSOLETE {
82 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
83 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
84 // OBSOLETE int UNUSED written = 0;
85 // OBSOLETE IADDR UNUSED pc = abuf->addr;
86 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
87 // OBSOLETE
88 // OBSOLETE {
89 // OBSOLETE #if WITH_SCACHE_PBB_FR30BF
90 // OBSOLETE fr30bf_pbb_after (current_cpu, sem_arg);
91 // OBSOLETE #endif
92 // OBSOLETE }
93 // OBSOLETE
94 // OBSOLETE return vpc;
95 // OBSOLETE #undef FLD
96 // OBSOLETE }
97 // OBSOLETE
98 // OBSOLETE /* x-before: --before-- */
99 // OBSOLETE
100 // OBSOLETE static SEM_PC
101 // OBSOLETE SEM_FN_NAME (fr30bf,x_before) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
102 // OBSOLETE {
103 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
104 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
105 // OBSOLETE int UNUSED written = 0;
106 // OBSOLETE IADDR UNUSED pc = abuf->addr;
107 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
108 // OBSOLETE
109 // OBSOLETE {
110 // OBSOLETE #if WITH_SCACHE_PBB_FR30BF
111 // OBSOLETE fr30bf_pbb_before (current_cpu, sem_arg);
112 // OBSOLETE #endif
113 // OBSOLETE }
114 // OBSOLETE
115 // OBSOLETE return vpc;
116 // OBSOLETE #undef FLD
117 // OBSOLETE }
118 // OBSOLETE
119 // OBSOLETE /* x-cti-chain: --cti-chain-- */
120 // OBSOLETE
121 // OBSOLETE static SEM_PC
122 // OBSOLETE SEM_FN_NAME (fr30bf,x_cti_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
123 // OBSOLETE {
124 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
125 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
126 // OBSOLETE int UNUSED written = 0;
127 // OBSOLETE IADDR UNUSED pc = abuf->addr;
128 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
129 // OBSOLETE
130 // OBSOLETE {
131 // OBSOLETE #if WITH_SCACHE_PBB_FR30BF
132 // OBSOLETE #ifdef DEFINE_SWITCH
133 // OBSOLETE vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
134 // OBSOLETE pbb_br_type, pbb_br_npc);
135 // OBSOLETE BREAK (sem);
136 // OBSOLETE #else
137 // OBSOLETE /* FIXME: Allow provision of explicit ifmt spec in insn spec. */
138 // OBSOLETE vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg,
139 // OBSOLETE CPU_PBB_BR_TYPE (current_cpu),
140 // OBSOLETE CPU_PBB_BR_NPC (current_cpu));
141 // OBSOLETE #endif
142 // OBSOLETE #endif
143 // OBSOLETE }
144 // OBSOLETE
145 // OBSOLETE return vpc;
146 // OBSOLETE #undef FLD
147 // OBSOLETE }
148 // OBSOLETE
149 // OBSOLETE /* x-chain: --chain-- */
150 // OBSOLETE
151 // OBSOLETE static SEM_PC
152 // OBSOLETE SEM_FN_NAME (fr30bf,x_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
153 // OBSOLETE {
154 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
155 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
156 // OBSOLETE int UNUSED written = 0;
157 // OBSOLETE IADDR UNUSED pc = abuf->addr;
158 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
159 // OBSOLETE
160 // OBSOLETE {
161 // OBSOLETE #if WITH_SCACHE_PBB_FR30BF
162 // OBSOLETE vpc = fr30bf_pbb_chain (current_cpu, sem_arg);
163 // OBSOLETE #ifdef DEFINE_SWITCH
164 // OBSOLETE BREAK (sem);
165 // OBSOLETE #endif
166 // OBSOLETE #endif
167 // OBSOLETE }
168 // OBSOLETE
169 // OBSOLETE return vpc;
170 // OBSOLETE #undef FLD
171 // OBSOLETE }
172 // OBSOLETE
173 // OBSOLETE /* x-begin: --begin-- */
174 // OBSOLETE
175 // OBSOLETE static SEM_PC
176 // OBSOLETE SEM_FN_NAME (fr30bf,x_begin) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
177 // OBSOLETE {
178 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
179 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
180 // OBSOLETE int UNUSED written = 0;
181 // OBSOLETE IADDR UNUSED pc = abuf->addr;
182 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
183 // OBSOLETE
184 // OBSOLETE {
185 // OBSOLETE #if WITH_SCACHE_PBB_FR30BF
186 // OBSOLETE #if defined DEFINE_SWITCH || defined FAST_P
187 // OBSOLETE /* In the switch case FAST_P is a constant, allowing several optimizations
188 // OBSOLETE in any called inline functions. */
189 // OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, FAST_P);
190 // OBSOLETE #else
191 // OBSOLETE #if 0 /* cgen engine can't handle dynamic fast/full switching yet. */
192 // OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
193 // OBSOLETE #else
194 // OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, 0);
195 // OBSOLETE #endif
196 // OBSOLETE #endif
197 // OBSOLETE #endif
198 // OBSOLETE }
199 // OBSOLETE
200 // OBSOLETE return vpc;
201 // OBSOLETE #undef FLD
202 // OBSOLETE }
203 // OBSOLETE
204 // OBSOLETE /* add: add $Rj,$Ri */
205 // OBSOLETE
206 // OBSOLETE static SEM_PC
207 // OBSOLETE SEM_FN_NAME (fr30bf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
208 // OBSOLETE {
209 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
210 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
211 // OBSOLETE int UNUSED written = 0;
212 // OBSOLETE IADDR UNUSED pc = abuf->addr;
213 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
214 // OBSOLETE
215 // OBSOLETE {
216 // OBSOLETE {
217 // OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
218 // OBSOLETE CPU (h_vbit) = opval;
219 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
220 // OBSOLETE }
221 // OBSOLETE {
222 // OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
223 // OBSOLETE CPU (h_cbit) = opval;
224 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
225 // OBSOLETE }
226 // OBSOLETE {
227 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
228 // OBSOLETE * FLD (i_Ri) = opval;
229 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
230 // OBSOLETE }
231 // OBSOLETE {
232 // OBSOLETE {
233 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
234 // OBSOLETE CPU (h_zbit) = opval;
235 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
236 // OBSOLETE }
237 // OBSOLETE {
238 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
239 // OBSOLETE CPU (h_nbit) = opval;
240 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
241 // OBSOLETE }
242 // OBSOLETE }
243 // OBSOLETE }
244 // OBSOLETE
245 // OBSOLETE return vpc;
246 // OBSOLETE #undef FLD
247 // OBSOLETE }
248 // OBSOLETE
249 // OBSOLETE /* addi: add $u4,$Ri */
250 // OBSOLETE
251 // OBSOLETE static SEM_PC
252 // OBSOLETE SEM_FN_NAME (fr30bf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
253 // OBSOLETE {
254 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
255 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
256 // OBSOLETE int UNUSED written = 0;
257 // OBSOLETE IADDR UNUSED pc = abuf->addr;
258 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
259 // OBSOLETE
260 // OBSOLETE {
261 // OBSOLETE {
262 // OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0);
263 // OBSOLETE CPU (h_vbit) = opval;
264 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
265 // OBSOLETE }
266 // OBSOLETE {
267 // OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0);
268 // OBSOLETE CPU (h_cbit) = opval;
269 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
270 // OBSOLETE }
271 // OBSOLETE {
272 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
273 // OBSOLETE * FLD (i_Ri) = opval;
274 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
275 // OBSOLETE }
276 // OBSOLETE {
277 // OBSOLETE {
278 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
279 // OBSOLETE CPU (h_zbit) = opval;
280 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
281 // OBSOLETE }
282 // OBSOLETE {
283 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
284 // OBSOLETE CPU (h_nbit) = opval;
285 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
286 // OBSOLETE }
287 // OBSOLETE }
288 // OBSOLETE }
289 // OBSOLETE
290 // OBSOLETE return vpc;
291 // OBSOLETE #undef FLD
292 // OBSOLETE }
293 // OBSOLETE
294 // OBSOLETE /* add2: add2 $m4,$Ri */
295 // OBSOLETE
296 // OBSOLETE static SEM_PC
297 // OBSOLETE SEM_FN_NAME (fr30bf,add2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
298 // OBSOLETE {
299 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
300 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
301 // OBSOLETE int UNUSED written = 0;
302 // OBSOLETE IADDR UNUSED pc = abuf->addr;
303 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
304 // OBSOLETE
305 // OBSOLETE {
306 // OBSOLETE {
307 // OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0);
308 // OBSOLETE CPU (h_vbit) = opval;
309 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
310 // OBSOLETE }
311 // OBSOLETE {
312 // OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0);
313 // OBSOLETE CPU (h_cbit) = opval;
314 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
315 // OBSOLETE }
316 // OBSOLETE {
317 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
318 // OBSOLETE * FLD (i_Ri) = opval;
319 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
320 // OBSOLETE }
321 // OBSOLETE {
322 // OBSOLETE {
323 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
324 // OBSOLETE CPU (h_zbit) = opval;
325 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
326 // OBSOLETE }
327 // OBSOLETE {
328 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
329 // OBSOLETE CPU (h_nbit) = opval;
330 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
331 // OBSOLETE }
332 // OBSOLETE }
333 // OBSOLETE }
334 // OBSOLETE
335 // OBSOLETE return vpc;
336 // OBSOLETE #undef FLD
337 // OBSOLETE }
338 // OBSOLETE
339 // OBSOLETE /* addc: addc $Rj,$Ri */
340 // OBSOLETE
341 // OBSOLETE static SEM_PC
342 // OBSOLETE SEM_FN_NAME (fr30bf,addc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
343 // OBSOLETE {
344 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
345 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
346 // OBSOLETE int UNUSED written = 0;
347 // OBSOLETE IADDR UNUSED pc = abuf->addr;
348 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
349 // OBSOLETE
350 // OBSOLETE {
351 // OBSOLETE SI tmp_tmp;
352 // OBSOLETE tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
353 // OBSOLETE {
354 // OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
355 // OBSOLETE CPU (h_vbit) = opval;
356 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
357 // OBSOLETE }
358 // OBSOLETE {
359 // OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
360 // OBSOLETE CPU (h_cbit) = opval;
361 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
362 // OBSOLETE }
363 // OBSOLETE {
364 // OBSOLETE SI opval = tmp_tmp;
365 // OBSOLETE * FLD (i_Ri) = opval;
366 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
367 // OBSOLETE }
368 // OBSOLETE {
369 // OBSOLETE {
370 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
371 // OBSOLETE CPU (h_zbit) = opval;
372 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
373 // OBSOLETE }
374 // OBSOLETE {
375 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
376 // OBSOLETE CPU (h_nbit) = opval;
377 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
378 // OBSOLETE }
379 // OBSOLETE }
380 // OBSOLETE }
381 // OBSOLETE
382 // OBSOLETE return vpc;
383 // OBSOLETE #undef FLD
384 // OBSOLETE }
385 // OBSOLETE
386 // OBSOLETE /* addn: addn $Rj,$Ri */
387 // OBSOLETE
388 // OBSOLETE static SEM_PC
389 // OBSOLETE SEM_FN_NAME (fr30bf,addn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
390 // OBSOLETE {
391 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
392 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
393 // OBSOLETE int UNUSED written = 0;
394 // OBSOLETE IADDR UNUSED pc = abuf->addr;
395 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
396 // OBSOLETE
397 // OBSOLETE {
398 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj));
399 // OBSOLETE * FLD (i_Ri) = opval;
400 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
401 // OBSOLETE }
402 // OBSOLETE
403 // OBSOLETE return vpc;
404 // OBSOLETE #undef FLD
405 // OBSOLETE }
406 // OBSOLETE
407 // OBSOLETE /* addni: addn $u4,$Ri */
408 // OBSOLETE
409 // OBSOLETE static SEM_PC
410 // OBSOLETE SEM_FN_NAME (fr30bf,addni) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
411 // OBSOLETE {
412 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
413 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
414 // OBSOLETE int UNUSED written = 0;
415 // OBSOLETE IADDR UNUSED pc = abuf->addr;
416 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
417 // OBSOLETE
418 // OBSOLETE {
419 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4));
420 // OBSOLETE * FLD (i_Ri) = opval;
421 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
422 // OBSOLETE }
423 // OBSOLETE
424 // OBSOLETE return vpc;
425 // OBSOLETE #undef FLD
426 // OBSOLETE }
427 // OBSOLETE
428 // OBSOLETE /* addn2: addn2 $m4,$Ri */
429 // OBSOLETE
430 // OBSOLETE static SEM_PC
431 // OBSOLETE SEM_FN_NAME (fr30bf,addn2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
432 // OBSOLETE {
433 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
434 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
435 // OBSOLETE int UNUSED written = 0;
436 // OBSOLETE IADDR UNUSED pc = abuf->addr;
437 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
438 // OBSOLETE
439 // OBSOLETE {
440 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4));
441 // OBSOLETE * FLD (i_Ri) = opval;
442 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
443 // OBSOLETE }
444 // OBSOLETE
445 // OBSOLETE return vpc;
446 // OBSOLETE #undef FLD
447 // OBSOLETE }
448 // OBSOLETE
449 // OBSOLETE /* sub: sub $Rj,$Ri */
450 // OBSOLETE
451 // OBSOLETE static SEM_PC
452 // OBSOLETE SEM_FN_NAME (fr30bf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
453 // OBSOLETE {
454 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
455 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
456 // OBSOLETE int UNUSED written = 0;
457 // OBSOLETE IADDR UNUSED pc = abuf->addr;
458 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
459 // OBSOLETE
460 // OBSOLETE {
461 // OBSOLETE {
462 // OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
463 // OBSOLETE CPU (h_vbit) = opval;
464 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
465 // OBSOLETE }
466 // OBSOLETE {
467 // OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
468 // OBSOLETE CPU (h_cbit) = opval;
469 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
470 // OBSOLETE }
471 // OBSOLETE {
472 // OBSOLETE SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
473 // OBSOLETE * FLD (i_Ri) = opval;
474 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
475 // OBSOLETE }
476 // OBSOLETE {
477 // OBSOLETE {
478 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
479 // OBSOLETE CPU (h_zbit) = opval;
480 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
481 // OBSOLETE }
482 // OBSOLETE {
483 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
484 // OBSOLETE CPU (h_nbit) = opval;
485 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
486 // OBSOLETE }
487 // OBSOLETE }
488 // OBSOLETE }
489 // OBSOLETE
490 // OBSOLETE return vpc;
491 // OBSOLETE #undef FLD
492 // OBSOLETE }
493 // OBSOLETE
494 // OBSOLETE /* subc: subc $Rj,$Ri */
495 // OBSOLETE
496 // OBSOLETE static SEM_PC
497 // OBSOLETE SEM_FN_NAME (fr30bf,subc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
498 // OBSOLETE {
499 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
500 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
501 // OBSOLETE int UNUSED written = 0;
502 // OBSOLETE IADDR UNUSED pc = abuf->addr;
503 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
504 // OBSOLETE
505 // OBSOLETE {
506 // OBSOLETE SI tmp_tmp;
507 // OBSOLETE tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
508 // OBSOLETE {
509 // OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
510 // OBSOLETE CPU (h_vbit) = opval;
511 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
512 // OBSOLETE }
513 // OBSOLETE {
514 // OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit));
515 // OBSOLETE CPU (h_cbit) = opval;
516 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
517 // OBSOLETE }
518 // OBSOLETE {
519 // OBSOLETE SI opval = tmp_tmp;
520 // OBSOLETE * FLD (i_Ri) = opval;
521 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
522 // OBSOLETE }
523 // OBSOLETE {
524 // OBSOLETE {
525 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
526 // OBSOLETE CPU (h_zbit) = opval;
527 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
528 // OBSOLETE }
529 // OBSOLETE {
530 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
531 // OBSOLETE CPU (h_nbit) = opval;
532 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
533 // OBSOLETE }
534 // OBSOLETE }
535 // OBSOLETE }
536 // OBSOLETE
537 // OBSOLETE return vpc;
538 // OBSOLETE #undef FLD
539 // OBSOLETE }
540 // OBSOLETE
541 // OBSOLETE /* subn: subn $Rj,$Ri */
542 // OBSOLETE
543 // OBSOLETE static SEM_PC
544 // OBSOLETE SEM_FN_NAME (fr30bf,subn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
545 // OBSOLETE {
546 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
547 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
548 // OBSOLETE int UNUSED written = 0;
549 // OBSOLETE IADDR UNUSED pc = abuf->addr;
550 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
551 // OBSOLETE
552 // OBSOLETE {
553 // OBSOLETE SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
554 // OBSOLETE * FLD (i_Ri) = opval;
555 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
556 // OBSOLETE }
557 // OBSOLETE
558 // OBSOLETE return vpc;
559 // OBSOLETE #undef FLD
560 // OBSOLETE }
561 // OBSOLETE
562 // OBSOLETE /* cmp: cmp $Rj,$Ri */
563 // OBSOLETE
564 // OBSOLETE static SEM_PC
565 // OBSOLETE SEM_FN_NAME (fr30bf,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
566 // OBSOLETE {
567 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
568 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
569 // OBSOLETE int UNUSED written = 0;
570 // OBSOLETE IADDR UNUSED pc = abuf->addr;
571 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
572 // OBSOLETE
573 // OBSOLETE {
574 // OBSOLETE SI tmp_tmp1;
575 // OBSOLETE {
576 // OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
577 // OBSOLETE CPU (h_vbit) = opval;
578 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
579 // OBSOLETE }
580 // OBSOLETE {
581 // OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0);
582 // OBSOLETE CPU (h_cbit) = opval;
583 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
584 // OBSOLETE }
585 // OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj));
586 // OBSOLETE {
587 // OBSOLETE {
588 // OBSOLETE BI opval = EQSI (tmp_tmp1, 0);
589 // OBSOLETE CPU (h_zbit) = opval;
590 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
591 // OBSOLETE }
592 // OBSOLETE {
593 // OBSOLETE BI opval = LTSI (tmp_tmp1, 0);
594 // OBSOLETE CPU (h_nbit) = opval;
595 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
596 // OBSOLETE }
597 // OBSOLETE }
598 // OBSOLETE }
599 // OBSOLETE
600 // OBSOLETE return vpc;
601 // OBSOLETE #undef FLD
602 // OBSOLETE }
603 // OBSOLETE
604 // OBSOLETE /* cmpi: cmp $u4,$Ri */
605 // OBSOLETE
606 // OBSOLETE static SEM_PC
607 // OBSOLETE SEM_FN_NAME (fr30bf,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
608 // OBSOLETE {
609 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
610 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
611 // OBSOLETE int UNUSED written = 0;
612 // OBSOLETE IADDR UNUSED pc = abuf->addr;
613 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
614 // OBSOLETE
615 // OBSOLETE {
616 // OBSOLETE SI tmp_tmp1;
617 // OBSOLETE {
618 // OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0);
619 // OBSOLETE CPU (h_vbit) = opval;
620 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
621 // OBSOLETE }
622 // OBSOLETE {
623 // OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0);
624 // OBSOLETE CPU (h_cbit) = opval;
625 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
626 // OBSOLETE }
627 // OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4));
628 // OBSOLETE {
629 // OBSOLETE {
630 // OBSOLETE BI opval = EQSI (tmp_tmp1, 0);
631 // OBSOLETE CPU (h_zbit) = opval;
632 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
633 // OBSOLETE }
634 // OBSOLETE {
635 // OBSOLETE BI opval = LTSI (tmp_tmp1, 0);
636 // OBSOLETE CPU (h_nbit) = opval;
637 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
638 // OBSOLETE }
639 // OBSOLETE }
640 // OBSOLETE }
641 // OBSOLETE
642 // OBSOLETE return vpc;
643 // OBSOLETE #undef FLD
644 // OBSOLETE }
645 // OBSOLETE
646 // OBSOLETE /* cmp2: cmp2 $m4,$Ri */
647 // OBSOLETE
648 // OBSOLETE static SEM_PC
649 // OBSOLETE SEM_FN_NAME (fr30bf,cmp2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
650 // OBSOLETE {
651 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
652 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
653 // OBSOLETE int UNUSED written = 0;
654 // OBSOLETE IADDR UNUSED pc = abuf->addr;
655 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
656 // OBSOLETE
657 // OBSOLETE {
658 // OBSOLETE SI tmp_tmp1;
659 // OBSOLETE {
660 // OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0);
661 // OBSOLETE CPU (h_vbit) = opval;
662 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
663 // OBSOLETE }
664 // OBSOLETE {
665 // OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0);
666 // OBSOLETE CPU (h_cbit) = opval;
667 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
668 // OBSOLETE }
669 // OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4));
670 // OBSOLETE {
671 // OBSOLETE {
672 // OBSOLETE BI opval = EQSI (tmp_tmp1, 0);
673 // OBSOLETE CPU (h_zbit) = opval;
674 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
675 // OBSOLETE }
676 // OBSOLETE {
677 // OBSOLETE BI opval = LTSI (tmp_tmp1, 0);
678 // OBSOLETE CPU (h_nbit) = opval;
679 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
680 // OBSOLETE }
681 // OBSOLETE }
682 // OBSOLETE }
683 // OBSOLETE
684 // OBSOLETE return vpc;
685 // OBSOLETE #undef FLD
686 // OBSOLETE }
687 // OBSOLETE
688 // OBSOLETE /* and: and $Rj,$Ri */
689 // OBSOLETE
690 // OBSOLETE static SEM_PC
691 // OBSOLETE SEM_FN_NAME (fr30bf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
692 // OBSOLETE {
693 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
694 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
695 // OBSOLETE int UNUSED written = 0;
696 // OBSOLETE IADDR UNUSED pc = abuf->addr;
697 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
698 // OBSOLETE
699 // OBSOLETE {
700 // OBSOLETE {
701 // OBSOLETE SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj));
702 // OBSOLETE * FLD (i_Ri) = opval;
703 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
704 // OBSOLETE }
705 // OBSOLETE {
706 // OBSOLETE {
707 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
708 // OBSOLETE CPU (h_zbit) = opval;
709 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
710 // OBSOLETE }
711 // OBSOLETE {
712 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
713 // OBSOLETE CPU (h_nbit) = opval;
714 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
715 // OBSOLETE }
716 // OBSOLETE }
717 // OBSOLETE }
718 // OBSOLETE
719 // OBSOLETE return vpc;
720 // OBSOLETE #undef FLD
721 // OBSOLETE }
722 // OBSOLETE
723 // OBSOLETE /* or: or $Rj,$Ri */
724 // OBSOLETE
725 // OBSOLETE static SEM_PC
726 // OBSOLETE SEM_FN_NAME (fr30bf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
727 // OBSOLETE {
728 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
729 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
730 // OBSOLETE int UNUSED written = 0;
731 // OBSOLETE IADDR UNUSED pc = abuf->addr;
732 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
733 // OBSOLETE
734 // OBSOLETE {
735 // OBSOLETE {
736 // OBSOLETE SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj));
737 // OBSOLETE * FLD (i_Ri) = opval;
738 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
739 // OBSOLETE }
740 // OBSOLETE {
741 // OBSOLETE {
742 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
743 // OBSOLETE CPU (h_zbit) = opval;
744 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
745 // OBSOLETE }
746 // OBSOLETE {
747 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
748 // OBSOLETE CPU (h_nbit) = opval;
749 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
750 // OBSOLETE }
751 // OBSOLETE }
752 // OBSOLETE }
753 // OBSOLETE
754 // OBSOLETE return vpc;
755 // OBSOLETE #undef FLD
756 // OBSOLETE }
757 // OBSOLETE
758 // OBSOLETE /* eor: eor $Rj,$Ri */
759 // OBSOLETE
760 // OBSOLETE static SEM_PC
761 // OBSOLETE SEM_FN_NAME (fr30bf,eor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
762 // OBSOLETE {
763 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
764 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
765 // OBSOLETE int UNUSED written = 0;
766 // OBSOLETE IADDR UNUSED pc = abuf->addr;
767 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
768 // OBSOLETE
769 // OBSOLETE {
770 // OBSOLETE {
771 // OBSOLETE SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj));
772 // OBSOLETE * FLD (i_Ri) = opval;
773 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
774 // OBSOLETE }
775 // OBSOLETE {
776 // OBSOLETE {
777 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
778 // OBSOLETE CPU (h_zbit) = opval;
779 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
780 // OBSOLETE }
781 // OBSOLETE {
782 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
783 // OBSOLETE CPU (h_nbit) = opval;
784 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
785 // OBSOLETE }
786 // OBSOLETE }
787 // OBSOLETE }
788 // OBSOLETE
789 // OBSOLETE return vpc;
790 // OBSOLETE #undef FLD
791 // OBSOLETE }
792 // OBSOLETE
793 // OBSOLETE /* andm: and $Rj,@$Ri */
794 // OBSOLETE
795 // OBSOLETE static SEM_PC
796 // OBSOLETE SEM_FN_NAME (fr30bf,andm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
797 // OBSOLETE {
798 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
799 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
800 // OBSOLETE int UNUSED written = 0;
801 // OBSOLETE IADDR UNUSED pc = abuf->addr;
802 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
803 // OBSOLETE
804 // OBSOLETE {
805 // OBSOLETE SI tmp_tmp;
806 // OBSOLETE tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
807 // OBSOLETE {
808 // OBSOLETE {
809 // OBSOLETE BI opval = EQSI (tmp_tmp, 0);
810 // OBSOLETE CPU (h_zbit) = opval;
811 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
812 // OBSOLETE }
813 // OBSOLETE {
814 // OBSOLETE BI opval = LTSI (tmp_tmp, 0);
815 // OBSOLETE CPU (h_nbit) = opval;
816 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
817 // OBSOLETE }
818 // OBSOLETE }
819 // OBSOLETE {
820 // OBSOLETE SI opval = tmp_tmp;
821 // OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
822 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
823 // OBSOLETE }
824 // OBSOLETE }
825 // OBSOLETE
826 // OBSOLETE return vpc;
827 // OBSOLETE #undef FLD
828 // OBSOLETE }
829 // OBSOLETE
830 // OBSOLETE /* andh: andh $Rj,@$Ri */
831 // OBSOLETE
832 // OBSOLETE static SEM_PC
833 // OBSOLETE SEM_FN_NAME (fr30bf,andh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
834 // OBSOLETE {
835 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
836 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
837 // OBSOLETE int UNUSED written = 0;
838 // OBSOLETE IADDR UNUSED pc = abuf->addr;
839 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
840 // OBSOLETE
841 // OBSOLETE {
842 // OBSOLETE HI tmp_tmp;
843 // OBSOLETE tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
844 // OBSOLETE {
845 // OBSOLETE {
846 // OBSOLETE BI opval = EQHI (tmp_tmp, 0);
847 // OBSOLETE CPU (h_zbit) = opval;
848 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
849 // OBSOLETE }
850 // OBSOLETE {
851 // OBSOLETE BI opval = LTHI (tmp_tmp, 0);
852 // OBSOLETE CPU (h_nbit) = opval;
853 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
854 // OBSOLETE }
855 // OBSOLETE }
856 // OBSOLETE {
857 // OBSOLETE HI opval = tmp_tmp;
858 // OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
859 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
860 // OBSOLETE }
861 // OBSOLETE }
862 // OBSOLETE
863 // OBSOLETE return vpc;
864 // OBSOLETE #undef FLD
865 // OBSOLETE }
866 // OBSOLETE
867 // OBSOLETE /* andb: andb $Rj,@$Ri */
868 // OBSOLETE
869 // OBSOLETE static SEM_PC
870 // OBSOLETE SEM_FN_NAME (fr30bf,andb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
871 // OBSOLETE {
872 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
873 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
874 // OBSOLETE int UNUSED written = 0;
875 // OBSOLETE IADDR UNUSED pc = abuf->addr;
876 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
877 // OBSOLETE
878 // OBSOLETE {
879 // OBSOLETE QI tmp_tmp;
880 // OBSOLETE tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
881 // OBSOLETE {
882 // OBSOLETE {
883 // OBSOLETE BI opval = EQQI (tmp_tmp, 0);
884 // OBSOLETE CPU (h_zbit) = opval;
885 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
886 // OBSOLETE }
887 // OBSOLETE {
888 // OBSOLETE BI opval = LTQI (tmp_tmp, 0);
889 // OBSOLETE CPU (h_nbit) = opval;
890 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
891 // OBSOLETE }
892 // OBSOLETE }
893 // OBSOLETE {
894 // OBSOLETE QI opval = tmp_tmp;
895 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
896 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
897 // OBSOLETE }
898 // OBSOLETE }
899 // OBSOLETE
900 // OBSOLETE return vpc;
901 // OBSOLETE #undef FLD
902 // OBSOLETE }
903 // OBSOLETE
904 // OBSOLETE /* orm: or $Rj,@$Ri */
905 // OBSOLETE
906 // OBSOLETE static SEM_PC
907 // OBSOLETE SEM_FN_NAME (fr30bf,orm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
908 // OBSOLETE {
909 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
910 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
911 // OBSOLETE int UNUSED written = 0;
912 // OBSOLETE IADDR UNUSED pc = abuf->addr;
913 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
914 // OBSOLETE
915 // OBSOLETE {
916 // OBSOLETE SI tmp_tmp;
917 // OBSOLETE tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
918 // OBSOLETE {
919 // OBSOLETE {
920 // OBSOLETE BI opval = EQSI (tmp_tmp, 0);
921 // OBSOLETE CPU (h_zbit) = opval;
922 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
923 // OBSOLETE }
924 // OBSOLETE {
925 // OBSOLETE BI opval = LTSI (tmp_tmp, 0);
926 // OBSOLETE CPU (h_nbit) = opval;
927 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
928 // OBSOLETE }
929 // OBSOLETE }
930 // OBSOLETE {
931 // OBSOLETE SI opval = tmp_tmp;
932 // OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
933 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
934 // OBSOLETE }
935 // OBSOLETE }
936 // OBSOLETE
937 // OBSOLETE return vpc;
938 // OBSOLETE #undef FLD
939 // OBSOLETE }
940 // OBSOLETE
941 // OBSOLETE /* orh: orh $Rj,@$Ri */
942 // OBSOLETE
943 // OBSOLETE static SEM_PC
944 // OBSOLETE SEM_FN_NAME (fr30bf,orh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
945 // OBSOLETE {
946 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
947 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
948 // OBSOLETE int UNUSED written = 0;
949 // OBSOLETE IADDR UNUSED pc = abuf->addr;
950 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
951 // OBSOLETE
952 // OBSOLETE {
953 // OBSOLETE HI tmp_tmp;
954 // OBSOLETE tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
955 // OBSOLETE {
956 // OBSOLETE {
957 // OBSOLETE BI opval = EQHI (tmp_tmp, 0);
958 // OBSOLETE CPU (h_zbit) = opval;
959 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
960 // OBSOLETE }
961 // OBSOLETE {
962 // OBSOLETE BI opval = LTHI (tmp_tmp, 0);
963 // OBSOLETE CPU (h_nbit) = opval;
964 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
965 // OBSOLETE }
966 // OBSOLETE }
967 // OBSOLETE {
968 // OBSOLETE HI opval = tmp_tmp;
969 // OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
970 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
971 // OBSOLETE }
972 // OBSOLETE }
973 // OBSOLETE
974 // OBSOLETE return vpc;
975 // OBSOLETE #undef FLD
976 // OBSOLETE }
977 // OBSOLETE
978 // OBSOLETE /* orb: orb $Rj,@$Ri */
979 // OBSOLETE
980 // OBSOLETE static SEM_PC
981 // OBSOLETE SEM_FN_NAME (fr30bf,orb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
982 // OBSOLETE {
983 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
984 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
985 // OBSOLETE int UNUSED written = 0;
986 // OBSOLETE IADDR UNUSED pc = abuf->addr;
987 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
988 // OBSOLETE
989 // OBSOLETE {
990 // OBSOLETE QI tmp_tmp;
991 // OBSOLETE tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
992 // OBSOLETE {
993 // OBSOLETE {
994 // OBSOLETE BI opval = EQQI (tmp_tmp, 0);
995 // OBSOLETE CPU (h_zbit) = opval;
996 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
997 // OBSOLETE }
998 // OBSOLETE {
999 // OBSOLETE BI opval = LTQI (tmp_tmp, 0);
1000 // OBSOLETE CPU (h_nbit) = opval;
1001 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1002 // OBSOLETE }
1003 // OBSOLETE }
1004 // OBSOLETE {
1005 // OBSOLETE QI opval = tmp_tmp;
1006 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1007 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1008 // OBSOLETE }
1009 // OBSOLETE }
1010 // OBSOLETE
1011 // OBSOLETE return vpc;
1012 // OBSOLETE #undef FLD
1013 // OBSOLETE }
1014 // OBSOLETE
1015 // OBSOLETE /* eorm: eor $Rj,@$Ri */
1016 // OBSOLETE
1017 // OBSOLETE static SEM_PC
1018 // OBSOLETE SEM_FN_NAME (fr30bf,eorm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1019 // OBSOLETE {
1020 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1021 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1022 // OBSOLETE int UNUSED written = 0;
1023 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1024 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1025 // OBSOLETE
1026 // OBSOLETE {
1027 // OBSOLETE SI tmp_tmp;
1028 // OBSOLETE tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
1029 // OBSOLETE {
1030 // OBSOLETE {
1031 // OBSOLETE BI opval = EQSI (tmp_tmp, 0);
1032 // OBSOLETE CPU (h_zbit) = opval;
1033 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1034 // OBSOLETE }
1035 // OBSOLETE {
1036 // OBSOLETE BI opval = LTSI (tmp_tmp, 0);
1037 // OBSOLETE CPU (h_nbit) = opval;
1038 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1039 // OBSOLETE }
1040 // OBSOLETE }
1041 // OBSOLETE {
1042 // OBSOLETE SI opval = tmp_tmp;
1043 // OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval);
1044 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1045 // OBSOLETE }
1046 // OBSOLETE }
1047 // OBSOLETE
1048 // OBSOLETE return vpc;
1049 // OBSOLETE #undef FLD
1050 // OBSOLETE }
1051 // OBSOLETE
1052 // OBSOLETE /* eorh: eorh $Rj,@$Ri */
1053 // OBSOLETE
1054 // OBSOLETE static SEM_PC
1055 // OBSOLETE SEM_FN_NAME (fr30bf,eorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1056 // OBSOLETE {
1057 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1058 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1059 // OBSOLETE int UNUSED written = 0;
1060 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1061 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1062 // OBSOLETE
1063 // OBSOLETE {
1064 // OBSOLETE HI tmp_tmp;
1065 // OBSOLETE tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
1066 // OBSOLETE {
1067 // OBSOLETE {
1068 // OBSOLETE BI opval = EQHI (tmp_tmp, 0);
1069 // OBSOLETE CPU (h_zbit) = opval;
1070 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1071 // OBSOLETE }
1072 // OBSOLETE {
1073 // OBSOLETE BI opval = LTHI (tmp_tmp, 0);
1074 // OBSOLETE CPU (h_nbit) = opval;
1075 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1076 // OBSOLETE }
1077 // OBSOLETE }
1078 // OBSOLETE {
1079 // OBSOLETE HI opval = tmp_tmp;
1080 // OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval);
1081 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1082 // OBSOLETE }
1083 // OBSOLETE }
1084 // OBSOLETE
1085 // OBSOLETE return vpc;
1086 // OBSOLETE #undef FLD
1087 // OBSOLETE }
1088 // OBSOLETE
1089 // OBSOLETE /* eorb: eorb $Rj,@$Ri */
1090 // OBSOLETE
1091 // OBSOLETE static SEM_PC
1092 // OBSOLETE SEM_FN_NAME (fr30bf,eorb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1093 // OBSOLETE {
1094 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1095 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1096 // OBSOLETE int UNUSED written = 0;
1097 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1098 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1099 // OBSOLETE
1100 // OBSOLETE {
1101 // OBSOLETE QI tmp_tmp;
1102 // OBSOLETE tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj));
1103 // OBSOLETE {
1104 // OBSOLETE {
1105 // OBSOLETE BI opval = EQQI (tmp_tmp, 0);
1106 // OBSOLETE CPU (h_zbit) = opval;
1107 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1108 // OBSOLETE }
1109 // OBSOLETE {
1110 // OBSOLETE BI opval = LTQI (tmp_tmp, 0);
1111 // OBSOLETE CPU (h_nbit) = opval;
1112 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1113 // OBSOLETE }
1114 // OBSOLETE }
1115 // OBSOLETE {
1116 // OBSOLETE QI opval = tmp_tmp;
1117 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1118 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1119 // OBSOLETE }
1120 // OBSOLETE }
1121 // OBSOLETE
1122 // OBSOLETE return vpc;
1123 // OBSOLETE #undef FLD
1124 // OBSOLETE }
1125 // OBSOLETE
1126 // OBSOLETE /* bandl: bandl $u4,@$Ri */
1127 // OBSOLETE
1128 // OBSOLETE static SEM_PC
1129 // OBSOLETE SEM_FN_NAME (fr30bf,bandl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1130 // OBSOLETE {
1131 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1132 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1133 // OBSOLETE int UNUSED written = 0;
1134 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1135 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1136 // OBSOLETE
1137 // OBSOLETE {
1138 // OBSOLETE QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1139 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1140 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1141 // OBSOLETE }
1142 // OBSOLETE
1143 // OBSOLETE return vpc;
1144 // OBSOLETE #undef FLD
1145 // OBSOLETE }
1146 // OBSOLETE
1147 // OBSOLETE /* borl: borl $u4,@$Ri */
1148 // OBSOLETE
1149 // OBSOLETE static SEM_PC
1150 // OBSOLETE SEM_FN_NAME (fr30bf,borl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1151 // OBSOLETE {
1152 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1153 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1154 // OBSOLETE int UNUSED written = 0;
1155 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1156 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1157 // OBSOLETE
1158 // OBSOLETE {
1159 // OBSOLETE QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1160 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1161 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1162 // OBSOLETE }
1163 // OBSOLETE
1164 // OBSOLETE return vpc;
1165 // OBSOLETE #undef FLD
1166 // OBSOLETE }
1167 // OBSOLETE
1168 // OBSOLETE /* beorl: beorl $u4,@$Ri */
1169 // OBSOLETE
1170 // OBSOLETE static SEM_PC
1171 // OBSOLETE SEM_FN_NAME (fr30bf,beorl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1172 // OBSOLETE {
1173 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1174 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1175 // OBSOLETE int UNUSED written = 0;
1176 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1177 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1178 // OBSOLETE
1179 // OBSOLETE {
1180 // OBSOLETE QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1181 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1182 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1183 // OBSOLETE }
1184 // OBSOLETE
1185 // OBSOLETE return vpc;
1186 // OBSOLETE #undef FLD
1187 // OBSOLETE }
1188 // OBSOLETE
1189 // OBSOLETE /* bandh: bandh $u4,@$Ri */
1190 // OBSOLETE
1191 // OBSOLETE static SEM_PC
1192 // OBSOLETE SEM_FN_NAME (fr30bf,bandh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1193 // OBSOLETE {
1194 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1195 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1196 // OBSOLETE int UNUSED written = 0;
1197 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1198 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1199 // OBSOLETE
1200 // OBSOLETE {
1201 // OBSOLETE QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1202 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1203 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1204 // OBSOLETE }
1205 // OBSOLETE
1206 // OBSOLETE return vpc;
1207 // OBSOLETE #undef FLD
1208 // OBSOLETE }
1209 // OBSOLETE
1210 // OBSOLETE /* borh: borh $u4,@$Ri */
1211 // OBSOLETE
1212 // OBSOLETE static SEM_PC
1213 // OBSOLETE SEM_FN_NAME (fr30bf,borh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1214 // OBSOLETE {
1215 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1216 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1217 // OBSOLETE int UNUSED written = 0;
1218 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1219 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1220 // OBSOLETE
1221 // OBSOLETE {
1222 // OBSOLETE QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1223 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1224 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1225 // OBSOLETE }
1226 // OBSOLETE
1227 // OBSOLETE return vpc;
1228 // OBSOLETE #undef FLD
1229 // OBSOLETE }
1230 // OBSOLETE
1231 // OBSOLETE /* beorh: beorh $u4,@$Ri */
1232 // OBSOLETE
1233 // OBSOLETE static SEM_PC
1234 // OBSOLETE SEM_FN_NAME (fr30bf,beorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1235 // OBSOLETE {
1236 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1237 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1238 // OBSOLETE int UNUSED written = 0;
1239 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1240 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1241 // OBSOLETE
1242 // OBSOLETE {
1243 // OBSOLETE QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1244 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval);
1245 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
1246 // OBSOLETE }
1247 // OBSOLETE
1248 // OBSOLETE return vpc;
1249 // OBSOLETE #undef FLD
1250 // OBSOLETE }
1251 // OBSOLETE
1252 // OBSOLETE /* btstl: btstl $u4,@$Ri */
1253 // OBSOLETE
1254 // OBSOLETE static SEM_PC
1255 // OBSOLETE SEM_FN_NAME (fr30bf,btstl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1256 // OBSOLETE {
1257 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1258 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1259 // OBSOLETE int UNUSED written = 0;
1260 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1261 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1262 // OBSOLETE
1263 // OBSOLETE {
1264 // OBSOLETE QI tmp_tmp;
1265 // OBSOLETE tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1266 // OBSOLETE {
1267 // OBSOLETE BI opval = EQQI (tmp_tmp, 0);
1268 // OBSOLETE CPU (h_zbit) = opval;
1269 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1270 // OBSOLETE }
1271 // OBSOLETE {
1272 // OBSOLETE BI opval = 0;
1273 // OBSOLETE CPU (h_nbit) = opval;
1274 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1275 // OBSOLETE }
1276 // OBSOLETE }
1277 // OBSOLETE
1278 // OBSOLETE return vpc;
1279 // OBSOLETE #undef FLD
1280 // OBSOLETE }
1281 // OBSOLETE
1282 // OBSOLETE /* btsth: btsth $u4,@$Ri */
1283 // OBSOLETE
1284 // OBSOLETE static SEM_PC
1285 // OBSOLETE SEM_FN_NAME (fr30bf,btsth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1286 // OBSOLETE {
1287 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1288 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1289 // OBSOLETE int UNUSED written = 0;
1290 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1291 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1292 // OBSOLETE
1293 // OBSOLETE {
1294 // OBSOLETE QI tmp_tmp;
1295 // OBSOLETE tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri)));
1296 // OBSOLETE {
1297 // OBSOLETE BI opval = EQQI (tmp_tmp, 0);
1298 // OBSOLETE CPU (h_zbit) = opval;
1299 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1300 // OBSOLETE }
1301 // OBSOLETE {
1302 // OBSOLETE BI opval = LTQI (tmp_tmp, 0);
1303 // OBSOLETE CPU (h_nbit) = opval;
1304 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1305 // OBSOLETE }
1306 // OBSOLETE }
1307 // OBSOLETE
1308 // OBSOLETE return vpc;
1309 // OBSOLETE #undef FLD
1310 // OBSOLETE }
1311 // OBSOLETE
1312 // OBSOLETE /* mul: mul $Rj,$Ri */
1313 // OBSOLETE
1314 // OBSOLETE static SEM_PC
1315 // OBSOLETE SEM_FN_NAME (fr30bf,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1316 // OBSOLETE {
1317 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1318 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1319 // OBSOLETE int UNUSED written = 0;
1320 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1321 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1322 // OBSOLETE
1323 // OBSOLETE {
1324 // OBSOLETE DI tmp_tmp;
1325 // OBSOLETE tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri)));
1326 // OBSOLETE {
1327 // OBSOLETE SI opval = TRUNCDISI (tmp_tmp);
1328 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1329 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1330 // OBSOLETE }
1331 // OBSOLETE {
1332 // OBSOLETE SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
1333 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1334 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1335 // OBSOLETE }
1336 // OBSOLETE {
1337 // OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
1338 // OBSOLETE CPU (h_nbit) = opval;
1339 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1340 // OBSOLETE }
1341 // OBSOLETE {
1342 // OBSOLETE BI opval = EQDI (tmp_tmp, MAKEDI (0, 0));
1343 // OBSOLETE CPU (h_zbit) = opval;
1344 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1345 // OBSOLETE }
1346 // OBSOLETE {
1347 // OBSOLETE BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000))));
1348 // OBSOLETE CPU (h_vbit) = opval;
1349 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
1350 // OBSOLETE }
1351 // OBSOLETE }
1352 // OBSOLETE
1353 // OBSOLETE return vpc;
1354 // OBSOLETE #undef FLD
1355 // OBSOLETE }
1356 // OBSOLETE
1357 // OBSOLETE /* mulu: mulu $Rj,$Ri */
1358 // OBSOLETE
1359 // OBSOLETE static SEM_PC
1360 // OBSOLETE SEM_FN_NAME (fr30bf,mulu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1361 // OBSOLETE {
1362 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1363 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1364 // OBSOLETE int UNUSED written = 0;
1365 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1366 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1367 // OBSOLETE
1368 // OBSOLETE {
1369 // OBSOLETE DI tmp_tmp;
1370 // OBSOLETE tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri)));
1371 // OBSOLETE {
1372 // OBSOLETE SI opval = TRUNCDISI (tmp_tmp);
1373 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1374 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1375 // OBSOLETE }
1376 // OBSOLETE {
1377 // OBSOLETE SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32));
1378 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1379 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1380 // OBSOLETE }
1381 // OBSOLETE {
1382 // OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 4)), 0);
1383 // OBSOLETE CPU (h_nbit) = opval;
1384 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1385 // OBSOLETE }
1386 // OBSOLETE {
1387 // OBSOLETE BI opval = EQSI (GET_H_DR (((UINT) 5)), 0);
1388 // OBSOLETE CPU (h_zbit) = opval;
1389 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1390 // OBSOLETE }
1391 // OBSOLETE {
1392 // OBSOLETE BI opval = NESI (GET_H_DR (((UINT) 4)), 0);
1393 // OBSOLETE CPU (h_vbit) = opval;
1394 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
1395 // OBSOLETE }
1396 // OBSOLETE }
1397 // OBSOLETE
1398 // OBSOLETE return vpc;
1399 // OBSOLETE #undef FLD
1400 // OBSOLETE }
1401 // OBSOLETE
1402 // OBSOLETE /* mulh: mulh $Rj,$Ri */
1403 // OBSOLETE
1404 // OBSOLETE static SEM_PC
1405 // OBSOLETE SEM_FN_NAME (fr30bf,mulh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1406 // OBSOLETE {
1407 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1408 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1409 // OBSOLETE int UNUSED written = 0;
1410 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1411 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1412 // OBSOLETE
1413 // OBSOLETE {
1414 // OBSOLETE {
1415 // OBSOLETE SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri)));
1416 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1417 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1418 // OBSOLETE }
1419 // OBSOLETE {
1420 // OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
1421 // OBSOLETE CPU (h_nbit) = opval;
1422 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1423 // OBSOLETE }
1424 // OBSOLETE {
1425 // OBSOLETE BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
1426 // OBSOLETE CPU (h_zbit) = opval;
1427 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1428 // OBSOLETE }
1429 // OBSOLETE }
1430 // OBSOLETE
1431 // OBSOLETE return vpc;
1432 // OBSOLETE #undef FLD
1433 // OBSOLETE }
1434 // OBSOLETE
1435 // OBSOLETE /* muluh: muluh $Rj,$Ri */
1436 // OBSOLETE
1437 // OBSOLETE static SEM_PC
1438 // OBSOLETE SEM_FN_NAME (fr30bf,muluh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1439 // OBSOLETE {
1440 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
1441 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1442 // OBSOLETE int UNUSED written = 0;
1443 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1444 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1445 // OBSOLETE
1446 // OBSOLETE {
1447 // OBSOLETE {
1448 // OBSOLETE SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535));
1449 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1450 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1451 // OBSOLETE }
1452 // OBSOLETE {
1453 // OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
1454 // OBSOLETE CPU (h_nbit) = opval;
1455 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1456 // OBSOLETE }
1457 // OBSOLETE {
1458 // OBSOLETE BI opval = GESI (GET_H_DR (((UINT) 5)), 0);
1459 // OBSOLETE CPU (h_zbit) = opval;
1460 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1461 // OBSOLETE }
1462 // OBSOLETE }
1463 // OBSOLETE
1464 // OBSOLETE return vpc;
1465 // OBSOLETE #undef FLD
1466 // OBSOLETE }
1467 // OBSOLETE
1468 // OBSOLETE /* div0s: div0s $Ri */
1469 // OBSOLETE
1470 // OBSOLETE static SEM_PC
1471 // OBSOLETE SEM_FN_NAME (fr30bf,div0s) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1472 // OBSOLETE {
1473 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
1474 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1475 // OBSOLETE int UNUSED written = 0;
1476 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1477 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1478 // OBSOLETE
1479 // OBSOLETE {
1480 // OBSOLETE {
1481 // OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0);
1482 // OBSOLETE CPU (h_d0bit) = opval;
1483 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
1484 // OBSOLETE }
1485 // OBSOLETE {
1486 // OBSOLETE BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0));
1487 // OBSOLETE CPU (h_d1bit) = opval;
1488 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
1489 // OBSOLETE }
1490 // OBSOLETE if (NEBI (CPU (h_d0bit), 0)) {
1491 // OBSOLETE {
1492 // OBSOLETE SI opval = 0xffffffff;
1493 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1494 // OBSOLETE written |= (1 << 5);
1495 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1496 // OBSOLETE }
1497 // OBSOLETE } else {
1498 // OBSOLETE {
1499 // OBSOLETE SI opval = 0;
1500 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1501 // OBSOLETE written |= (1 << 5);
1502 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1503 // OBSOLETE }
1504 // OBSOLETE }
1505 // OBSOLETE }
1506 // OBSOLETE
1507 // OBSOLETE abuf->written = written;
1508 // OBSOLETE return vpc;
1509 // OBSOLETE #undef FLD
1510 // OBSOLETE }
1511 // OBSOLETE
1512 // OBSOLETE /* div0u: div0u $Ri */
1513 // OBSOLETE
1514 // OBSOLETE static SEM_PC
1515 // OBSOLETE SEM_FN_NAME (fr30bf,div0u) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1516 // OBSOLETE {
1517 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
1518 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1519 // OBSOLETE int UNUSED written = 0;
1520 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1521 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1522 // OBSOLETE
1523 // OBSOLETE {
1524 // OBSOLETE {
1525 // OBSOLETE BI opval = 0;
1526 // OBSOLETE CPU (h_d0bit) = opval;
1527 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval);
1528 // OBSOLETE }
1529 // OBSOLETE {
1530 // OBSOLETE BI opval = 0;
1531 // OBSOLETE CPU (h_d1bit) = opval;
1532 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval);
1533 // OBSOLETE }
1534 // OBSOLETE {
1535 // OBSOLETE SI opval = 0;
1536 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1537 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1538 // OBSOLETE }
1539 // OBSOLETE }
1540 // OBSOLETE
1541 // OBSOLETE return vpc;
1542 // OBSOLETE #undef FLD
1543 // OBSOLETE }
1544 // OBSOLETE
1545 // OBSOLETE /* div1: div1 $Ri */
1546 // OBSOLETE
1547 // OBSOLETE static SEM_PC
1548 // OBSOLETE SEM_FN_NAME (fr30bf,div1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1549 // OBSOLETE {
1550 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
1551 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1552 // OBSOLETE int UNUSED written = 0;
1553 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1554 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1555 // OBSOLETE
1556 // OBSOLETE {
1557 // OBSOLETE SI tmp_tmp;
1558 // OBSOLETE {
1559 // OBSOLETE SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1);
1560 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1561 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1562 // OBSOLETE }
1563 // OBSOLETE if (LTSI (GET_H_DR (((UINT) 5)), 0)) {
1564 // OBSOLETE {
1565 // OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1);
1566 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1567 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1568 // OBSOLETE }
1569 // OBSOLETE }
1570 // OBSOLETE {
1571 // OBSOLETE SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1);
1572 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1573 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1574 // OBSOLETE }
1575 // OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
1576 // OBSOLETE {
1577 // OBSOLETE tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
1578 // OBSOLETE {
1579 // OBSOLETE BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
1580 // OBSOLETE CPU (h_cbit) = opval;
1581 // OBSOLETE written |= (1 << 6);
1582 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1583 // OBSOLETE }
1584 // OBSOLETE }
1585 // OBSOLETE } else {
1586 // OBSOLETE {
1587 // OBSOLETE tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
1588 // OBSOLETE {
1589 // OBSOLETE BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
1590 // OBSOLETE CPU (h_cbit) = opval;
1591 // OBSOLETE written |= (1 << 6);
1592 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1593 // OBSOLETE }
1594 // OBSOLETE }
1595 // OBSOLETE }
1596 // OBSOLETE if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) {
1597 // OBSOLETE {
1598 // OBSOLETE {
1599 // OBSOLETE SI opval = tmp_tmp;
1600 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1601 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1602 // OBSOLETE }
1603 // OBSOLETE {
1604 // OBSOLETE SI opval = ORSI (GET_H_DR (((UINT) 5)), 1);
1605 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1606 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1607 // OBSOLETE }
1608 // OBSOLETE }
1609 // OBSOLETE }
1610 // OBSOLETE {
1611 // OBSOLETE BI opval = EQSI (GET_H_DR (((UINT) 4)), 0);
1612 // OBSOLETE CPU (h_zbit) = opval;
1613 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1614 // OBSOLETE }
1615 // OBSOLETE }
1616 // OBSOLETE
1617 // OBSOLETE abuf->written = written;
1618 // OBSOLETE return vpc;
1619 // OBSOLETE #undef FLD
1620 // OBSOLETE }
1621 // OBSOLETE
1622 // OBSOLETE /* div2: div2 $Ri */
1623 // OBSOLETE
1624 // OBSOLETE static SEM_PC
1625 // OBSOLETE SEM_FN_NAME (fr30bf,div2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1626 // OBSOLETE {
1627 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
1628 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1629 // OBSOLETE int UNUSED written = 0;
1630 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1631 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1632 // OBSOLETE
1633 // OBSOLETE {
1634 // OBSOLETE SI tmp_tmp;
1635 // OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
1636 // OBSOLETE {
1637 // OBSOLETE tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
1638 // OBSOLETE {
1639 // OBSOLETE BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
1640 // OBSOLETE CPU (h_cbit) = opval;
1641 // OBSOLETE written |= (1 << 3);
1642 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1643 // OBSOLETE }
1644 // OBSOLETE }
1645 // OBSOLETE } else {
1646 // OBSOLETE {
1647 // OBSOLETE tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri));
1648 // OBSOLETE {
1649 // OBSOLETE BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0);
1650 // OBSOLETE CPU (h_cbit) = opval;
1651 // OBSOLETE written |= (1 << 3);
1652 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1653 // OBSOLETE }
1654 // OBSOLETE }
1655 // OBSOLETE }
1656 // OBSOLETE if (EQSI (tmp_tmp, 0)) {
1657 // OBSOLETE {
1658 // OBSOLETE {
1659 // OBSOLETE BI opval = 1;
1660 // OBSOLETE CPU (h_zbit) = opval;
1661 // OBSOLETE written |= (1 << 5);
1662 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1663 // OBSOLETE }
1664 // OBSOLETE {
1665 // OBSOLETE SI opval = 0;
1666 // OBSOLETE SET_H_DR (((UINT) 4), opval);
1667 // OBSOLETE written |= (1 << 4);
1668 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1669 // OBSOLETE }
1670 // OBSOLETE }
1671 // OBSOLETE } else {
1672 // OBSOLETE {
1673 // OBSOLETE BI opval = 0;
1674 // OBSOLETE CPU (h_zbit) = opval;
1675 // OBSOLETE written |= (1 << 5);
1676 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1677 // OBSOLETE }
1678 // OBSOLETE }
1679 // OBSOLETE }
1680 // OBSOLETE
1681 // OBSOLETE abuf->written = written;
1682 // OBSOLETE return vpc;
1683 // OBSOLETE #undef FLD
1684 // OBSOLETE }
1685 // OBSOLETE
1686 // OBSOLETE /* div3: div3 */
1687 // OBSOLETE
1688 // OBSOLETE static SEM_PC
1689 // OBSOLETE SEM_FN_NAME (fr30bf,div3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1690 // OBSOLETE {
1691 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
1692 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1693 // OBSOLETE int UNUSED written = 0;
1694 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1695 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1696 // OBSOLETE
1697 // OBSOLETE if (EQBI (CPU (h_zbit), 1)) {
1698 // OBSOLETE {
1699 // OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1);
1700 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1701 // OBSOLETE written |= (1 << 2);
1702 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1703 // OBSOLETE }
1704 // OBSOLETE }
1705 // OBSOLETE
1706 // OBSOLETE abuf->written = written;
1707 // OBSOLETE return vpc;
1708 // OBSOLETE #undef FLD
1709 // OBSOLETE }
1710 // OBSOLETE
1711 // OBSOLETE /* div4s: div4s */
1712 // OBSOLETE
1713 // OBSOLETE static SEM_PC
1714 // OBSOLETE SEM_FN_NAME (fr30bf,div4s) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1715 // OBSOLETE {
1716 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
1717 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1718 // OBSOLETE int UNUSED written = 0;
1719 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1720 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1721 // OBSOLETE
1722 // OBSOLETE if (EQBI (CPU (h_d1bit), 1)) {
1723 // OBSOLETE {
1724 // OBSOLETE SI opval = NEGSI (GET_H_DR (((UINT) 5)));
1725 // OBSOLETE SET_H_DR (((UINT) 5), opval);
1726 // OBSOLETE written |= (1 << 2);
1727 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
1728 // OBSOLETE }
1729 // OBSOLETE }
1730 // OBSOLETE
1731 // OBSOLETE abuf->written = written;
1732 // OBSOLETE return vpc;
1733 // OBSOLETE #undef FLD
1734 // OBSOLETE }
1735 // OBSOLETE
1736 // OBSOLETE /* lsl: lsl $Rj,$Ri */
1737 // OBSOLETE
1738 // OBSOLETE static SEM_PC
1739 // OBSOLETE SEM_FN_NAME (fr30bf,lsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1740 // OBSOLETE {
1741 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
1742 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1743 // OBSOLETE int UNUSED written = 0;
1744 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1745 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1746 // OBSOLETE
1747 // OBSOLETE {
1748 // OBSOLETE SI tmp_shift;
1749 // OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31);
1750 // OBSOLETE if (NESI (tmp_shift, 0)) {
1751 // OBSOLETE {
1752 // OBSOLETE {
1753 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
1754 // OBSOLETE CPU (h_cbit) = opval;
1755 // OBSOLETE written |= (1 << 3);
1756 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1757 // OBSOLETE }
1758 // OBSOLETE {
1759 // OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
1760 // OBSOLETE * FLD (i_Ri) = opval;
1761 // OBSOLETE written |= (1 << 2);
1762 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
1763 // OBSOLETE }
1764 // OBSOLETE }
1765 // OBSOLETE } else {
1766 // OBSOLETE {
1767 // OBSOLETE BI opval = 0;
1768 // OBSOLETE CPU (h_cbit) = opval;
1769 // OBSOLETE written |= (1 << 3);
1770 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1771 // OBSOLETE }
1772 // OBSOLETE }
1773 // OBSOLETE {
1774 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
1775 // OBSOLETE CPU (h_nbit) = opval;
1776 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1777 // OBSOLETE }
1778 // OBSOLETE {
1779 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
1780 // OBSOLETE CPU (h_zbit) = opval;
1781 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1782 // OBSOLETE }
1783 // OBSOLETE }
1784 // OBSOLETE
1785 // OBSOLETE abuf->written = written;
1786 // OBSOLETE return vpc;
1787 // OBSOLETE #undef FLD
1788 // OBSOLETE }
1789 // OBSOLETE
1790 // OBSOLETE /* lsli: lsl $u4,$Ri */
1791 // OBSOLETE
1792 // OBSOLETE static SEM_PC
1793 // OBSOLETE SEM_FN_NAME (fr30bf,lsli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1794 // OBSOLETE {
1795 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1796 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1797 // OBSOLETE int UNUSED written = 0;
1798 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1799 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1800 // OBSOLETE
1801 // OBSOLETE {
1802 // OBSOLETE SI tmp_shift;
1803 // OBSOLETE tmp_shift = FLD (f_u4);
1804 // OBSOLETE if (NESI (tmp_shift, 0)) {
1805 // OBSOLETE {
1806 // OBSOLETE {
1807 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
1808 // OBSOLETE CPU (h_cbit) = opval;
1809 // OBSOLETE written |= (1 << 3);
1810 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1811 // OBSOLETE }
1812 // OBSOLETE {
1813 // OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
1814 // OBSOLETE * FLD (i_Ri) = opval;
1815 // OBSOLETE written |= (1 << 2);
1816 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
1817 // OBSOLETE }
1818 // OBSOLETE }
1819 // OBSOLETE } else {
1820 // OBSOLETE {
1821 // OBSOLETE BI opval = 0;
1822 // OBSOLETE CPU (h_cbit) = opval;
1823 // OBSOLETE written |= (1 << 3);
1824 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1825 // OBSOLETE }
1826 // OBSOLETE }
1827 // OBSOLETE {
1828 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
1829 // OBSOLETE CPU (h_nbit) = opval;
1830 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1831 // OBSOLETE }
1832 // OBSOLETE {
1833 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
1834 // OBSOLETE CPU (h_zbit) = opval;
1835 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1836 // OBSOLETE }
1837 // OBSOLETE }
1838 // OBSOLETE
1839 // OBSOLETE abuf->written = written;
1840 // OBSOLETE return vpc;
1841 // OBSOLETE #undef FLD
1842 // OBSOLETE }
1843 // OBSOLETE
1844 // OBSOLETE /* lsl2: lsl2 $u4,$Ri */
1845 // OBSOLETE
1846 // OBSOLETE static SEM_PC
1847 // OBSOLETE SEM_FN_NAME (fr30bf,lsl2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1848 // OBSOLETE {
1849 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1850 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1851 // OBSOLETE int UNUSED written = 0;
1852 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1853 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1854 // OBSOLETE
1855 // OBSOLETE {
1856 // OBSOLETE SI tmp_shift;
1857 // OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16);
1858 // OBSOLETE if (NESI (tmp_shift, 0)) {
1859 // OBSOLETE {
1860 // OBSOLETE {
1861 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0);
1862 // OBSOLETE CPU (h_cbit) = opval;
1863 // OBSOLETE written |= (1 << 3);
1864 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1865 // OBSOLETE }
1866 // OBSOLETE {
1867 // OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift);
1868 // OBSOLETE * FLD (i_Ri) = opval;
1869 // OBSOLETE written |= (1 << 2);
1870 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
1871 // OBSOLETE }
1872 // OBSOLETE }
1873 // OBSOLETE } else {
1874 // OBSOLETE {
1875 // OBSOLETE BI opval = 0;
1876 // OBSOLETE CPU (h_cbit) = opval;
1877 // OBSOLETE written |= (1 << 3);
1878 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1879 // OBSOLETE }
1880 // OBSOLETE }
1881 // OBSOLETE {
1882 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
1883 // OBSOLETE CPU (h_nbit) = opval;
1884 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1885 // OBSOLETE }
1886 // OBSOLETE {
1887 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
1888 // OBSOLETE CPU (h_zbit) = opval;
1889 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1890 // OBSOLETE }
1891 // OBSOLETE }
1892 // OBSOLETE
1893 // OBSOLETE abuf->written = written;
1894 // OBSOLETE return vpc;
1895 // OBSOLETE #undef FLD
1896 // OBSOLETE }
1897 // OBSOLETE
1898 // OBSOLETE /* lsr: lsr $Rj,$Ri */
1899 // OBSOLETE
1900 // OBSOLETE static SEM_PC
1901 // OBSOLETE SEM_FN_NAME (fr30bf,lsr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1902 // OBSOLETE {
1903 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
1904 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1905 // OBSOLETE int UNUSED written = 0;
1906 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1907 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1908 // OBSOLETE
1909 // OBSOLETE {
1910 // OBSOLETE SI tmp_shift;
1911 // OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31);
1912 // OBSOLETE if (NESI (tmp_shift, 0)) {
1913 // OBSOLETE {
1914 // OBSOLETE {
1915 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
1916 // OBSOLETE CPU (h_cbit) = opval;
1917 // OBSOLETE written |= (1 << 3);
1918 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1919 // OBSOLETE }
1920 // OBSOLETE {
1921 // OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
1922 // OBSOLETE * FLD (i_Ri) = opval;
1923 // OBSOLETE written |= (1 << 2);
1924 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
1925 // OBSOLETE }
1926 // OBSOLETE }
1927 // OBSOLETE } else {
1928 // OBSOLETE {
1929 // OBSOLETE BI opval = 0;
1930 // OBSOLETE CPU (h_cbit) = opval;
1931 // OBSOLETE written |= (1 << 3);
1932 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1933 // OBSOLETE }
1934 // OBSOLETE }
1935 // OBSOLETE {
1936 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
1937 // OBSOLETE CPU (h_nbit) = opval;
1938 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1939 // OBSOLETE }
1940 // OBSOLETE {
1941 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
1942 // OBSOLETE CPU (h_zbit) = opval;
1943 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1944 // OBSOLETE }
1945 // OBSOLETE }
1946 // OBSOLETE
1947 // OBSOLETE abuf->written = written;
1948 // OBSOLETE return vpc;
1949 // OBSOLETE #undef FLD
1950 // OBSOLETE }
1951 // OBSOLETE
1952 // OBSOLETE /* lsri: lsr $u4,$Ri */
1953 // OBSOLETE
1954 // OBSOLETE static SEM_PC
1955 // OBSOLETE SEM_FN_NAME (fr30bf,lsri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
1956 // OBSOLETE {
1957 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
1958 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
1959 // OBSOLETE int UNUSED written = 0;
1960 // OBSOLETE IADDR UNUSED pc = abuf->addr;
1961 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
1962 // OBSOLETE
1963 // OBSOLETE {
1964 // OBSOLETE SI tmp_shift;
1965 // OBSOLETE tmp_shift = FLD (f_u4);
1966 // OBSOLETE if (NESI (tmp_shift, 0)) {
1967 // OBSOLETE {
1968 // OBSOLETE {
1969 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
1970 // OBSOLETE CPU (h_cbit) = opval;
1971 // OBSOLETE written |= (1 << 3);
1972 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1973 // OBSOLETE }
1974 // OBSOLETE {
1975 // OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
1976 // OBSOLETE * FLD (i_Ri) = opval;
1977 // OBSOLETE written |= (1 << 2);
1978 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
1979 // OBSOLETE }
1980 // OBSOLETE }
1981 // OBSOLETE } else {
1982 // OBSOLETE {
1983 // OBSOLETE BI opval = 0;
1984 // OBSOLETE CPU (h_cbit) = opval;
1985 // OBSOLETE written |= (1 << 3);
1986 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
1987 // OBSOLETE }
1988 // OBSOLETE }
1989 // OBSOLETE {
1990 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
1991 // OBSOLETE CPU (h_nbit) = opval;
1992 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
1993 // OBSOLETE }
1994 // OBSOLETE {
1995 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
1996 // OBSOLETE CPU (h_zbit) = opval;
1997 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
1998 // OBSOLETE }
1999 // OBSOLETE }
2000 // OBSOLETE
2001 // OBSOLETE abuf->written = written;
2002 // OBSOLETE return vpc;
2003 // OBSOLETE #undef FLD
2004 // OBSOLETE }
2005 // OBSOLETE
2006 // OBSOLETE /* lsr2: lsr2 $u4,$Ri */
2007 // OBSOLETE
2008 // OBSOLETE static SEM_PC
2009 // OBSOLETE SEM_FN_NAME (fr30bf,lsr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2010 // OBSOLETE {
2011 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
2012 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2013 // OBSOLETE int UNUSED written = 0;
2014 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2015 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2016 // OBSOLETE
2017 // OBSOLETE {
2018 // OBSOLETE SI tmp_shift;
2019 // OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16);
2020 // OBSOLETE if (NESI (tmp_shift, 0)) {
2021 // OBSOLETE {
2022 // OBSOLETE {
2023 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
2024 // OBSOLETE CPU (h_cbit) = opval;
2025 // OBSOLETE written |= (1 << 3);
2026 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2027 // OBSOLETE }
2028 // OBSOLETE {
2029 // OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift);
2030 // OBSOLETE * FLD (i_Ri) = opval;
2031 // OBSOLETE written |= (1 << 2);
2032 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2033 // OBSOLETE }
2034 // OBSOLETE }
2035 // OBSOLETE } else {
2036 // OBSOLETE {
2037 // OBSOLETE BI opval = 0;
2038 // OBSOLETE CPU (h_cbit) = opval;
2039 // OBSOLETE written |= (1 << 3);
2040 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2041 // OBSOLETE }
2042 // OBSOLETE }
2043 // OBSOLETE {
2044 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
2045 // OBSOLETE CPU (h_nbit) = opval;
2046 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
2047 // OBSOLETE }
2048 // OBSOLETE {
2049 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
2050 // OBSOLETE CPU (h_zbit) = opval;
2051 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
2052 // OBSOLETE }
2053 // OBSOLETE }
2054 // OBSOLETE
2055 // OBSOLETE abuf->written = written;
2056 // OBSOLETE return vpc;
2057 // OBSOLETE #undef FLD
2058 // OBSOLETE }
2059 // OBSOLETE
2060 // OBSOLETE /* asr: asr $Rj,$Ri */
2061 // OBSOLETE
2062 // OBSOLETE static SEM_PC
2063 // OBSOLETE SEM_FN_NAME (fr30bf,asr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2064 // OBSOLETE {
2065 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
2066 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2067 // OBSOLETE int UNUSED written = 0;
2068 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2069 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2070 // OBSOLETE
2071 // OBSOLETE {
2072 // OBSOLETE SI tmp_shift;
2073 // OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31);
2074 // OBSOLETE if (NESI (tmp_shift, 0)) {
2075 // OBSOLETE {
2076 // OBSOLETE {
2077 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
2078 // OBSOLETE CPU (h_cbit) = opval;
2079 // OBSOLETE written |= (1 << 3);
2080 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2081 // OBSOLETE }
2082 // OBSOLETE {
2083 // OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift);
2084 // OBSOLETE * FLD (i_Ri) = opval;
2085 // OBSOLETE written |= (1 << 2);
2086 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2087 // OBSOLETE }
2088 // OBSOLETE }
2089 // OBSOLETE } else {
2090 // OBSOLETE {
2091 // OBSOLETE BI opval = 0;
2092 // OBSOLETE CPU (h_cbit) = opval;
2093 // OBSOLETE written |= (1 << 3);
2094 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2095 // OBSOLETE }
2096 // OBSOLETE }
2097 // OBSOLETE {
2098 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
2099 // OBSOLETE CPU (h_nbit) = opval;
2100 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
2101 // OBSOLETE }
2102 // OBSOLETE {
2103 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
2104 // OBSOLETE CPU (h_zbit) = opval;
2105 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
2106 // OBSOLETE }
2107 // OBSOLETE }
2108 // OBSOLETE
2109 // OBSOLETE abuf->written = written;
2110 // OBSOLETE return vpc;
2111 // OBSOLETE #undef FLD
2112 // OBSOLETE }
2113 // OBSOLETE
2114 // OBSOLETE /* asri: asr $u4,$Ri */
2115 // OBSOLETE
2116 // OBSOLETE static SEM_PC
2117 // OBSOLETE SEM_FN_NAME (fr30bf,asri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2118 // OBSOLETE {
2119 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
2120 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2121 // OBSOLETE int UNUSED written = 0;
2122 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2123 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2124 // OBSOLETE
2125 // OBSOLETE {
2126 // OBSOLETE SI tmp_shift;
2127 // OBSOLETE tmp_shift = FLD (f_u4);
2128 // OBSOLETE if (NESI (tmp_shift, 0)) {
2129 // OBSOLETE {
2130 // OBSOLETE {
2131 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
2132 // OBSOLETE CPU (h_cbit) = opval;
2133 // OBSOLETE written |= (1 << 3);
2134 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2135 // OBSOLETE }
2136 // OBSOLETE {
2137 // OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift);
2138 // OBSOLETE * FLD (i_Ri) = opval;
2139 // OBSOLETE written |= (1 << 2);
2140 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2141 // OBSOLETE }
2142 // OBSOLETE }
2143 // OBSOLETE } else {
2144 // OBSOLETE {
2145 // OBSOLETE BI opval = 0;
2146 // OBSOLETE CPU (h_cbit) = opval;
2147 // OBSOLETE written |= (1 << 3);
2148 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2149 // OBSOLETE }
2150 // OBSOLETE }
2151 // OBSOLETE {
2152 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
2153 // OBSOLETE CPU (h_nbit) = opval;
2154 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
2155 // OBSOLETE }
2156 // OBSOLETE {
2157 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
2158 // OBSOLETE CPU (h_zbit) = opval;
2159 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
2160 // OBSOLETE }
2161 // OBSOLETE }
2162 // OBSOLETE
2163 // OBSOLETE abuf->written = written;
2164 // OBSOLETE return vpc;
2165 // OBSOLETE #undef FLD
2166 // OBSOLETE }
2167 // OBSOLETE
2168 // OBSOLETE /* asr2: asr2 $u4,$Ri */
2169 // OBSOLETE
2170 // OBSOLETE static SEM_PC
2171 // OBSOLETE SEM_FN_NAME (fr30bf,asr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2172 // OBSOLETE {
2173 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f
2174 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2175 // OBSOLETE int UNUSED written = 0;
2176 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2177 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2178 // OBSOLETE
2179 // OBSOLETE {
2180 // OBSOLETE SI tmp_shift;
2181 // OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16);
2182 // OBSOLETE if (NESI (tmp_shift, 0)) {
2183 // OBSOLETE {
2184 // OBSOLETE {
2185 // OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0);
2186 // OBSOLETE CPU (h_cbit) = opval;
2187 // OBSOLETE written |= (1 << 3);
2188 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2189 // OBSOLETE }
2190 // OBSOLETE {
2191 // OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift);
2192 // OBSOLETE * FLD (i_Ri) = opval;
2193 // OBSOLETE written |= (1 << 2);
2194 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2195 // OBSOLETE }
2196 // OBSOLETE }
2197 // OBSOLETE } else {
2198 // OBSOLETE {
2199 // OBSOLETE BI opval = 0;
2200 // OBSOLETE CPU (h_cbit) = opval;
2201 // OBSOLETE written |= (1 << 3);
2202 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
2203 // OBSOLETE }
2204 // OBSOLETE }
2205 // OBSOLETE {
2206 // OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0);
2207 // OBSOLETE CPU (h_nbit) = opval;
2208 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
2209 // OBSOLETE }
2210 // OBSOLETE {
2211 // OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0);
2212 // OBSOLETE CPU (h_zbit) = opval;
2213 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
2214 // OBSOLETE }
2215 // OBSOLETE }
2216 // OBSOLETE
2217 // OBSOLETE abuf->written = written;
2218 // OBSOLETE return vpc;
2219 // OBSOLETE #undef FLD
2220 // OBSOLETE }
2221 // OBSOLETE
2222 // OBSOLETE /* ldi8: ldi:8 $i8,$Ri */
2223 // OBSOLETE
2224 // OBSOLETE static SEM_PC
2225 // OBSOLETE SEM_FN_NAME (fr30bf,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2226 // OBSOLETE {
2227 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f
2228 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2229 // OBSOLETE int UNUSED written = 0;
2230 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2231 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2232 // OBSOLETE
2233 // OBSOLETE {
2234 // OBSOLETE SI opval = FLD (f_i8);
2235 // OBSOLETE * FLD (i_Ri) = opval;
2236 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2237 // OBSOLETE }
2238 // OBSOLETE
2239 // OBSOLETE return vpc;
2240 // OBSOLETE #undef FLD
2241 // OBSOLETE }
2242 // OBSOLETE
2243 // OBSOLETE /* ldi20: ldi:20 $i20,$Ri */
2244 // OBSOLETE
2245 // OBSOLETE static SEM_PC
2246 // OBSOLETE SEM_FN_NAME (fr30bf,ldi20) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2247 // OBSOLETE {
2248 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f
2249 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2250 // OBSOLETE int UNUSED written = 0;
2251 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2252 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
2253 // OBSOLETE
2254 // OBSOLETE {
2255 // OBSOLETE SI opval = FLD (f_i20);
2256 // OBSOLETE * FLD (i_Ri) = opval;
2257 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2258 // OBSOLETE }
2259 // OBSOLETE
2260 // OBSOLETE return vpc;
2261 // OBSOLETE #undef FLD
2262 // OBSOLETE }
2263 // OBSOLETE
2264 // OBSOLETE /* ldi32: ldi:32 $i32,$Ri */
2265 // OBSOLETE
2266 // OBSOLETE static SEM_PC
2267 // OBSOLETE SEM_FN_NAME (fr30bf,ldi32) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2268 // OBSOLETE {
2269 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f
2270 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2271 // OBSOLETE int UNUSED written = 0;
2272 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2273 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 6);
2274 // OBSOLETE
2275 // OBSOLETE {
2276 // OBSOLETE SI opval = FLD (f_i32);
2277 // OBSOLETE * FLD (i_Ri) = opval;
2278 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2279 // OBSOLETE }
2280 // OBSOLETE
2281 // OBSOLETE return vpc;
2282 // OBSOLETE #undef FLD
2283 // OBSOLETE }
2284 // OBSOLETE
2285 // OBSOLETE /* ld: ld @$Rj,$Ri */
2286 // OBSOLETE
2287 // OBSOLETE static SEM_PC
2288 // OBSOLETE SEM_FN_NAME (fr30bf,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2289 // OBSOLETE {
2290 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2291 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2292 // OBSOLETE int UNUSED written = 0;
2293 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2294 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2295 // OBSOLETE
2296 // OBSOLETE {
2297 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj));
2298 // OBSOLETE * FLD (i_Ri) = opval;
2299 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2300 // OBSOLETE }
2301 // OBSOLETE
2302 // OBSOLETE return vpc;
2303 // OBSOLETE #undef FLD
2304 // OBSOLETE }
2305 // OBSOLETE
2306 // OBSOLETE /* lduh: lduh @$Rj,$Ri */
2307 // OBSOLETE
2308 // OBSOLETE static SEM_PC
2309 // OBSOLETE SEM_FN_NAME (fr30bf,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2310 // OBSOLETE {
2311 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2312 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2313 // OBSOLETE int UNUSED written = 0;
2314 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2315 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2316 // OBSOLETE
2317 // OBSOLETE {
2318 // OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj));
2319 // OBSOLETE * FLD (i_Ri) = opval;
2320 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2321 // OBSOLETE }
2322 // OBSOLETE
2323 // OBSOLETE return vpc;
2324 // OBSOLETE #undef FLD
2325 // OBSOLETE }
2326 // OBSOLETE
2327 // OBSOLETE /* ldub: ldub @$Rj,$Ri */
2328 // OBSOLETE
2329 // OBSOLETE static SEM_PC
2330 // OBSOLETE SEM_FN_NAME (fr30bf,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2331 // OBSOLETE {
2332 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2333 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2334 // OBSOLETE int UNUSED written = 0;
2335 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2336 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2337 // OBSOLETE
2338 // OBSOLETE {
2339 // OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
2340 // OBSOLETE * FLD (i_Ri) = opval;
2341 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2342 // OBSOLETE }
2343 // OBSOLETE
2344 // OBSOLETE return vpc;
2345 // OBSOLETE #undef FLD
2346 // OBSOLETE }
2347 // OBSOLETE
2348 // OBSOLETE /* ldr13: ld @($R13,$Rj),$Ri */
2349 // OBSOLETE
2350 // OBSOLETE static SEM_PC
2351 // OBSOLETE SEM_FN_NAME (fr30bf,ldr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2352 // OBSOLETE {
2353 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2354 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2355 // OBSOLETE int UNUSED written = 0;
2356 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2357 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2358 // OBSOLETE
2359 // OBSOLETE {
2360 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
2361 // OBSOLETE * FLD (i_Ri) = opval;
2362 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2363 // OBSOLETE }
2364 // OBSOLETE
2365 // OBSOLETE return vpc;
2366 // OBSOLETE #undef FLD
2367 // OBSOLETE }
2368 // OBSOLETE
2369 // OBSOLETE /* ldr13uh: lduh @($R13,$Rj),$Ri */
2370 // OBSOLETE
2371 // OBSOLETE static SEM_PC
2372 // OBSOLETE SEM_FN_NAME (fr30bf,ldr13uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2373 // OBSOLETE {
2374 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2375 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2376 // OBSOLETE int UNUSED written = 0;
2377 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2378 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2379 // OBSOLETE
2380 // OBSOLETE {
2381 // OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
2382 // OBSOLETE * FLD (i_Ri) = opval;
2383 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2384 // OBSOLETE }
2385 // OBSOLETE
2386 // OBSOLETE return vpc;
2387 // OBSOLETE #undef FLD
2388 // OBSOLETE }
2389 // OBSOLETE
2390 // OBSOLETE /* ldr13ub: ldub @($R13,$Rj),$Ri */
2391 // OBSOLETE
2392 // OBSOLETE static SEM_PC
2393 // OBSOLETE SEM_FN_NAME (fr30bf,ldr13ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2394 // OBSOLETE {
2395 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2396 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2397 // OBSOLETE int UNUSED written = 0;
2398 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2399 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2400 // OBSOLETE
2401 // OBSOLETE {
2402 // OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])));
2403 // OBSOLETE * FLD (i_Ri) = opval;
2404 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2405 // OBSOLETE }
2406 // OBSOLETE
2407 // OBSOLETE return vpc;
2408 // OBSOLETE #undef FLD
2409 // OBSOLETE }
2410 // OBSOLETE
2411 // OBSOLETE /* ldr14: ld @($R14,$disp10),$Ri */
2412 // OBSOLETE
2413 // OBSOLETE static SEM_PC
2414 // OBSOLETE SEM_FN_NAME (fr30bf,ldr14) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2415 // OBSOLETE {
2416 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f
2417 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2418 // OBSOLETE int UNUSED written = 0;
2419 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2420 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2421 // OBSOLETE
2422 // OBSOLETE {
2423 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])));
2424 // OBSOLETE * FLD (i_Ri) = opval;
2425 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2426 // OBSOLETE }
2427 // OBSOLETE
2428 // OBSOLETE return vpc;
2429 // OBSOLETE #undef FLD
2430 // OBSOLETE }
2431 // OBSOLETE
2432 // OBSOLETE /* ldr14uh: lduh @($R14,$disp9),$Ri */
2433 // OBSOLETE
2434 // OBSOLETE static SEM_PC
2435 // OBSOLETE SEM_FN_NAME (fr30bf,ldr14uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2436 // OBSOLETE {
2437 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f
2438 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2439 // OBSOLETE int UNUSED written = 0;
2440 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2441 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2442 // OBSOLETE
2443 // OBSOLETE {
2444 // OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])));
2445 // OBSOLETE * FLD (i_Ri) = opval;
2446 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2447 // OBSOLETE }
2448 // OBSOLETE
2449 // OBSOLETE return vpc;
2450 // OBSOLETE #undef FLD
2451 // OBSOLETE }
2452 // OBSOLETE
2453 // OBSOLETE /* ldr14ub: ldub @($R14,$disp8),$Ri */
2454 // OBSOLETE
2455 // OBSOLETE static SEM_PC
2456 // OBSOLETE SEM_FN_NAME (fr30bf,ldr14ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2457 // OBSOLETE {
2458 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f
2459 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2460 // OBSOLETE int UNUSED written = 0;
2461 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2462 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2463 // OBSOLETE
2464 // OBSOLETE {
2465 // OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])));
2466 // OBSOLETE * FLD (i_Ri) = opval;
2467 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2468 // OBSOLETE }
2469 // OBSOLETE
2470 // OBSOLETE return vpc;
2471 // OBSOLETE #undef FLD
2472 // OBSOLETE }
2473 // OBSOLETE
2474 // OBSOLETE /* ldr15: ld @($R15,$udisp6),$Ri */
2475 // OBSOLETE
2476 // OBSOLETE static SEM_PC
2477 // OBSOLETE SEM_FN_NAME (fr30bf,ldr15) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2478 // OBSOLETE {
2479 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f
2480 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2481 // OBSOLETE int UNUSED written = 0;
2482 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2483 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2484 // OBSOLETE
2485 // OBSOLETE {
2486 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)])));
2487 // OBSOLETE * FLD (i_Ri) = opval;
2488 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2489 // OBSOLETE }
2490 // OBSOLETE
2491 // OBSOLETE return vpc;
2492 // OBSOLETE #undef FLD
2493 // OBSOLETE }
2494 // OBSOLETE
2495 // OBSOLETE /* ldr15gr: ld @$R15+,$Ri */
2496 // OBSOLETE
2497 // OBSOLETE static SEM_PC
2498 // OBSOLETE SEM_FN_NAME (fr30bf,ldr15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2499 // OBSOLETE {
2500 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f
2501 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2502 // OBSOLETE int UNUSED written = 0;
2503 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2504 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2505 // OBSOLETE
2506 // OBSOLETE {
2507 // OBSOLETE {
2508 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
2509 // OBSOLETE * FLD (i_Ri) = opval;
2510 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2511 // OBSOLETE }
2512 // OBSOLETE if (NESI (FLD (f_Ri), 15)) {
2513 // OBSOLETE {
2514 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
2515 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
2516 // OBSOLETE written |= (1 << 4);
2517 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2518 // OBSOLETE }
2519 // OBSOLETE }
2520 // OBSOLETE }
2521 // OBSOLETE
2522 // OBSOLETE abuf->written = written;
2523 // OBSOLETE return vpc;
2524 // OBSOLETE #undef FLD
2525 // OBSOLETE }
2526 // OBSOLETE
2527 // OBSOLETE /* ldr15dr: ld @$R15+,$Rs2 */
2528 // OBSOLETE
2529 // OBSOLETE static SEM_PC
2530 // OBSOLETE SEM_FN_NAME (fr30bf,ldr15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2531 // OBSOLETE {
2532 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
2533 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2534 // OBSOLETE int UNUSED written = 0;
2535 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2536 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2537 // OBSOLETE
2538 // OBSOLETE {
2539 // OBSOLETE SI tmp_tmp;
2540 // OBSOLETE tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
2541 // OBSOLETE {
2542 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
2543 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
2544 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2545 // OBSOLETE }
2546 // OBSOLETE {
2547 // OBSOLETE SI opval = tmp_tmp;
2548 // OBSOLETE SET_H_DR (FLD (f_Rs2), opval);
2549 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
2550 // OBSOLETE }
2551 // OBSOLETE }
2552 // OBSOLETE
2553 // OBSOLETE return vpc;
2554 // OBSOLETE #undef FLD
2555 // OBSOLETE }
2556 // OBSOLETE
2557 // OBSOLETE /* ldr15ps: ld @$R15+,$ps */
2558 // OBSOLETE
2559 // OBSOLETE static SEM_PC
2560 // OBSOLETE SEM_FN_NAME (fr30bf,ldr15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2561 // OBSOLETE {
2562 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
2563 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2564 // OBSOLETE int UNUSED written = 0;
2565 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2566 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2567 // OBSOLETE
2568 // OBSOLETE {
2569 // OBSOLETE {
2570 // OBSOLETE USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
2571 // OBSOLETE SET_H_PS (opval);
2572 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
2573 // OBSOLETE }
2574 // OBSOLETE {
2575 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
2576 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
2577 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2578 // OBSOLETE }
2579 // OBSOLETE }
2580 // OBSOLETE
2581 // OBSOLETE return vpc;
2582 // OBSOLETE #undef FLD
2583 // OBSOLETE }
2584 // OBSOLETE
2585 // OBSOLETE /* st: st $Ri,@$Rj */
2586 // OBSOLETE
2587 // OBSOLETE static SEM_PC
2588 // OBSOLETE SEM_FN_NAME (fr30bf,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2589 // OBSOLETE {
2590 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
2591 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2592 // OBSOLETE int UNUSED written = 0;
2593 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2594 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2595 // OBSOLETE
2596 // OBSOLETE {
2597 // OBSOLETE SI opval = * FLD (i_Ri);
2598 // OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval);
2599 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2600 // OBSOLETE }
2601 // OBSOLETE
2602 // OBSOLETE return vpc;
2603 // OBSOLETE #undef FLD
2604 // OBSOLETE }
2605 // OBSOLETE
2606 // OBSOLETE /* sth: sth $Ri,@$Rj */
2607 // OBSOLETE
2608 // OBSOLETE static SEM_PC
2609 // OBSOLETE SEM_FN_NAME (fr30bf,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2610 // OBSOLETE {
2611 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
2612 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2613 // OBSOLETE int UNUSED written = 0;
2614 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2615 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2616 // OBSOLETE
2617 // OBSOLETE {
2618 // OBSOLETE HI opval = * FLD (i_Ri);
2619 // OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval);
2620 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2621 // OBSOLETE }
2622 // OBSOLETE
2623 // OBSOLETE return vpc;
2624 // OBSOLETE #undef FLD
2625 // OBSOLETE }
2626 // OBSOLETE
2627 // OBSOLETE /* stb: stb $Ri,@$Rj */
2628 // OBSOLETE
2629 // OBSOLETE static SEM_PC
2630 // OBSOLETE SEM_FN_NAME (fr30bf,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2631 // OBSOLETE {
2632 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
2633 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2634 // OBSOLETE int UNUSED written = 0;
2635 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2636 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2637 // OBSOLETE
2638 // OBSOLETE {
2639 // OBSOLETE QI opval = * FLD (i_Ri);
2640 // OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval);
2641 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2642 // OBSOLETE }
2643 // OBSOLETE
2644 // OBSOLETE return vpc;
2645 // OBSOLETE #undef FLD
2646 // OBSOLETE }
2647 // OBSOLETE
2648 // OBSOLETE /* str13: st $Ri,@($R13,$Rj) */
2649 // OBSOLETE
2650 // OBSOLETE static SEM_PC
2651 // OBSOLETE SEM_FN_NAME (fr30bf,str13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2652 // OBSOLETE {
2653 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
2654 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2655 // OBSOLETE int UNUSED written = 0;
2656 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2657 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2658 // OBSOLETE
2659 // OBSOLETE {
2660 // OBSOLETE SI opval = * FLD (i_Ri);
2661 // OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
2662 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2663 // OBSOLETE }
2664 // OBSOLETE
2665 // OBSOLETE return vpc;
2666 // OBSOLETE #undef FLD
2667 // OBSOLETE }
2668 // OBSOLETE
2669 // OBSOLETE /* str13h: sth $Ri,@($R13,$Rj) */
2670 // OBSOLETE
2671 // OBSOLETE static SEM_PC
2672 // OBSOLETE SEM_FN_NAME (fr30bf,str13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2673 // OBSOLETE {
2674 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
2675 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2676 // OBSOLETE int UNUSED written = 0;
2677 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2678 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2679 // OBSOLETE
2680 // OBSOLETE {
2681 // OBSOLETE HI opval = * FLD (i_Ri);
2682 // OBSOLETE SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
2683 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2684 // OBSOLETE }
2685 // OBSOLETE
2686 // OBSOLETE return vpc;
2687 // OBSOLETE #undef FLD
2688 // OBSOLETE }
2689 // OBSOLETE
2690 // OBSOLETE /* str13b: stb $Ri,@($R13,$Rj) */
2691 // OBSOLETE
2692 // OBSOLETE static SEM_PC
2693 // OBSOLETE SEM_FN_NAME (fr30bf,str13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2694 // OBSOLETE {
2695 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f
2696 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2697 // OBSOLETE int UNUSED written = 0;
2698 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2699 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2700 // OBSOLETE
2701 // OBSOLETE {
2702 // OBSOLETE QI opval = * FLD (i_Ri);
2703 // OBSOLETE SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval);
2704 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2705 // OBSOLETE }
2706 // OBSOLETE
2707 // OBSOLETE return vpc;
2708 // OBSOLETE #undef FLD
2709 // OBSOLETE }
2710 // OBSOLETE
2711 // OBSOLETE /* str14: st $Ri,@($R14,$disp10) */
2712 // OBSOLETE
2713 // OBSOLETE static SEM_PC
2714 // OBSOLETE SEM_FN_NAME (fr30bf,str14) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2715 // OBSOLETE {
2716 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f
2717 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2718 // OBSOLETE int UNUSED written = 0;
2719 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2720 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2721 // OBSOLETE
2722 // OBSOLETE {
2723 // OBSOLETE SI opval = * FLD (i_Ri);
2724 // OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval);
2725 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2726 // OBSOLETE }
2727 // OBSOLETE
2728 // OBSOLETE return vpc;
2729 // OBSOLETE #undef FLD
2730 // OBSOLETE }
2731 // OBSOLETE
2732 // OBSOLETE /* str14h: sth $Ri,@($R14,$disp9) */
2733 // OBSOLETE
2734 // OBSOLETE static SEM_PC
2735 // OBSOLETE SEM_FN_NAME (fr30bf,str14h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2736 // OBSOLETE {
2737 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f
2738 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2739 // OBSOLETE int UNUSED written = 0;
2740 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2741 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2742 // OBSOLETE
2743 // OBSOLETE {
2744 // OBSOLETE HI opval = * FLD (i_Ri);
2745 // OBSOLETE SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval);
2746 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2747 // OBSOLETE }
2748 // OBSOLETE
2749 // OBSOLETE return vpc;
2750 // OBSOLETE #undef FLD
2751 // OBSOLETE }
2752 // OBSOLETE
2753 // OBSOLETE /* str14b: stb $Ri,@($R14,$disp8) */
2754 // OBSOLETE
2755 // OBSOLETE static SEM_PC
2756 // OBSOLETE SEM_FN_NAME (fr30bf,str14b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2757 // OBSOLETE {
2758 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f
2759 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2760 // OBSOLETE int UNUSED written = 0;
2761 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2762 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2763 // OBSOLETE
2764 // OBSOLETE {
2765 // OBSOLETE QI opval = * FLD (i_Ri);
2766 // OBSOLETE SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval);
2767 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2768 // OBSOLETE }
2769 // OBSOLETE
2770 // OBSOLETE return vpc;
2771 // OBSOLETE #undef FLD
2772 // OBSOLETE }
2773 // OBSOLETE
2774 // OBSOLETE /* str15: st $Ri,@($R15,$udisp6) */
2775 // OBSOLETE
2776 // OBSOLETE static SEM_PC
2777 // OBSOLETE SEM_FN_NAME (fr30bf,str15) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2778 // OBSOLETE {
2779 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f
2780 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2781 // OBSOLETE int UNUSED written = 0;
2782 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2783 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2784 // OBSOLETE
2785 // OBSOLETE {
2786 // OBSOLETE SI opval = * FLD (i_Ri);
2787 // OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval);
2788 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2789 // OBSOLETE }
2790 // OBSOLETE
2791 // OBSOLETE return vpc;
2792 // OBSOLETE #undef FLD
2793 // OBSOLETE }
2794 // OBSOLETE
2795 // OBSOLETE /* str15gr: st $Ri,@-$R15 */
2796 // OBSOLETE
2797 // OBSOLETE static SEM_PC
2798 // OBSOLETE SEM_FN_NAME (fr30bf,str15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2799 // OBSOLETE {
2800 // OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f
2801 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2802 // OBSOLETE int UNUSED written = 0;
2803 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2804 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2805 // OBSOLETE
2806 // OBSOLETE {
2807 // OBSOLETE SI tmp_tmp;
2808 // OBSOLETE tmp_tmp = * FLD (i_Ri);
2809 // OBSOLETE {
2810 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
2811 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
2812 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2813 // OBSOLETE }
2814 // OBSOLETE {
2815 // OBSOLETE SI opval = tmp_tmp;
2816 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
2817 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2818 // OBSOLETE }
2819 // OBSOLETE }
2820 // OBSOLETE
2821 // OBSOLETE return vpc;
2822 // OBSOLETE #undef FLD
2823 // OBSOLETE }
2824 // OBSOLETE
2825 // OBSOLETE /* str15dr: st $Rs2,@-$R15 */
2826 // OBSOLETE
2827 // OBSOLETE static SEM_PC
2828 // OBSOLETE SEM_FN_NAME (fr30bf,str15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2829 // OBSOLETE {
2830 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f
2831 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2832 // OBSOLETE int UNUSED written = 0;
2833 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2834 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2835 // OBSOLETE
2836 // OBSOLETE {
2837 // OBSOLETE SI tmp_tmp;
2838 // OBSOLETE tmp_tmp = GET_H_DR (FLD (f_Rs2));
2839 // OBSOLETE {
2840 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
2841 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
2842 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2843 // OBSOLETE }
2844 // OBSOLETE {
2845 // OBSOLETE SI opval = tmp_tmp;
2846 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
2847 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2848 // OBSOLETE }
2849 // OBSOLETE }
2850 // OBSOLETE
2851 // OBSOLETE return vpc;
2852 // OBSOLETE #undef FLD
2853 // OBSOLETE }
2854 // OBSOLETE
2855 // OBSOLETE /* str15ps: st $ps,@-$R15 */
2856 // OBSOLETE
2857 // OBSOLETE static SEM_PC
2858 // OBSOLETE SEM_FN_NAME (fr30bf,str15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2859 // OBSOLETE {
2860 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
2861 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2862 // OBSOLETE int UNUSED written = 0;
2863 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2864 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2865 // OBSOLETE
2866 // OBSOLETE {
2867 // OBSOLETE {
2868 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
2869 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
2870 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2871 // OBSOLETE }
2872 // OBSOLETE {
2873 // OBSOLETE SI opval = GET_H_PS ();
2874 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
2875 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
2876 // OBSOLETE }
2877 // OBSOLETE }
2878 // OBSOLETE
2879 // OBSOLETE return vpc;
2880 // OBSOLETE #undef FLD
2881 // OBSOLETE }
2882 // OBSOLETE
2883 // OBSOLETE /* mov: mov $Rj,$Ri */
2884 // OBSOLETE
2885 // OBSOLETE static SEM_PC
2886 // OBSOLETE SEM_FN_NAME (fr30bf,mov) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2887 // OBSOLETE {
2888 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f
2889 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2890 // OBSOLETE int UNUSED written = 0;
2891 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2892 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2893 // OBSOLETE
2894 // OBSOLETE {
2895 // OBSOLETE SI opval = * FLD (i_Rj);
2896 // OBSOLETE * FLD (i_Ri) = opval;
2897 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2898 // OBSOLETE }
2899 // OBSOLETE
2900 // OBSOLETE return vpc;
2901 // OBSOLETE #undef FLD
2902 // OBSOLETE }
2903 // OBSOLETE
2904 // OBSOLETE /* movdr: mov $Rs1,$Ri */
2905 // OBSOLETE
2906 // OBSOLETE static SEM_PC
2907 // OBSOLETE SEM_FN_NAME (fr30bf,movdr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2908 // OBSOLETE {
2909 // OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
2910 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2911 // OBSOLETE int UNUSED written = 0;
2912 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2913 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2914 // OBSOLETE
2915 // OBSOLETE {
2916 // OBSOLETE SI opval = GET_H_DR (FLD (f_Rs1));
2917 // OBSOLETE * FLD (i_Ri) = opval;
2918 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2919 // OBSOLETE }
2920 // OBSOLETE
2921 // OBSOLETE return vpc;
2922 // OBSOLETE #undef FLD
2923 // OBSOLETE }
2924 // OBSOLETE
2925 // OBSOLETE /* movps: mov $ps,$Ri */
2926 // OBSOLETE
2927 // OBSOLETE static SEM_PC
2928 // OBSOLETE SEM_FN_NAME (fr30bf,movps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2929 // OBSOLETE {
2930 // OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f
2931 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2932 // OBSOLETE int UNUSED written = 0;
2933 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2934 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2935 // OBSOLETE
2936 // OBSOLETE {
2937 // OBSOLETE SI opval = GET_H_PS ();
2938 // OBSOLETE * FLD (i_Ri) = opval;
2939 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
2940 // OBSOLETE }
2941 // OBSOLETE
2942 // OBSOLETE return vpc;
2943 // OBSOLETE #undef FLD
2944 // OBSOLETE }
2945 // OBSOLETE
2946 // OBSOLETE /* mov2dr: mov $Ri,$Rs1 */
2947 // OBSOLETE
2948 // OBSOLETE static SEM_PC
2949 // OBSOLETE SEM_FN_NAME (fr30bf,mov2dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2950 // OBSOLETE {
2951 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
2952 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2953 // OBSOLETE int UNUSED written = 0;
2954 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2955 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2956 // OBSOLETE
2957 // OBSOLETE {
2958 // OBSOLETE SI opval = * FLD (i_Ri);
2959 // OBSOLETE SET_H_DR (FLD (f_Rs1), opval);
2960 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
2961 // OBSOLETE }
2962 // OBSOLETE
2963 // OBSOLETE return vpc;
2964 // OBSOLETE #undef FLD
2965 // OBSOLETE }
2966 // OBSOLETE
2967 // OBSOLETE /* mov2ps: mov $Ri,$ps */
2968 // OBSOLETE
2969 // OBSOLETE static SEM_PC
2970 // OBSOLETE SEM_FN_NAME (fr30bf,mov2ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2971 // OBSOLETE {
2972 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
2973 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2974 // OBSOLETE int UNUSED written = 0;
2975 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2976 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2977 // OBSOLETE
2978 // OBSOLETE {
2979 // OBSOLETE USI opval = * FLD (i_Ri);
2980 // OBSOLETE SET_H_PS (opval);
2981 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
2982 // OBSOLETE }
2983 // OBSOLETE
2984 // OBSOLETE return vpc;
2985 // OBSOLETE #undef FLD
2986 // OBSOLETE }
2987 // OBSOLETE
2988 // OBSOLETE /* jmp: jmp @$Ri */
2989 // OBSOLETE
2990 // OBSOLETE static SEM_PC
2991 // OBSOLETE SEM_FN_NAME (fr30bf,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
2992 // OBSOLETE {
2993 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
2994 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
2995 // OBSOLETE int UNUSED written = 0;
2996 // OBSOLETE IADDR UNUSED pc = abuf->addr;
2997 // OBSOLETE SEM_BRANCH_INIT
2998 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
2999 // OBSOLETE
3000 // OBSOLETE {
3001 // OBSOLETE USI opval = * FLD (i_Ri);
3002 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3003 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3004 // OBSOLETE }
3005 // OBSOLETE
3006 // OBSOLETE SEM_BRANCH_FINI (vpc);
3007 // OBSOLETE return vpc;
3008 // OBSOLETE #undef FLD
3009 // OBSOLETE }
3010 // OBSOLETE
3011 // OBSOLETE /* jmpd: jmp:d @$Ri */
3012 // OBSOLETE
3013 // OBSOLETE static SEM_PC
3014 // OBSOLETE SEM_FN_NAME (fr30bf,jmpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3015 // OBSOLETE {
3016 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
3017 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3018 // OBSOLETE int UNUSED written = 0;
3019 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3020 // OBSOLETE SEM_BRANCH_INIT
3021 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3022 // OBSOLETE
3023 // OBSOLETE {
3024 // OBSOLETE {
3025 // OBSOLETE USI opval = * FLD (i_Ri);
3026 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3027 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3028 // OBSOLETE }
3029 // OBSOLETE }
3030 // OBSOLETE
3031 // OBSOLETE SEM_BRANCH_FINI (vpc);
3032 // OBSOLETE return vpc;
3033 // OBSOLETE #undef FLD
3034 // OBSOLETE }
3035 // OBSOLETE
3036 // OBSOLETE /* callr: call @$Ri */
3037 // OBSOLETE
3038 // OBSOLETE static SEM_PC
3039 // OBSOLETE SEM_FN_NAME (fr30bf,callr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3040 // OBSOLETE {
3041 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
3042 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3043 // OBSOLETE int UNUSED written = 0;
3044 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3045 // OBSOLETE SEM_BRANCH_INIT
3046 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3047 // OBSOLETE
3048 // OBSOLETE {
3049 // OBSOLETE {
3050 // OBSOLETE SI opval = ADDSI (pc, 2);
3051 // OBSOLETE SET_H_DR (((UINT) 1), opval);
3052 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3053 // OBSOLETE }
3054 // OBSOLETE {
3055 // OBSOLETE USI opval = * FLD (i_Ri);
3056 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3057 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3058 // OBSOLETE }
3059 // OBSOLETE }
3060 // OBSOLETE
3061 // OBSOLETE SEM_BRANCH_FINI (vpc);
3062 // OBSOLETE return vpc;
3063 // OBSOLETE #undef FLD
3064 // OBSOLETE }
3065 // OBSOLETE
3066 // OBSOLETE /* callrd: call:d @$Ri */
3067 // OBSOLETE
3068 // OBSOLETE static SEM_PC
3069 // OBSOLETE SEM_FN_NAME (fr30bf,callrd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3070 // OBSOLETE {
3071 // OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f
3072 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3073 // OBSOLETE int UNUSED written = 0;
3074 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3075 // OBSOLETE SEM_BRANCH_INIT
3076 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3077 // OBSOLETE
3078 // OBSOLETE {
3079 // OBSOLETE {
3080 // OBSOLETE {
3081 // OBSOLETE SI opval = ADDSI (pc, 4);
3082 // OBSOLETE SET_H_DR (((UINT) 1), opval);
3083 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3084 // OBSOLETE }
3085 // OBSOLETE {
3086 // OBSOLETE USI opval = * FLD (i_Ri);
3087 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3088 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3089 // OBSOLETE }
3090 // OBSOLETE }
3091 // OBSOLETE }
3092 // OBSOLETE
3093 // OBSOLETE SEM_BRANCH_FINI (vpc);
3094 // OBSOLETE return vpc;
3095 // OBSOLETE #undef FLD
3096 // OBSOLETE }
3097 // OBSOLETE
3098 // OBSOLETE /* call: call $label12 */
3099 // OBSOLETE
3100 // OBSOLETE static SEM_PC
3101 // OBSOLETE SEM_FN_NAME (fr30bf,call) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3102 // OBSOLETE {
3103 // OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
3104 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3105 // OBSOLETE int UNUSED written = 0;
3106 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3107 // OBSOLETE SEM_BRANCH_INIT
3108 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3109 // OBSOLETE
3110 // OBSOLETE {
3111 // OBSOLETE {
3112 // OBSOLETE SI opval = ADDSI (pc, 2);
3113 // OBSOLETE SET_H_DR (((UINT) 1), opval);
3114 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3115 // OBSOLETE }
3116 // OBSOLETE {
3117 // OBSOLETE USI opval = FLD (i_label12);
3118 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3119 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3120 // OBSOLETE }
3121 // OBSOLETE }
3122 // OBSOLETE
3123 // OBSOLETE SEM_BRANCH_FINI (vpc);
3124 // OBSOLETE return vpc;
3125 // OBSOLETE #undef FLD
3126 // OBSOLETE }
3127 // OBSOLETE
3128 // OBSOLETE /* calld: call:d $label12 */
3129 // OBSOLETE
3130 // OBSOLETE static SEM_PC
3131 // OBSOLETE SEM_FN_NAME (fr30bf,calld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3132 // OBSOLETE {
3133 // OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f
3134 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3135 // OBSOLETE int UNUSED written = 0;
3136 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3137 // OBSOLETE SEM_BRANCH_INIT
3138 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3139 // OBSOLETE
3140 // OBSOLETE {
3141 // OBSOLETE {
3142 // OBSOLETE {
3143 // OBSOLETE SI opval = ADDSI (pc, 4);
3144 // OBSOLETE SET_H_DR (((UINT) 1), opval);
3145 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3146 // OBSOLETE }
3147 // OBSOLETE {
3148 // OBSOLETE USI opval = FLD (i_label12);
3149 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3150 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3151 // OBSOLETE }
3152 // OBSOLETE }
3153 // OBSOLETE }
3154 // OBSOLETE
3155 // OBSOLETE SEM_BRANCH_FINI (vpc);
3156 // OBSOLETE return vpc;
3157 // OBSOLETE #undef FLD
3158 // OBSOLETE }
3159 // OBSOLETE
3160 // OBSOLETE /* ret: ret */
3161 // OBSOLETE
3162 // OBSOLETE static SEM_PC
3163 // OBSOLETE SEM_FN_NAME (fr30bf,ret) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3164 // OBSOLETE {
3165 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
3166 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3167 // OBSOLETE int UNUSED written = 0;
3168 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3169 // OBSOLETE SEM_BRANCH_INIT
3170 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3171 // OBSOLETE
3172 // OBSOLETE {
3173 // OBSOLETE USI opval = GET_H_DR (((UINT) 1));
3174 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3175 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3176 // OBSOLETE }
3177 // OBSOLETE
3178 // OBSOLETE SEM_BRANCH_FINI (vpc);
3179 // OBSOLETE return vpc;
3180 // OBSOLETE #undef FLD
3181 // OBSOLETE }
3182 // OBSOLETE
3183 // OBSOLETE /* ret:d: ret:d */
3184 // OBSOLETE
3185 // OBSOLETE static SEM_PC
3186 // OBSOLETE SEM_FN_NAME (fr30bf,ret_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3187 // OBSOLETE {
3188 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
3189 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3190 // OBSOLETE int UNUSED written = 0;
3191 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3192 // OBSOLETE SEM_BRANCH_INIT
3193 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3194 // OBSOLETE
3195 // OBSOLETE {
3196 // OBSOLETE {
3197 // OBSOLETE USI opval = GET_H_DR (((UINT) 1));
3198 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3199 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3200 // OBSOLETE }
3201 // OBSOLETE }
3202 // OBSOLETE
3203 // OBSOLETE SEM_BRANCH_FINI (vpc);
3204 // OBSOLETE return vpc;
3205 // OBSOLETE #undef FLD
3206 // OBSOLETE }
3207 // OBSOLETE
3208 // OBSOLETE /* int: int $u8 */
3209 // OBSOLETE
3210 // OBSOLETE static SEM_PC
3211 // OBSOLETE SEM_FN_NAME (fr30bf,int) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3212 // OBSOLETE {
3213 // OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
3214 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3215 // OBSOLETE int UNUSED written = 0;
3216 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3217 // OBSOLETE SEM_BRANCH_INIT
3218 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3219 // OBSOLETE
3220 // OBSOLETE {
3221 // OBSOLETE ; /*clobber*/
3222 // OBSOLETE ; /*clobber*/
3223 // OBSOLETE ; /*clobber*/
3224 // OBSOLETE {
3225 // OBSOLETE SI opval = fr30_int (current_cpu, pc, FLD (f_u8));
3226 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3227 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3228 // OBSOLETE }
3229 // OBSOLETE }
3230 // OBSOLETE
3231 // OBSOLETE SEM_BRANCH_FINI (vpc);
3232 // OBSOLETE return vpc;
3233 // OBSOLETE #undef FLD
3234 // OBSOLETE }
3235 // OBSOLETE
3236 // OBSOLETE /* inte: inte */
3237 // OBSOLETE
3238 // OBSOLETE static SEM_PC
3239 // OBSOLETE SEM_FN_NAME (fr30bf,inte) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3240 // OBSOLETE {
3241 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
3242 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3243 // OBSOLETE int UNUSED written = 0;
3244 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3245 // OBSOLETE SEM_BRANCH_INIT
3246 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3247 // OBSOLETE
3248 // OBSOLETE {
3249 // OBSOLETE ; /*clobber*/
3250 // OBSOLETE ; /*clobber*/
3251 // OBSOLETE ; /*clobber*/
3252 // OBSOLETE {
3253 // OBSOLETE SI opval = fr30_inte (current_cpu, pc);
3254 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3255 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3256 // OBSOLETE }
3257 // OBSOLETE }
3258 // OBSOLETE
3259 // OBSOLETE SEM_BRANCH_FINI (vpc);
3260 // OBSOLETE return vpc;
3261 // OBSOLETE #undef FLD
3262 // OBSOLETE }
3263 // OBSOLETE
3264 // OBSOLETE /* reti: reti */
3265 // OBSOLETE
3266 // OBSOLETE static SEM_PC
3267 // OBSOLETE SEM_FN_NAME (fr30bf,reti) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3268 // OBSOLETE {
3269 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
3270 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3271 // OBSOLETE int UNUSED written = 0;
3272 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3273 // OBSOLETE SEM_BRANCH_INIT
3274 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3275 // OBSOLETE
3276 // OBSOLETE if (EQBI (GET_H_SBIT (), 0)) {
3277 // OBSOLETE {
3278 // OBSOLETE {
3279 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
3280 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3281 // OBSOLETE written |= (1 << 7);
3282 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3283 // OBSOLETE }
3284 // OBSOLETE {
3285 // OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
3286 // OBSOLETE SET_H_DR (((UINT) 2), opval);
3287 // OBSOLETE written |= (1 << 5);
3288 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3289 // OBSOLETE }
3290 // OBSOLETE {
3291 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2)));
3292 // OBSOLETE SET_H_PS (opval);
3293 // OBSOLETE written |= (1 << 8);
3294 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
3295 // OBSOLETE }
3296 // OBSOLETE {
3297 // OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4);
3298 // OBSOLETE SET_H_DR (((UINT) 2), opval);
3299 // OBSOLETE written |= (1 << 5);
3300 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3301 // OBSOLETE }
3302 // OBSOLETE }
3303 // OBSOLETE } else {
3304 // OBSOLETE {
3305 // OBSOLETE {
3306 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
3307 // OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
3308 // OBSOLETE written |= (1 << 7);
3309 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3310 // OBSOLETE }
3311 // OBSOLETE {
3312 // OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
3313 // OBSOLETE SET_H_DR (((UINT) 3), opval);
3314 // OBSOLETE written |= (1 << 6);
3315 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3316 // OBSOLETE }
3317 // OBSOLETE {
3318 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3)));
3319 // OBSOLETE SET_H_PS (opval);
3320 // OBSOLETE written |= (1 << 8);
3321 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval);
3322 // OBSOLETE }
3323 // OBSOLETE {
3324 // OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4);
3325 // OBSOLETE SET_H_DR (((UINT) 3), opval);
3326 // OBSOLETE written |= (1 << 6);
3327 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval);
3328 // OBSOLETE }
3329 // OBSOLETE }
3330 // OBSOLETE }
3331 // OBSOLETE
3332 // OBSOLETE abuf->written = written;
3333 // OBSOLETE SEM_BRANCH_FINI (vpc);
3334 // OBSOLETE return vpc;
3335 // OBSOLETE #undef FLD
3336 // OBSOLETE }
3337 // OBSOLETE
3338 // OBSOLETE /* brad: bra:d $label9 */
3339 // OBSOLETE
3340 // OBSOLETE static SEM_PC
3341 // OBSOLETE SEM_FN_NAME (fr30bf,brad) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3342 // OBSOLETE {
3343 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3344 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3345 // OBSOLETE int UNUSED written = 0;
3346 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3347 // OBSOLETE SEM_BRANCH_INIT
3348 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3349 // OBSOLETE
3350 // OBSOLETE {
3351 // OBSOLETE {
3352 // OBSOLETE USI opval = FLD (i_label9);
3353 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3354 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3355 // OBSOLETE }
3356 // OBSOLETE }
3357 // OBSOLETE
3358 // OBSOLETE SEM_BRANCH_FINI (vpc);
3359 // OBSOLETE return vpc;
3360 // OBSOLETE #undef FLD
3361 // OBSOLETE }
3362 // OBSOLETE
3363 // OBSOLETE /* bra: bra $label9 */
3364 // OBSOLETE
3365 // OBSOLETE static SEM_PC
3366 // OBSOLETE SEM_FN_NAME (fr30bf,bra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3367 // OBSOLETE {
3368 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3369 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3370 // OBSOLETE int UNUSED written = 0;
3371 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3372 // OBSOLETE SEM_BRANCH_INIT
3373 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3374 // OBSOLETE
3375 // OBSOLETE {
3376 // OBSOLETE USI opval = FLD (i_label9);
3377 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3378 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3379 // OBSOLETE }
3380 // OBSOLETE
3381 // OBSOLETE SEM_BRANCH_FINI (vpc);
3382 // OBSOLETE return vpc;
3383 // OBSOLETE #undef FLD
3384 // OBSOLETE }
3385 // OBSOLETE
3386 // OBSOLETE /* bnod: bno:d $label9 */
3387 // OBSOLETE
3388 // OBSOLETE static SEM_PC
3389 // OBSOLETE SEM_FN_NAME (fr30bf,bnod) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3390 // OBSOLETE {
3391 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
3392 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3393 // OBSOLETE int UNUSED written = 0;
3394 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3395 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3396 // OBSOLETE
3397 // OBSOLETE {
3398 // OBSOLETE ((void) 0); /*nop*/
3399 // OBSOLETE }
3400 // OBSOLETE
3401 // OBSOLETE return vpc;
3402 // OBSOLETE #undef FLD
3403 // OBSOLETE }
3404 // OBSOLETE
3405 // OBSOLETE /* bno: bno $label9 */
3406 // OBSOLETE
3407 // OBSOLETE static SEM_PC
3408 // OBSOLETE SEM_FN_NAME (fr30bf,bno) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3409 // OBSOLETE {
3410 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
3411 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3412 // OBSOLETE int UNUSED written = 0;
3413 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3414 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3415 // OBSOLETE
3416 // OBSOLETE ((void) 0); /*nop*/
3417 // OBSOLETE
3418 // OBSOLETE return vpc;
3419 // OBSOLETE #undef FLD
3420 // OBSOLETE }
3421 // OBSOLETE
3422 // OBSOLETE /* beqd: beq:d $label9 */
3423 // OBSOLETE
3424 // OBSOLETE static SEM_PC
3425 // OBSOLETE SEM_FN_NAME (fr30bf,beqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3426 // OBSOLETE {
3427 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3428 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3429 // OBSOLETE int UNUSED written = 0;
3430 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3431 // OBSOLETE SEM_BRANCH_INIT
3432 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3433 // OBSOLETE
3434 // OBSOLETE {
3435 // OBSOLETE if (CPU (h_zbit)) {
3436 // OBSOLETE {
3437 // OBSOLETE USI opval = FLD (i_label9);
3438 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3439 // OBSOLETE written |= (1 << 2);
3440 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3441 // OBSOLETE }
3442 // OBSOLETE }
3443 // OBSOLETE }
3444 // OBSOLETE
3445 // OBSOLETE abuf->written = written;
3446 // OBSOLETE SEM_BRANCH_FINI (vpc);
3447 // OBSOLETE return vpc;
3448 // OBSOLETE #undef FLD
3449 // OBSOLETE }
3450 // OBSOLETE
3451 // OBSOLETE /* beq: beq $label9 */
3452 // OBSOLETE
3453 // OBSOLETE static SEM_PC
3454 // OBSOLETE SEM_FN_NAME (fr30bf,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3455 // OBSOLETE {
3456 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3457 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3458 // OBSOLETE int UNUSED written = 0;
3459 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3460 // OBSOLETE SEM_BRANCH_INIT
3461 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3462 // OBSOLETE
3463 // OBSOLETE if (CPU (h_zbit)) {
3464 // OBSOLETE {
3465 // OBSOLETE USI opval = FLD (i_label9);
3466 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3467 // OBSOLETE written |= (1 << 2);
3468 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3469 // OBSOLETE }
3470 // OBSOLETE }
3471 // OBSOLETE
3472 // OBSOLETE abuf->written = written;
3473 // OBSOLETE SEM_BRANCH_FINI (vpc);
3474 // OBSOLETE return vpc;
3475 // OBSOLETE #undef FLD
3476 // OBSOLETE }
3477 // OBSOLETE
3478 // OBSOLETE /* bned: bne:d $label9 */
3479 // OBSOLETE
3480 // OBSOLETE static SEM_PC
3481 // OBSOLETE SEM_FN_NAME (fr30bf,bned) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3482 // OBSOLETE {
3483 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3484 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3485 // OBSOLETE int UNUSED written = 0;
3486 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3487 // OBSOLETE SEM_BRANCH_INIT
3488 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3489 // OBSOLETE
3490 // OBSOLETE {
3491 // OBSOLETE if (NOTBI (CPU (h_zbit))) {
3492 // OBSOLETE {
3493 // OBSOLETE USI opval = FLD (i_label9);
3494 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3495 // OBSOLETE written |= (1 << 2);
3496 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3497 // OBSOLETE }
3498 // OBSOLETE }
3499 // OBSOLETE }
3500 // OBSOLETE
3501 // OBSOLETE abuf->written = written;
3502 // OBSOLETE SEM_BRANCH_FINI (vpc);
3503 // OBSOLETE return vpc;
3504 // OBSOLETE #undef FLD
3505 // OBSOLETE }
3506 // OBSOLETE
3507 // OBSOLETE /* bne: bne $label9 */
3508 // OBSOLETE
3509 // OBSOLETE static SEM_PC
3510 // OBSOLETE SEM_FN_NAME (fr30bf,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3511 // OBSOLETE {
3512 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3513 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3514 // OBSOLETE int UNUSED written = 0;
3515 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3516 // OBSOLETE SEM_BRANCH_INIT
3517 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3518 // OBSOLETE
3519 // OBSOLETE if (NOTBI (CPU (h_zbit))) {
3520 // OBSOLETE {
3521 // OBSOLETE USI opval = FLD (i_label9);
3522 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3523 // OBSOLETE written |= (1 << 2);
3524 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3525 // OBSOLETE }
3526 // OBSOLETE }
3527 // OBSOLETE
3528 // OBSOLETE abuf->written = written;
3529 // OBSOLETE SEM_BRANCH_FINI (vpc);
3530 // OBSOLETE return vpc;
3531 // OBSOLETE #undef FLD
3532 // OBSOLETE }
3533 // OBSOLETE
3534 // OBSOLETE /* bcd: bc:d $label9 */
3535 // OBSOLETE
3536 // OBSOLETE static SEM_PC
3537 // OBSOLETE SEM_FN_NAME (fr30bf,bcd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3538 // OBSOLETE {
3539 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3540 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3541 // OBSOLETE int UNUSED written = 0;
3542 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3543 // OBSOLETE SEM_BRANCH_INIT
3544 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3545 // OBSOLETE
3546 // OBSOLETE {
3547 // OBSOLETE if (CPU (h_cbit)) {
3548 // OBSOLETE {
3549 // OBSOLETE USI opval = FLD (i_label9);
3550 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3551 // OBSOLETE written |= (1 << 2);
3552 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3553 // OBSOLETE }
3554 // OBSOLETE }
3555 // OBSOLETE }
3556 // OBSOLETE
3557 // OBSOLETE abuf->written = written;
3558 // OBSOLETE SEM_BRANCH_FINI (vpc);
3559 // OBSOLETE return vpc;
3560 // OBSOLETE #undef FLD
3561 // OBSOLETE }
3562 // OBSOLETE
3563 // OBSOLETE /* bc: bc $label9 */
3564 // OBSOLETE
3565 // OBSOLETE static SEM_PC
3566 // OBSOLETE SEM_FN_NAME (fr30bf,bc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3567 // OBSOLETE {
3568 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3569 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3570 // OBSOLETE int UNUSED written = 0;
3571 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3572 // OBSOLETE SEM_BRANCH_INIT
3573 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3574 // OBSOLETE
3575 // OBSOLETE if (CPU (h_cbit)) {
3576 // OBSOLETE {
3577 // OBSOLETE USI opval = FLD (i_label9);
3578 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3579 // OBSOLETE written |= (1 << 2);
3580 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3581 // OBSOLETE }
3582 // OBSOLETE }
3583 // OBSOLETE
3584 // OBSOLETE abuf->written = written;
3585 // OBSOLETE SEM_BRANCH_FINI (vpc);
3586 // OBSOLETE return vpc;
3587 // OBSOLETE #undef FLD
3588 // OBSOLETE }
3589 // OBSOLETE
3590 // OBSOLETE /* bncd: bnc:d $label9 */
3591 // OBSOLETE
3592 // OBSOLETE static SEM_PC
3593 // OBSOLETE SEM_FN_NAME (fr30bf,bncd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3594 // OBSOLETE {
3595 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3596 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3597 // OBSOLETE int UNUSED written = 0;
3598 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3599 // OBSOLETE SEM_BRANCH_INIT
3600 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3601 // OBSOLETE
3602 // OBSOLETE {
3603 // OBSOLETE if (NOTBI (CPU (h_cbit))) {
3604 // OBSOLETE {
3605 // OBSOLETE USI opval = FLD (i_label9);
3606 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3607 // OBSOLETE written |= (1 << 2);
3608 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3609 // OBSOLETE }
3610 // OBSOLETE }
3611 // OBSOLETE }
3612 // OBSOLETE
3613 // OBSOLETE abuf->written = written;
3614 // OBSOLETE SEM_BRANCH_FINI (vpc);
3615 // OBSOLETE return vpc;
3616 // OBSOLETE #undef FLD
3617 // OBSOLETE }
3618 // OBSOLETE
3619 // OBSOLETE /* bnc: bnc $label9 */
3620 // OBSOLETE
3621 // OBSOLETE static SEM_PC
3622 // OBSOLETE SEM_FN_NAME (fr30bf,bnc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3623 // OBSOLETE {
3624 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3625 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3626 // OBSOLETE int UNUSED written = 0;
3627 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3628 // OBSOLETE SEM_BRANCH_INIT
3629 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3630 // OBSOLETE
3631 // OBSOLETE if (NOTBI (CPU (h_cbit))) {
3632 // OBSOLETE {
3633 // OBSOLETE USI opval = FLD (i_label9);
3634 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3635 // OBSOLETE written |= (1 << 2);
3636 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3637 // OBSOLETE }
3638 // OBSOLETE }
3639 // OBSOLETE
3640 // OBSOLETE abuf->written = written;
3641 // OBSOLETE SEM_BRANCH_FINI (vpc);
3642 // OBSOLETE return vpc;
3643 // OBSOLETE #undef FLD
3644 // OBSOLETE }
3645 // OBSOLETE
3646 // OBSOLETE /* bnd: bn:d $label9 */
3647 // OBSOLETE
3648 // OBSOLETE static SEM_PC
3649 // OBSOLETE SEM_FN_NAME (fr30bf,bnd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3650 // OBSOLETE {
3651 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3652 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3653 // OBSOLETE int UNUSED written = 0;
3654 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3655 // OBSOLETE SEM_BRANCH_INIT
3656 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3657 // OBSOLETE
3658 // OBSOLETE {
3659 // OBSOLETE if (CPU (h_nbit)) {
3660 // OBSOLETE {
3661 // OBSOLETE USI opval = FLD (i_label9);
3662 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3663 // OBSOLETE written |= (1 << 2);
3664 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3665 // OBSOLETE }
3666 // OBSOLETE }
3667 // OBSOLETE }
3668 // OBSOLETE
3669 // OBSOLETE abuf->written = written;
3670 // OBSOLETE SEM_BRANCH_FINI (vpc);
3671 // OBSOLETE return vpc;
3672 // OBSOLETE #undef FLD
3673 // OBSOLETE }
3674 // OBSOLETE
3675 // OBSOLETE /* bn: bn $label9 */
3676 // OBSOLETE
3677 // OBSOLETE static SEM_PC
3678 // OBSOLETE SEM_FN_NAME (fr30bf,bn) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3679 // OBSOLETE {
3680 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3681 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3682 // OBSOLETE int UNUSED written = 0;
3683 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3684 // OBSOLETE SEM_BRANCH_INIT
3685 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3686 // OBSOLETE
3687 // OBSOLETE if (CPU (h_nbit)) {
3688 // OBSOLETE {
3689 // OBSOLETE USI opval = FLD (i_label9);
3690 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3691 // OBSOLETE written |= (1 << 2);
3692 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3693 // OBSOLETE }
3694 // OBSOLETE }
3695 // OBSOLETE
3696 // OBSOLETE abuf->written = written;
3697 // OBSOLETE SEM_BRANCH_FINI (vpc);
3698 // OBSOLETE return vpc;
3699 // OBSOLETE #undef FLD
3700 // OBSOLETE }
3701 // OBSOLETE
3702 // OBSOLETE /* bpd: bp:d $label9 */
3703 // OBSOLETE
3704 // OBSOLETE static SEM_PC
3705 // OBSOLETE SEM_FN_NAME (fr30bf,bpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3706 // OBSOLETE {
3707 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3708 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3709 // OBSOLETE int UNUSED written = 0;
3710 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3711 // OBSOLETE SEM_BRANCH_INIT
3712 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3713 // OBSOLETE
3714 // OBSOLETE {
3715 // OBSOLETE if (NOTBI (CPU (h_nbit))) {
3716 // OBSOLETE {
3717 // OBSOLETE USI opval = FLD (i_label9);
3718 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3719 // OBSOLETE written |= (1 << 2);
3720 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3721 // OBSOLETE }
3722 // OBSOLETE }
3723 // OBSOLETE }
3724 // OBSOLETE
3725 // OBSOLETE abuf->written = written;
3726 // OBSOLETE SEM_BRANCH_FINI (vpc);
3727 // OBSOLETE return vpc;
3728 // OBSOLETE #undef FLD
3729 // OBSOLETE }
3730 // OBSOLETE
3731 // OBSOLETE /* bp: bp $label9 */
3732 // OBSOLETE
3733 // OBSOLETE static SEM_PC
3734 // OBSOLETE SEM_FN_NAME (fr30bf,bp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3735 // OBSOLETE {
3736 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3737 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3738 // OBSOLETE int UNUSED written = 0;
3739 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3740 // OBSOLETE SEM_BRANCH_INIT
3741 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3742 // OBSOLETE
3743 // OBSOLETE if (NOTBI (CPU (h_nbit))) {
3744 // OBSOLETE {
3745 // OBSOLETE USI opval = FLD (i_label9);
3746 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3747 // OBSOLETE written |= (1 << 2);
3748 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3749 // OBSOLETE }
3750 // OBSOLETE }
3751 // OBSOLETE
3752 // OBSOLETE abuf->written = written;
3753 // OBSOLETE SEM_BRANCH_FINI (vpc);
3754 // OBSOLETE return vpc;
3755 // OBSOLETE #undef FLD
3756 // OBSOLETE }
3757 // OBSOLETE
3758 // OBSOLETE /* bvd: bv:d $label9 */
3759 // OBSOLETE
3760 // OBSOLETE static SEM_PC
3761 // OBSOLETE SEM_FN_NAME (fr30bf,bvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3762 // OBSOLETE {
3763 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3764 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3765 // OBSOLETE int UNUSED written = 0;
3766 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3767 // OBSOLETE SEM_BRANCH_INIT
3768 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3769 // OBSOLETE
3770 // OBSOLETE {
3771 // OBSOLETE if (CPU (h_vbit)) {
3772 // OBSOLETE {
3773 // OBSOLETE USI opval = FLD (i_label9);
3774 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3775 // OBSOLETE written |= (1 << 2);
3776 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3777 // OBSOLETE }
3778 // OBSOLETE }
3779 // OBSOLETE }
3780 // OBSOLETE
3781 // OBSOLETE abuf->written = written;
3782 // OBSOLETE SEM_BRANCH_FINI (vpc);
3783 // OBSOLETE return vpc;
3784 // OBSOLETE #undef FLD
3785 // OBSOLETE }
3786 // OBSOLETE
3787 // OBSOLETE /* bv: bv $label9 */
3788 // OBSOLETE
3789 // OBSOLETE static SEM_PC
3790 // OBSOLETE SEM_FN_NAME (fr30bf,bv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3791 // OBSOLETE {
3792 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3793 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3794 // OBSOLETE int UNUSED written = 0;
3795 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3796 // OBSOLETE SEM_BRANCH_INIT
3797 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3798 // OBSOLETE
3799 // OBSOLETE if (CPU (h_vbit)) {
3800 // OBSOLETE {
3801 // OBSOLETE USI opval = FLD (i_label9);
3802 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3803 // OBSOLETE written |= (1 << 2);
3804 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3805 // OBSOLETE }
3806 // OBSOLETE }
3807 // OBSOLETE
3808 // OBSOLETE abuf->written = written;
3809 // OBSOLETE SEM_BRANCH_FINI (vpc);
3810 // OBSOLETE return vpc;
3811 // OBSOLETE #undef FLD
3812 // OBSOLETE }
3813 // OBSOLETE
3814 // OBSOLETE /* bnvd: bnv:d $label9 */
3815 // OBSOLETE
3816 // OBSOLETE static SEM_PC
3817 // OBSOLETE SEM_FN_NAME (fr30bf,bnvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3818 // OBSOLETE {
3819 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3820 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3821 // OBSOLETE int UNUSED written = 0;
3822 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3823 // OBSOLETE SEM_BRANCH_INIT
3824 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3825 // OBSOLETE
3826 // OBSOLETE {
3827 // OBSOLETE if (NOTBI (CPU (h_vbit))) {
3828 // OBSOLETE {
3829 // OBSOLETE USI opval = FLD (i_label9);
3830 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3831 // OBSOLETE written |= (1 << 2);
3832 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3833 // OBSOLETE }
3834 // OBSOLETE }
3835 // OBSOLETE }
3836 // OBSOLETE
3837 // OBSOLETE abuf->written = written;
3838 // OBSOLETE SEM_BRANCH_FINI (vpc);
3839 // OBSOLETE return vpc;
3840 // OBSOLETE #undef FLD
3841 // OBSOLETE }
3842 // OBSOLETE
3843 // OBSOLETE /* bnv: bnv $label9 */
3844 // OBSOLETE
3845 // OBSOLETE static SEM_PC
3846 // OBSOLETE SEM_FN_NAME (fr30bf,bnv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3847 // OBSOLETE {
3848 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3849 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3850 // OBSOLETE int UNUSED written = 0;
3851 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3852 // OBSOLETE SEM_BRANCH_INIT
3853 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3854 // OBSOLETE
3855 // OBSOLETE if (NOTBI (CPU (h_vbit))) {
3856 // OBSOLETE {
3857 // OBSOLETE USI opval = FLD (i_label9);
3858 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3859 // OBSOLETE written |= (1 << 2);
3860 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3861 // OBSOLETE }
3862 // OBSOLETE }
3863 // OBSOLETE
3864 // OBSOLETE abuf->written = written;
3865 // OBSOLETE SEM_BRANCH_FINI (vpc);
3866 // OBSOLETE return vpc;
3867 // OBSOLETE #undef FLD
3868 // OBSOLETE }
3869 // OBSOLETE
3870 // OBSOLETE /* bltd: blt:d $label9 */
3871 // OBSOLETE
3872 // OBSOLETE static SEM_PC
3873 // OBSOLETE SEM_FN_NAME (fr30bf,bltd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3874 // OBSOLETE {
3875 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3876 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3877 // OBSOLETE int UNUSED written = 0;
3878 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3879 // OBSOLETE SEM_BRANCH_INIT
3880 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3881 // OBSOLETE
3882 // OBSOLETE {
3883 // OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
3884 // OBSOLETE {
3885 // OBSOLETE USI opval = FLD (i_label9);
3886 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3887 // OBSOLETE written |= (1 << 3);
3888 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3889 // OBSOLETE }
3890 // OBSOLETE }
3891 // OBSOLETE }
3892 // OBSOLETE
3893 // OBSOLETE abuf->written = written;
3894 // OBSOLETE SEM_BRANCH_FINI (vpc);
3895 // OBSOLETE return vpc;
3896 // OBSOLETE #undef FLD
3897 // OBSOLETE }
3898 // OBSOLETE
3899 // OBSOLETE /* blt: blt $label9 */
3900 // OBSOLETE
3901 // OBSOLETE static SEM_PC
3902 // OBSOLETE SEM_FN_NAME (fr30bf,blt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3903 // OBSOLETE {
3904 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3905 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3906 // OBSOLETE int UNUSED written = 0;
3907 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3908 // OBSOLETE SEM_BRANCH_INIT
3909 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3910 // OBSOLETE
3911 // OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) {
3912 // OBSOLETE {
3913 // OBSOLETE USI opval = FLD (i_label9);
3914 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3915 // OBSOLETE written |= (1 << 3);
3916 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3917 // OBSOLETE }
3918 // OBSOLETE }
3919 // OBSOLETE
3920 // OBSOLETE abuf->written = written;
3921 // OBSOLETE SEM_BRANCH_FINI (vpc);
3922 // OBSOLETE return vpc;
3923 // OBSOLETE #undef FLD
3924 // OBSOLETE }
3925 // OBSOLETE
3926 // OBSOLETE /* bged: bge:d $label9 */
3927 // OBSOLETE
3928 // OBSOLETE static SEM_PC
3929 // OBSOLETE SEM_FN_NAME (fr30bf,bged) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3930 // OBSOLETE {
3931 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3932 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3933 // OBSOLETE int UNUSED written = 0;
3934 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3935 // OBSOLETE SEM_BRANCH_INIT
3936 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3937 // OBSOLETE
3938 // OBSOLETE {
3939 // OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
3940 // OBSOLETE {
3941 // OBSOLETE USI opval = FLD (i_label9);
3942 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3943 // OBSOLETE written |= (1 << 3);
3944 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3945 // OBSOLETE }
3946 // OBSOLETE }
3947 // OBSOLETE }
3948 // OBSOLETE
3949 // OBSOLETE abuf->written = written;
3950 // OBSOLETE SEM_BRANCH_FINI (vpc);
3951 // OBSOLETE return vpc;
3952 // OBSOLETE #undef FLD
3953 // OBSOLETE }
3954 // OBSOLETE
3955 // OBSOLETE /* bge: bge $label9 */
3956 // OBSOLETE
3957 // OBSOLETE static SEM_PC
3958 // OBSOLETE SEM_FN_NAME (fr30bf,bge) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3959 // OBSOLETE {
3960 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3961 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3962 // OBSOLETE int UNUSED written = 0;
3963 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3964 // OBSOLETE SEM_BRANCH_INIT
3965 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3966 // OBSOLETE
3967 // OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) {
3968 // OBSOLETE {
3969 // OBSOLETE USI opval = FLD (i_label9);
3970 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3971 // OBSOLETE written |= (1 << 3);
3972 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
3973 // OBSOLETE }
3974 // OBSOLETE }
3975 // OBSOLETE
3976 // OBSOLETE abuf->written = written;
3977 // OBSOLETE SEM_BRANCH_FINI (vpc);
3978 // OBSOLETE return vpc;
3979 // OBSOLETE #undef FLD
3980 // OBSOLETE }
3981 // OBSOLETE
3982 // OBSOLETE /* bled: ble:d $label9 */
3983 // OBSOLETE
3984 // OBSOLETE static SEM_PC
3985 // OBSOLETE SEM_FN_NAME (fr30bf,bled) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
3986 // OBSOLETE {
3987 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
3988 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
3989 // OBSOLETE int UNUSED written = 0;
3990 // OBSOLETE IADDR UNUSED pc = abuf->addr;
3991 // OBSOLETE SEM_BRANCH_INIT
3992 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
3993 // OBSOLETE
3994 // OBSOLETE {
3995 // OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
3996 // OBSOLETE {
3997 // OBSOLETE USI opval = FLD (i_label9);
3998 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
3999 // OBSOLETE written |= (1 << 4);
4000 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4001 // OBSOLETE }
4002 // OBSOLETE }
4003 // OBSOLETE }
4004 // OBSOLETE
4005 // OBSOLETE abuf->written = written;
4006 // OBSOLETE SEM_BRANCH_FINI (vpc);
4007 // OBSOLETE return vpc;
4008 // OBSOLETE #undef FLD
4009 // OBSOLETE }
4010 // OBSOLETE
4011 // OBSOLETE /* ble: ble $label9 */
4012 // OBSOLETE
4013 // OBSOLETE static SEM_PC
4014 // OBSOLETE SEM_FN_NAME (fr30bf,ble) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4015 // OBSOLETE {
4016 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4017 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4018 // OBSOLETE int UNUSED written = 0;
4019 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4020 // OBSOLETE SEM_BRANCH_INIT
4021 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4022 // OBSOLETE
4023 // OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) {
4024 // OBSOLETE {
4025 // OBSOLETE USI opval = FLD (i_label9);
4026 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4027 // OBSOLETE written |= (1 << 4);
4028 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4029 // OBSOLETE }
4030 // OBSOLETE }
4031 // OBSOLETE
4032 // OBSOLETE abuf->written = written;
4033 // OBSOLETE SEM_BRANCH_FINI (vpc);
4034 // OBSOLETE return vpc;
4035 // OBSOLETE #undef FLD
4036 // OBSOLETE }
4037 // OBSOLETE
4038 // OBSOLETE /* bgtd: bgt:d $label9 */
4039 // OBSOLETE
4040 // OBSOLETE static SEM_PC
4041 // OBSOLETE SEM_FN_NAME (fr30bf,bgtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4042 // OBSOLETE {
4043 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4044 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4045 // OBSOLETE int UNUSED written = 0;
4046 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4047 // OBSOLETE SEM_BRANCH_INIT
4048 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4049 // OBSOLETE
4050 // OBSOLETE {
4051 // OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
4052 // OBSOLETE {
4053 // OBSOLETE USI opval = FLD (i_label9);
4054 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4055 // OBSOLETE written |= (1 << 4);
4056 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4057 // OBSOLETE }
4058 // OBSOLETE }
4059 // OBSOLETE }
4060 // OBSOLETE
4061 // OBSOLETE abuf->written = written;
4062 // OBSOLETE SEM_BRANCH_FINI (vpc);
4063 // OBSOLETE return vpc;
4064 // OBSOLETE #undef FLD
4065 // OBSOLETE }
4066 // OBSOLETE
4067 // OBSOLETE /* bgt: bgt $label9 */
4068 // OBSOLETE
4069 // OBSOLETE static SEM_PC
4070 // OBSOLETE SEM_FN_NAME (fr30bf,bgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4071 // OBSOLETE {
4072 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4073 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4074 // OBSOLETE int UNUSED written = 0;
4075 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4076 // OBSOLETE SEM_BRANCH_INIT
4077 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4078 // OBSOLETE
4079 // OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) {
4080 // OBSOLETE {
4081 // OBSOLETE USI opval = FLD (i_label9);
4082 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4083 // OBSOLETE written |= (1 << 4);
4084 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4085 // OBSOLETE }
4086 // OBSOLETE }
4087 // OBSOLETE
4088 // OBSOLETE abuf->written = written;
4089 // OBSOLETE SEM_BRANCH_FINI (vpc);
4090 // OBSOLETE return vpc;
4091 // OBSOLETE #undef FLD
4092 // OBSOLETE }
4093 // OBSOLETE
4094 // OBSOLETE /* blsd: bls:d $label9 */
4095 // OBSOLETE
4096 // OBSOLETE static SEM_PC
4097 // OBSOLETE SEM_FN_NAME (fr30bf,blsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4098 // OBSOLETE {
4099 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4100 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4101 // OBSOLETE int UNUSED written = 0;
4102 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4103 // OBSOLETE SEM_BRANCH_INIT
4104 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4105 // OBSOLETE
4106 // OBSOLETE {
4107 // OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
4108 // OBSOLETE {
4109 // OBSOLETE USI opval = FLD (i_label9);
4110 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4111 // OBSOLETE written |= (1 << 3);
4112 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4113 // OBSOLETE }
4114 // OBSOLETE }
4115 // OBSOLETE }
4116 // OBSOLETE
4117 // OBSOLETE abuf->written = written;
4118 // OBSOLETE SEM_BRANCH_FINI (vpc);
4119 // OBSOLETE return vpc;
4120 // OBSOLETE #undef FLD
4121 // OBSOLETE }
4122 // OBSOLETE
4123 // OBSOLETE /* bls: bls $label9 */
4124 // OBSOLETE
4125 // OBSOLETE static SEM_PC
4126 // OBSOLETE SEM_FN_NAME (fr30bf,bls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4127 // OBSOLETE {
4128 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4129 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4130 // OBSOLETE int UNUSED written = 0;
4131 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4132 // OBSOLETE SEM_BRANCH_INIT
4133 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4134 // OBSOLETE
4135 // OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) {
4136 // OBSOLETE {
4137 // OBSOLETE USI opval = FLD (i_label9);
4138 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4139 // OBSOLETE written |= (1 << 3);
4140 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4141 // OBSOLETE }
4142 // OBSOLETE }
4143 // OBSOLETE
4144 // OBSOLETE abuf->written = written;
4145 // OBSOLETE SEM_BRANCH_FINI (vpc);
4146 // OBSOLETE return vpc;
4147 // OBSOLETE #undef FLD
4148 // OBSOLETE }
4149 // OBSOLETE
4150 // OBSOLETE /* bhid: bhi:d $label9 */
4151 // OBSOLETE
4152 // OBSOLETE static SEM_PC
4153 // OBSOLETE SEM_FN_NAME (fr30bf,bhid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4154 // OBSOLETE {
4155 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4156 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4157 // OBSOLETE int UNUSED written = 0;
4158 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4159 // OBSOLETE SEM_BRANCH_INIT
4160 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4161 // OBSOLETE
4162 // OBSOLETE {
4163 // OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
4164 // OBSOLETE {
4165 // OBSOLETE USI opval = FLD (i_label9);
4166 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4167 // OBSOLETE written |= (1 << 3);
4168 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4169 // OBSOLETE }
4170 // OBSOLETE }
4171 // OBSOLETE }
4172 // OBSOLETE
4173 // OBSOLETE abuf->written = written;
4174 // OBSOLETE SEM_BRANCH_FINI (vpc);
4175 // OBSOLETE return vpc;
4176 // OBSOLETE #undef FLD
4177 // OBSOLETE }
4178 // OBSOLETE
4179 // OBSOLETE /* bhi: bhi $label9 */
4180 // OBSOLETE
4181 // OBSOLETE static SEM_PC
4182 // OBSOLETE SEM_FN_NAME (fr30bf,bhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4183 // OBSOLETE {
4184 // OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f
4185 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4186 // OBSOLETE int UNUSED written = 0;
4187 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4188 // OBSOLETE SEM_BRANCH_INIT
4189 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4190 // OBSOLETE
4191 // OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) {
4192 // OBSOLETE {
4193 // OBSOLETE USI opval = FLD (i_label9);
4194 // OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
4195 // OBSOLETE written |= (1 << 3);
4196 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
4197 // OBSOLETE }
4198 // OBSOLETE }
4199 // OBSOLETE
4200 // OBSOLETE abuf->written = written;
4201 // OBSOLETE SEM_BRANCH_FINI (vpc);
4202 // OBSOLETE return vpc;
4203 // OBSOLETE #undef FLD
4204 // OBSOLETE }
4205 // OBSOLETE
4206 // OBSOLETE /* dmovr13: dmov $R13,@$dir10 */
4207 // OBSOLETE
4208 // OBSOLETE static SEM_PC
4209 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4210 // OBSOLETE {
4211 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
4212 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4213 // OBSOLETE int UNUSED written = 0;
4214 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4215 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4216 // OBSOLETE
4217 // OBSOLETE {
4218 // OBSOLETE SI opval = CPU (h_gr[((UINT) 13)]);
4219 // OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
4220 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4221 // OBSOLETE }
4222 // OBSOLETE
4223 // OBSOLETE return vpc;
4224 // OBSOLETE #undef FLD
4225 // OBSOLETE }
4226 // OBSOLETE
4227 // OBSOLETE /* dmovr13h: dmovh $R13,@$dir9 */
4228 // OBSOLETE
4229 // OBSOLETE static SEM_PC
4230 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4231 // OBSOLETE {
4232 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
4233 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4234 // OBSOLETE int UNUSED written = 0;
4235 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4236 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4237 // OBSOLETE
4238 // OBSOLETE {
4239 // OBSOLETE HI opval = CPU (h_gr[((UINT) 13)]);
4240 // OBSOLETE SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
4241 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4242 // OBSOLETE }
4243 // OBSOLETE
4244 // OBSOLETE return vpc;
4245 // OBSOLETE #undef FLD
4246 // OBSOLETE }
4247 // OBSOLETE
4248 // OBSOLETE /* dmovr13b: dmovb $R13,@$dir8 */
4249 // OBSOLETE
4250 // OBSOLETE static SEM_PC
4251 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4252 // OBSOLETE {
4253 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
4254 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4255 // OBSOLETE int UNUSED written = 0;
4256 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4257 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4258 // OBSOLETE
4259 // OBSOLETE {
4260 // OBSOLETE QI opval = CPU (h_gr[((UINT) 13)]);
4261 // OBSOLETE SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
4262 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4263 // OBSOLETE }
4264 // OBSOLETE
4265 // OBSOLETE return vpc;
4266 // OBSOLETE #undef FLD
4267 // OBSOLETE }
4268 // OBSOLETE
4269 // OBSOLETE /* dmovr13pi: dmov @$R13+,@$dir10 */
4270 // OBSOLETE
4271 // OBSOLETE static SEM_PC
4272 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4273 // OBSOLETE {
4274 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
4275 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4276 // OBSOLETE int UNUSED written = 0;
4277 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4278 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4279 // OBSOLETE
4280 // OBSOLETE {
4281 // OBSOLETE {
4282 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
4283 // OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
4284 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4285 // OBSOLETE }
4286 // OBSOLETE {
4287 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
4288 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4289 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4290 // OBSOLETE }
4291 // OBSOLETE }
4292 // OBSOLETE
4293 // OBSOLETE return vpc;
4294 // OBSOLETE #undef FLD
4295 // OBSOLETE }
4296 // OBSOLETE
4297 // OBSOLETE /* dmovr13pih: dmovh @$R13+,@$dir9 */
4298 // OBSOLETE
4299 // OBSOLETE static SEM_PC
4300 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4301 // OBSOLETE {
4302 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
4303 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4304 // OBSOLETE int UNUSED written = 0;
4305 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4306 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4307 // OBSOLETE
4308 // OBSOLETE {
4309 // OBSOLETE {
4310 // OBSOLETE HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
4311 // OBSOLETE SETMEMHI (current_cpu, pc, FLD (f_dir9), opval);
4312 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4313 // OBSOLETE }
4314 // OBSOLETE {
4315 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
4316 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4317 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4318 // OBSOLETE }
4319 // OBSOLETE }
4320 // OBSOLETE
4321 // OBSOLETE return vpc;
4322 // OBSOLETE #undef FLD
4323 // OBSOLETE }
4324 // OBSOLETE
4325 // OBSOLETE /* dmovr13pib: dmovb @$R13+,@$dir8 */
4326 // OBSOLETE
4327 // OBSOLETE static SEM_PC
4328 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4329 // OBSOLETE {
4330 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
4331 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4332 // OBSOLETE int UNUSED written = 0;
4333 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4334 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4335 // OBSOLETE
4336 // OBSOLETE {
4337 // OBSOLETE {
4338 // OBSOLETE QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]));
4339 // OBSOLETE SETMEMQI (current_cpu, pc, FLD (f_dir8), opval);
4340 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4341 // OBSOLETE }
4342 // OBSOLETE {
4343 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
4344 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4345 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4346 // OBSOLETE }
4347 // OBSOLETE }
4348 // OBSOLETE
4349 // OBSOLETE return vpc;
4350 // OBSOLETE #undef FLD
4351 // OBSOLETE }
4352 // OBSOLETE
4353 // OBSOLETE /* dmovr15pi: dmov @$R15+,@$dir10 */
4354 // OBSOLETE
4355 // OBSOLETE static SEM_PC
4356 // OBSOLETE SEM_FN_NAME (fr30bf,dmovr15pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4357 // OBSOLETE {
4358 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
4359 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4360 // OBSOLETE int UNUSED written = 0;
4361 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4362 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4363 // OBSOLETE
4364 // OBSOLETE {
4365 // OBSOLETE {
4366 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4367 // OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval);
4368 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4369 // OBSOLETE }
4370 // OBSOLETE {
4371 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4372 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4373 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4374 // OBSOLETE }
4375 // OBSOLETE }
4376 // OBSOLETE
4377 // OBSOLETE return vpc;
4378 // OBSOLETE #undef FLD
4379 // OBSOLETE }
4380 // OBSOLETE
4381 // OBSOLETE /* dmov2r13: dmov @$dir10,$R13 */
4382 // OBSOLETE
4383 // OBSOLETE static SEM_PC
4384 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4385 // OBSOLETE {
4386 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
4387 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4388 // OBSOLETE int UNUSED written = 0;
4389 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4390 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4391 // OBSOLETE
4392 // OBSOLETE {
4393 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
4394 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4395 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4396 // OBSOLETE }
4397 // OBSOLETE
4398 // OBSOLETE return vpc;
4399 // OBSOLETE #undef FLD
4400 // OBSOLETE }
4401 // OBSOLETE
4402 // OBSOLETE /* dmov2r13h: dmovh @$dir9,$R13 */
4403 // OBSOLETE
4404 // OBSOLETE static SEM_PC
4405 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4406 // OBSOLETE {
4407 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
4408 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4409 // OBSOLETE int UNUSED written = 0;
4410 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4411 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4412 // OBSOLETE
4413 // OBSOLETE {
4414 // OBSOLETE SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
4415 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4416 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4417 // OBSOLETE }
4418 // OBSOLETE
4419 // OBSOLETE return vpc;
4420 // OBSOLETE #undef FLD
4421 // OBSOLETE }
4422 // OBSOLETE
4423 // OBSOLETE /* dmov2r13b: dmovb @$dir8,$R13 */
4424 // OBSOLETE
4425 // OBSOLETE static SEM_PC
4426 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4427 // OBSOLETE {
4428 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
4429 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4430 // OBSOLETE int UNUSED written = 0;
4431 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4432 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4433 // OBSOLETE
4434 // OBSOLETE {
4435 // OBSOLETE SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
4436 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4437 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4438 // OBSOLETE }
4439 // OBSOLETE
4440 // OBSOLETE return vpc;
4441 // OBSOLETE #undef FLD
4442 // OBSOLETE }
4443 // OBSOLETE
4444 // OBSOLETE /* dmov2r13pi: dmov @$dir10,@$R13+ */
4445 // OBSOLETE
4446 // OBSOLETE static SEM_PC
4447 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4448 // OBSOLETE {
4449 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f
4450 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4451 // OBSOLETE int UNUSED written = 0;
4452 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4453 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4454 // OBSOLETE
4455 // OBSOLETE {
4456 // OBSOLETE {
4457 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
4458 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
4459 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4460 // OBSOLETE }
4461 // OBSOLETE {
4462 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4);
4463 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4464 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4465 // OBSOLETE }
4466 // OBSOLETE }
4467 // OBSOLETE
4468 // OBSOLETE return vpc;
4469 // OBSOLETE #undef FLD
4470 // OBSOLETE }
4471 // OBSOLETE
4472 // OBSOLETE /* dmov2r13pih: dmovh @$dir9,@$R13+ */
4473 // OBSOLETE
4474 // OBSOLETE static SEM_PC
4475 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4476 // OBSOLETE {
4477 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f
4478 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4479 // OBSOLETE int UNUSED written = 0;
4480 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4481 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4482 // OBSOLETE
4483 // OBSOLETE {
4484 // OBSOLETE {
4485 // OBSOLETE HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9));
4486 // OBSOLETE SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
4487 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4488 // OBSOLETE }
4489 // OBSOLETE {
4490 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2);
4491 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4492 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4493 // OBSOLETE }
4494 // OBSOLETE }
4495 // OBSOLETE
4496 // OBSOLETE return vpc;
4497 // OBSOLETE #undef FLD
4498 // OBSOLETE }
4499 // OBSOLETE
4500 // OBSOLETE /* dmov2r13pib: dmovb @$dir8,@$R13+ */
4501 // OBSOLETE
4502 // OBSOLETE static SEM_PC
4503 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4504 // OBSOLETE {
4505 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f
4506 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4507 // OBSOLETE int UNUSED written = 0;
4508 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4509 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4510 // OBSOLETE
4511 // OBSOLETE {
4512 // OBSOLETE {
4513 // OBSOLETE QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8));
4514 // OBSOLETE SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval);
4515 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4516 // OBSOLETE }
4517 // OBSOLETE {
4518 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1);
4519 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
4520 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4521 // OBSOLETE }
4522 // OBSOLETE }
4523 // OBSOLETE
4524 // OBSOLETE return vpc;
4525 // OBSOLETE #undef FLD
4526 // OBSOLETE }
4527 // OBSOLETE
4528 // OBSOLETE /* dmov2r15pd: dmov @$dir10,@-$R15 */
4529 // OBSOLETE
4530 // OBSOLETE static SEM_PC
4531 // OBSOLETE SEM_FN_NAME (fr30bf,dmov2r15pd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4532 // OBSOLETE {
4533 // OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f
4534 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4535 // OBSOLETE int UNUSED written = 0;
4536 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4537 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4538 // OBSOLETE
4539 // OBSOLETE {
4540 // OBSOLETE {
4541 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
4542 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4543 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4544 // OBSOLETE }
4545 // OBSOLETE {
4546 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10));
4547 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
4548 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
4549 // OBSOLETE }
4550 // OBSOLETE }
4551 // OBSOLETE
4552 // OBSOLETE return vpc;
4553 // OBSOLETE #undef FLD
4554 // OBSOLETE }
4555 // OBSOLETE
4556 // OBSOLETE /* ldres: ldres @$Ri+,$u4 */
4557 // OBSOLETE
4558 // OBSOLETE static SEM_PC
4559 // OBSOLETE SEM_FN_NAME (fr30bf,ldres) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4560 // OBSOLETE {
4561 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
4562 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4563 // OBSOLETE int UNUSED written = 0;
4564 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4565 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4566 // OBSOLETE
4567 // OBSOLETE {
4568 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), 4);
4569 // OBSOLETE * FLD (i_Ri) = opval;
4570 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4571 // OBSOLETE }
4572 // OBSOLETE
4573 // OBSOLETE return vpc;
4574 // OBSOLETE #undef FLD
4575 // OBSOLETE }
4576 // OBSOLETE
4577 // OBSOLETE /* stres: stres $u4,@$Ri+ */
4578 // OBSOLETE
4579 // OBSOLETE static SEM_PC
4580 // OBSOLETE SEM_FN_NAME (fr30bf,stres) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4581 // OBSOLETE {
4582 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
4583 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4584 // OBSOLETE int UNUSED written = 0;
4585 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4586 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4587 // OBSOLETE
4588 // OBSOLETE {
4589 // OBSOLETE SI opval = ADDSI (* FLD (i_Ri), 4);
4590 // OBSOLETE * FLD (i_Ri) = opval;
4591 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4592 // OBSOLETE }
4593 // OBSOLETE
4594 // OBSOLETE return vpc;
4595 // OBSOLETE #undef FLD
4596 // OBSOLETE }
4597 // OBSOLETE
4598 // OBSOLETE /* copop: copop $u4c,$ccc,$CRj,$CRi */
4599 // OBSOLETE
4600 // OBSOLETE static SEM_PC
4601 // OBSOLETE SEM_FN_NAME (fr30bf,copop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4602 // OBSOLETE {
4603 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
4604 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4605 // OBSOLETE int UNUSED written = 0;
4606 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4607 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
4608 // OBSOLETE
4609 // OBSOLETE ((void) 0); /*nop*/
4610 // OBSOLETE
4611 // OBSOLETE return vpc;
4612 // OBSOLETE #undef FLD
4613 // OBSOLETE }
4614 // OBSOLETE
4615 // OBSOLETE /* copld: copld $u4c,$ccc,$Rjc,$CRi */
4616 // OBSOLETE
4617 // OBSOLETE static SEM_PC
4618 // OBSOLETE SEM_FN_NAME (fr30bf,copld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4619 // OBSOLETE {
4620 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
4621 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4622 // OBSOLETE int UNUSED written = 0;
4623 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4624 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
4625 // OBSOLETE
4626 // OBSOLETE ((void) 0); /*nop*/
4627 // OBSOLETE
4628 // OBSOLETE return vpc;
4629 // OBSOLETE #undef FLD
4630 // OBSOLETE }
4631 // OBSOLETE
4632 // OBSOLETE /* copst: copst $u4c,$ccc,$CRj,$Ric */
4633 // OBSOLETE
4634 // OBSOLETE static SEM_PC
4635 // OBSOLETE SEM_FN_NAME (fr30bf,copst) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4636 // OBSOLETE {
4637 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
4638 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4639 // OBSOLETE int UNUSED written = 0;
4640 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4641 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
4642 // OBSOLETE
4643 // OBSOLETE ((void) 0); /*nop*/
4644 // OBSOLETE
4645 // OBSOLETE return vpc;
4646 // OBSOLETE #undef FLD
4647 // OBSOLETE }
4648 // OBSOLETE
4649 // OBSOLETE /* copsv: copsv $u4c,$ccc,$CRj,$Ric */
4650 // OBSOLETE
4651 // OBSOLETE static SEM_PC
4652 // OBSOLETE SEM_FN_NAME (fr30bf,copsv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4653 // OBSOLETE {
4654 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
4655 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4656 // OBSOLETE int UNUSED written = 0;
4657 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4658 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
4659 // OBSOLETE
4660 // OBSOLETE ((void) 0); /*nop*/
4661 // OBSOLETE
4662 // OBSOLETE return vpc;
4663 // OBSOLETE #undef FLD
4664 // OBSOLETE }
4665 // OBSOLETE
4666 // OBSOLETE /* nop: nop */
4667 // OBSOLETE
4668 // OBSOLETE static SEM_PC
4669 // OBSOLETE SEM_FN_NAME (fr30bf,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4670 // OBSOLETE {
4671 // OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f
4672 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4673 // OBSOLETE int UNUSED written = 0;
4674 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4675 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4676 // OBSOLETE
4677 // OBSOLETE ((void) 0); /*nop*/
4678 // OBSOLETE
4679 // OBSOLETE return vpc;
4680 // OBSOLETE #undef FLD
4681 // OBSOLETE }
4682 // OBSOLETE
4683 // OBSOLETE /* andccr: andccr $u8 */
4684 // OBSOLETE
4685 // OBSOLETE static SEM_PC
4686 // OBSOLETE SEM_FN_NAME (fr30bf,andccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4687 // OBSOLETE {
4688 // OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
4689 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4690 // OBSOLETE int UNUSED written = 0;
4691 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4692 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4693 // OBSOLETE
4694 // OBSOLETE {
4695 // OBSOLETE UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8));
4696 // OBSOLETE SET_H_CCR (opval);
4697 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
4698 // OBSOLETE }
4699 // OBSOLETE
4700 // OBSOLETE return vpc;
4701 // OBSOLETE #undef FLD
4702 // OBSOLETE }
4703 // OBSOLETE
4704 // OBSOLETE /* orccr: orccr $u8 */
4705 // OBSOLETE
4706 // OBSOLETE static SEM_PC
4707 // OBSOLETE SEM_FN_NAME (fr30bf,orccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4708 // OBSOLETE {
4709 // OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
4710 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4711 // OBSOLETE int UNUSED written = 0;
4712 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4713 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4714 // OBSOLETE
4715 // OBSOLETE {
4716 // OBSOLETE UQI opval = ORQI (GET_H_CCR (), FLD (f_u8));
4717 // OBSOLETE SET_H_CCR (opval);
4718 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval);
4719 // OBSOLETE }
4720 // OBSOLETE
4721 // OBSOLETE return vpc;
4722 // OBSOLETE #undef FLD
4723 // OBSOLETE }
4724 // OBSOLETE
4725 // OBSOLETE /* stilm: stilm $u8 */
4726 // OBSOLETE
4727 // OBSOLETE static SEM_PC
4728 // OBSOLETE SEM_FN_NAME (fr30bf,stilm) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4729 // OBSOLETE {
4730 // OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f
4731 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4732 // OBSOLETE int UNUSED written = 0;
4733 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4734 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4735 // OBSOLETE
4736 // OBSOLETE {
4737 // OBSOLETE UQI opval = ANDSI (FLD (f_u8), 31);
4738 // OBSOLETE SET_H_ILM (opval);
4739 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval);
4740 // OBSOLETE }
4741 // OBSOLETE
4742 // OBSOLETE return vpc;
4743 // OBSOLETE #undef FLD
4744 // OBSOLETE }
4745 // OBSOLETE
4746 // OBSOLETE /* addsp: addsp $s10 */
4747 // OBSOLETE
4748 // OBSOLETE static SEM_PC
4749 // OBSOLETE SEM_FN_NAME (fr30bf,addsp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4750 // OBSOLETE {
4751 // OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f
4752 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4753 // OBSOLETE int UNUSED written = 0;
4754 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4755 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4756 // OBSOLETE
4757 // OBSOLETE {
4758 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10));
4759 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4760 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4761 // OBSOLETE }
4762 // OBSOLETE
4763 // OBSOLETE return vpc;
4764 // OBSOLETE #undef FLD
4765 // OBSOLETE }
4766 // OBSOLETE
4767 // OBSOLETE /* extsb: extsb $Ri */
4768 // OBSOLETE
4769 // OBSOLETE static SEM_PC
4770 // OBSOLETE SEM_FN_NAME (fr30bf,extsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4771 // OBSOLETE {
4772 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
4773 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4774 // OBSOLETE int UNUSED written = 0;
4775 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4776 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4777 // OBSOLETE
4778 // OBSOLETE {
4779 // OBSOLETE SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255));
4780 // OBSOLETE * FLD (i_Ri) = opval;
4781 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4782 // OBSOLETE }
4783 // OBSOLETE
4784 // OBSOLETE return vpc;
4785 // OBSOLETE #undef FLD
4786 // OBSOLETE }
4787 // OBSOLETE
4788 // OBSOLETE /* extub: extub $Ri */
4789 // OBSOLETE
4790 // OBSOLETE static SEM_PC
4791 // OBSOLETE SEM_FN_NAME (fr30bf,extub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4792 // OBSOLETE {
4793 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
4794 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4795 // OBSOLETE int UNUSED written = 0;
4796 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4797 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4798 // OBSOLETE
4799 // OBSOLETE {
4800 // OBSOLETE SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255));
4801 // OBSOLETE * FLD (i_Ri) = opval;
4802 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4803 // OBSOLETE }
4804 // OBSOLETE
4805 // OBSOLETE return vpc;
4806 // OBSOLETE #undef FLD
4807 // OBSOLETE }
4808 // OBSOLETE
4809 // OBSOLETE /* extsh: extsh $Ri */
4810 // OBSOLETE
4811 // OBSOLETE static SEM_PC
4812 // OBSOLETE SEM_FN_NAME (fr30bf,extsh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4813 // OBSOLETE {
4814 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
4815 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4816 // OBSOLETE int UNUSED written = 0;
4817 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4818 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4819 // OBSOLETE
4820 // OBSOLETE {
4821 // OBSOLETE SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535));
4822 // OBSOLETE * FLD (i_Ri) = opval;
4823 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4824 // OBSOLETE }
4825 // OBSOLETE
4826 // OBSOLETE return vpc;
4827 // OBSOLETE #undef FLD
4828 // OBSOLETE }
4829 // OBSOLETE
4830 // OBSOLETE /* extuh: extuh $Ri */
4831 // OBSOLETE
4832 // OBSOLETE static SEM_PC
4833 // OBSOLETE SEM_FN_NAME (fr30bf,extuh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4834 // OBSOLETE {
4835 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f
4836 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4837 // OBSOLETE int UNUSED written = 0;
4838 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4839 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4840 // OBSOLETE
4841 // OBSOLETE {
4842 // OBSOLETE SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535));
4843 // OBSOLETE * FLD (i_Ri) = opval;
4844 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4845 // OBSOLETE }
4846 // OBSOLETE
4847 // OBSOLETE return vpc;
4848 // OBSOLETE #undef FLD
4849 // OBSOLETE }
4850 // OBSOLETE
4851 // OBSOLETE /* ldm0: ldm0 ($reglist_low_ld) */
4852 // OBSOLETE
4853 // OBSOLETE static SEM_PC
4854 // OBSOLETE SEM_FN_NAME (fr30bf,ldm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
4855 // OBSOLETE {
4856 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f
4857 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
4858 // OBSOLETE int UNUSED written = 0;
4859 // OBSOLETE IADDR UNUSED pc = abuf->addr;
4860 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
4861 // OBSOLETE
4862 // OBSOLETE {
4863 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 1)) {
4864 // OBSOLETE {
4865 // OBSOLETE {
4866 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4867 // OBSOLETE CPU (h_gr[((UINT) 0)]) = opval;
4868 // OBSOLETE written |= (1 << 3);
4869 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4870 // OBSOLETE }
4871 // OBSOLETE {
4872 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4873 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4874 // OBSOLETE written |= (1 << 5);
4875 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4876 // OBSOLETE }
4877 // OBSOLETE }
4878 // OBSOLETE }
4879 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 2)) {
4880 // OBSOLETE {
4881 // OBSOLETE {
4882 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4883 // OBSOLETE CPU (h_gr[((UINT) 1)]) = opval;
4884 // OBSOLETE written |= (1 << 4);
4885 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4886 // OBSOLETE }
4887 // OBSOLETE {
4888 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4889 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4890 // OBSOLETE written |= (1 << 5);
4891 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4892 // OBSOLETE }
4893 // OBSOLETE }
4894 // OBSOLETE }
4895 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 4)) {
4896 // OBSOLETE {
4897 // OBSOLETE {
4898 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4899 // OBSOLETE CPU (h_gr[((UINT) 2)]) = opval;
4900 // OBSOLETE written |= (1 << 6);
4901 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4902 // OBSOLETE }
4903 // OBSOLETE {
4904 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4905 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4906 // OBSOLETE written |= (1 << 5);
4907 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4908 // OBSOLETE }
4909 // OBSOLETE }
4910 // OBSOLETE }
4911 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 8)) {
4912 // OBSOLETE {
4913 // OBSOLETE {
4914 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4915 // OBSOLETE CPU (h_gr[((UINT) 3)]) = opval;
4916 // OBSOLETE written |= (1 << 7);
4917 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4918 // OBSOLETE }
4919 // OBSOLETE {
4920 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4921 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4922 // OBSOLETE written |= (1 << 5);
4923 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4924 // OBSOLETE }
4925 // OBSOLETE }
4926 // OBSOLETE }
4927 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 16)) {
4928 // OBSOLETE {
4929 // OBSOLETE {
4930 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4931 // OBSOLETE CPU (h_gr[((UINT) 4)]) = opval;
4932 // OBSOLETE written |= (1 << 8);
4933 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4934 // OBSOLETE }
4935 // OBSOLETE {
4936 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4937 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4938 // OBSOLETE written |= (1 << 5);
4939 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4940 // OBSOLETE }
4941 // OBSOLETE }
4942 // OBSOLETE }
4943 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 32)) {
4944 // OBSOLETE {
4945 // OBSOLETE {
4946 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4947 // OBSOLETE CPU (h_gr[((UINT) 5)]) = opval;
4948 // OBSOLETE written |= (1 << 9);
4949 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4950 // OBSOLETE }
4951 // OBSOLETE {
4952 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4953 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4954 // OBSOLETE written |= (1 << 5);
4955 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4956 // OBSOLETE }
4957 // OBSOLETE }
4958 // OBSOLETE }
4959 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 64)) {
4960 // OBSOLETE {
4961 // OBSOLETE {
4962 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4963 // OBSOLETE CPU (h_gr[((UINT) 6)]) = opval;
4964 // OBSOLETE written |= (1 << 10);
4965 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4966 // OBSOLETE }
4967 // OBSOLETE {
4968 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4969 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4970 // OBSOLETE written |= (1 << 5);
4971 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4972 // OBSOLETE }
4973 // OBSOLETE }
4974 // OBSOLETE }
4975 // OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 128)) {
4976 // OBSOLETE {
4977 // OBSOLETE {
4978 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
4979 // OBSOLETE CPU (h_gr[((UINT) 7)]) = opval;
4980 // OBSOLETE written |= (1 << 11);
4981 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4982 // OBSOLETE }
4983 // OBSOLETE {
4984 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
4985 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
4986 // OBSOLETE written |= (1 << 5);
4987 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
4988 // OBSOLETE }
4989 // OBSOLETE }
4990 // OBSOLETE }
4991 // OBSOLETE }
4992 // OBSOLETE
4993 // OBSOLETE abuf->written = written;
4994 // OBSOLETE return vpc;
4995 // OBSOLETE #undef FLD
4996 // OBSOLETE }
4997 // OBSOLETE
4998 // OBSOLETE /* ldm1: ldm1 ($reglist_hi_ld) */
4999 // OBSOLETE
5000 // OBSOLETE static SEM_PC
5001 // OBSOLETE SEM_FN_NAME (fr30bf,ldm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
5002 // OBSOLETE {
5003 // OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f
5004 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
5005 // OBSOLETE int UNUSED written = 0;
5006 // OBSOLETE IADDR UNUSED pc = abuf->addr;
5007 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
5008 // OBSOLETE
5009 // OBSOLETE {
5010 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 1)) {
5011 // OBSOLETE {
5012 // OBSOLETE {
5013 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5014 // OBSOLETE CPU (h_gr[((UINT) 8)]) = opval;
5015 // OBSOLETE written |= (1 << 9);
5016 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5017 // OBSOLETE }
5018 // OBSOLETE {
5019 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5020 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5021 // OBSOLETE written |= (1 << 8);
5022 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5023 // OBSOLETE }
5024 // OBSOLETE }
5025 // OBSOLETE }
5026 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 2)) {
5027 // OBSOLETE {
5028 // OBSOLETE {
5029 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5030 // OBSOLETE CPU (h_gr[((UINT) 9)]) = opval;
5031 // OBSOLETE written |= (1 << 10);
5032 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5033 // OBSOLETE }
5034 // OBSOLETE {
5035 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5036 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5037 // OBSOLETE written |= (1 << 8);
5038 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5039 // OBSOLETE }
5040 // OBSOLETE }
5041 // OBSOLETE }
5042 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 4)) {
5043 // OBSOLETE {
5044 // OBSOLETE {
5045 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5046 // OBSOLETE CPU (h_gr[((UINT) 10)]) = opval;
5047 // OBSOLETE written |= (1 << 3);
5048 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5049 // OBSOLETE }
5050 // OBSOLETE {
5051 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5052 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5053 // OBSOLETE written |= (1 << 8);
5054 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5055 // OBSOLETE }
5056 // OBSOLETE }
5057 // OBSOLETE }
5058 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 8)) {
5059 // OBSOLETE {
5060 // OBSOLETE {
5061 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5062 // OBSOLETE CPU (h_gr[((UINT) 11)]) = opval;
5063 // OBSOLETE written |= (1 << 4);
5064 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5065 // OBSOLETE }
5066 // OBSOLETE {
5067 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5068 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5069 // OBSOLETE written |= (1 << 8);
5070 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5071 // OBSOLETE }
5072 // OBSOLETE }
5073 // OBSOLETE }
5074 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 16)) {
5075 // OBSOLETE {
5076 // OBSOLETE {
5077 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5078 // OBSOLETE CPU (h_gr[((UINT) 12)]) = opval;
5079 // OBSOLETE written |= (1 << 5);
5080 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5081 // OBSOLETE }
5082 // OBSOLETE {
5083 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5084 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5085 // OBSOLETE written |= (1 << 8);
5086 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5087 // OBSOLETE }
5088 // OBSOLETE }
5089 // OBSOLETE }
5090 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 32)) {
5091 // OBSOLETE {
5092 // OBSOLETE {
5093 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5094 // OBSOLETE CPU (h_gr[((UINT) 13)]) = opval;
5095 // OBSOLETE written |= (1 << 6);
5096 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5097 // OBSOLETE }
5098 // OBSOLETE {
5099 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5100 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5101 // OBSOLETE written |= (1 << 8);
5102 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5103 // OBSOLETE }
5104 // OBSOLETE }
5105 // OBSOLETE }
5106 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 64)) {
5107 // OBSOLETE {
5108 // OBSOLETE {
5109 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5110 // OBSOLETE CPU (h_gr[((UINT) 14)]) = opval;
5111 // OBSOLETE written |= (1 << 7);
5112 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5113 // OBSOLETE }
5114 // OBSOLETE {
5115 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4);
5116 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5117 // OBSOLETE written |= (1 << 8);
5118 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5119 // OBSOLETE }
5120 // OBSOLETE }
5121 // OBSOLETE }
5122 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 128)) {
5123 // OBSOLETE {
5124 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]));
5125 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5126 // OBSOLETE written |= (1 << 8);
5127 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5128 // OBSOLETE }
5129 // OBSOLETE }
5130 // OBSOLETE }
5131 // OBSOLETE
5132 // OBSOLETE abuf->written = written;
5133 // OBSOLETE return vpc;
5134 // OBSOLETE #undef FLD
5135 // OBSOLETE }
5136 // OBSOLETE
5137 // OBSOLETE /* stm0: stm0 ($reglist_low_st) */
5138 // OBSOLETE
5139 // OBSOLETE static SEM_PC
5140 // OBSOLETE SEM_FN_NAME (fr30bf,stm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
5141 // OBSOLETE {
5142 // OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f
5143 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
5144 // OBSOLETE int UNUSED written = 0;
5145 // OBSOLETE IADDR UNUSED pc = abuf->addr;
5146 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
5147 // OBSOLETE
5148 // OBSOLETE {
5149 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 1)) {
5150 // OBSOLETE {
5151 // OBSOLETE {
5152 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5153 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5154 // OBSOLETE written |= (1 << 10);
5155 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5156 // OBSOLETE }
5157 // OBSOLETE {
5158 // OBSOLETE SI opval = CPU (h_gr[((UINT) 7)]);
5159 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5160 // OBSOLETE written |= (1 << 11);
5161 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5162 // OBSOLETE }
5163 // OBSOLETE }
5164 // OBSOLETE }
5165 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 2)) {
5166 // OBSOLETE {
5167 // OBSOLETE {
5168 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5169 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5170 // OBSOLETE written |= (1 << 10);
5171 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5172 // OBSOLETE }
5173 // OBSOLETE {
5174 // OBSOLETE SI opval = CPU (h_gr[((UINT) 6)]);
5175 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5176 // OBSOLETE written |= (1 << 11);
5177 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5178 // OBSOLETE }
5179 // OBSOLETE }
5180 // OBSOLETE }
5181 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 4)) {
5182 // OBSOLETE {
5183 // OBSOLETE {
5184 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5185 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5186 // OBSOLETE written |= (1 << 10);
5187 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5188 // OBSOLETE }
5189 // OBSOLETE {
5190 // OBSOLETE SI opval = CPU (h_gr[((UINT) 5)]);
5191 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5192 // OBSOLETE written |= (1 << 11);
5193 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5194 // OBSOLETE }
5195 // OBSOLETE }
5196 // OBSOLETE }
5197 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 8)) {
5198 // OBSOLETE {
5199 // OBSOLETE {
5200 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5201 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5202 // OBSOLETE written |= (1 << 10);
5203 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5204 // OBSOLETE }
5205 // OBSOLETE {
5206 // OBSOLETE SI opval = CPU (h_gr[((UINT) 4)]);
5207 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5208 // OBSOLETE written |= (1 << 11);
5209 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5210 // OBSOLETE }
5211 // OBSOLETE }
5212 // OBSOLETE }
5213 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 16)) {
5214 // OBSOLETE {
5215 // OBSOLETE {
5216 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5217 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5218 // OBSOLETE written |= (1 << 10);
5219 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5220 // OBSOLETE }
5221 // OBSOLETE {
5222 // OBSOLETE SI opval = CPU (h_gr[((UINT) 3)]);
5223 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5224 // OBSOLETE written |= (1 << 11);
5225 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5226 // OBSOLETE }
5227 // OBSOLETE }
5228 // OBSOLETE }
5229 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 32)) {
5230 // OBSOLETE {
5231 // OBSOLETE {
5232 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5233 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5234 // OBSOLETE written |= (1 << 10);
5235 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5236 // OBSOLETE }
5237 // OBSOLETE {
5238 // OBSOLETE SI opval = CPU (h_gr[((UINT) 2)]);
5239 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5240 // OBSOLETE written |= (1 << 11);
5241 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5242 // OBSOLETE }
5243 // OBSOLETE }
5244 // OBSOLETE }
5245 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 64)) {
5246 // OBSOLETE {
5247 // OBSOLETE {
5248 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5249 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5250 // OBSOLETE written |= (1 << 10);
5251 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5252 // OBSOLETE }
5253 // OBSOLETE {
5254 // OBSOLETE SI opval = CPU (h_gr[((UINT) 1)]);
5255 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5256 // OBSOLETE written |= (1 << 11);
5257 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5258 // OBSOLETE }
5259 // OBSOLETE }
5260 // OBSOLETE }
5261 // OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 128)) {
5262 // OBSOLETE {
5263 // OBSOLETE {
5264 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5265 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5266 // OBSOLETE written |= (1 << 10);
5267 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5268 // OBSOLETE }
5269 // OBSOLETE {
5270 // OBSOLETE SI opval = CPU (h_gr[((UINT) 0)]);
5271 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5272 // OBSOLETE written |= (1 << 11);
5273 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5274 // OBSOLETE }
5275 // OBSOLETE }
5276 // OBSOLETE }
5277 // OBSOLETE }
5278 // OBSOLETE
5279 // OBSOLETE abuf->written = written;
5280 // OBSOLETE return vpc;
5281 // OBSOLETE #undef FLD
5282 // OBSOLETE }
5283 // OBSOLETE
5284 // OBSOLETE /* stm1: stm1 ($reglist_hi_st) */
5285 // OBSOLETE
5286 // OBSOLETE static SEM_PC
5287 // OBSOLETE SEM_FN_NAME (fr30bf,stm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
5288 // OBSOLETE {
5289 // OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f
5290 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
5291 // OBSOLETE int UNUSED written = 0;
5292 // OBSOLETE IADDR UNUSED pc = abuf->addr;
5293 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
5294 // OBSOLETE
5295 // OBSOLETE {
5296 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 1)) {
5297 // OBSOLETE {
5298 // OBSOLETE SI tmp_save_r15;
5299 // OBSOLETE tmp_save_r15 = CPU (h_gr[((UINT) 15)]);
5300 // OBSOLETE {
5301 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5302 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5303 // OBSOLETE written |= (1 << 9);
5304 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5305 // OBSOLETE }
5306 // OBSOLETE {
5307 // OBSOLETE SI opval = tmp_save_r15;
5308 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5309 // OBSOLETE written |= (1 << 10);
5310 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5311 // OBSOLETE }
5312 // OBSOLETE }
5313 // OBSOLETE }
5314 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 2)) {
5315 // OBSOLETE {
5316 // OBSOLETE {
5317 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5318 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5319 // OBSOLETE written |= (1 << 9);
5320 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5321 // OBSOLETE }
5322 // OBSOLETE {
5323 // OBSOLETE SI opval = CPU (h_gr[((UINT) 14)]);
5324 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5325 // OBSOLETE written |= (1 << 10);
5326 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5327 // OBSOLETE }
5328 // OBSOLETE }
5329 // OBSOLETE }
5330 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 4)) {
5331 // OBSOLETE {
5332 // OBSOLETE {
5333 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5334 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5335 // OBSOLETE written |= (1 << 9);
5336 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5337 // OBSOLETE }
5338 // OBSOLETE {
5339 // OBSOLETE SI opval = CPU (h_gr[((UINT) 13)]);
5340 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5341 // OBSOLETE written |= (1 << 10);
5342 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5343 // OBSOLETE }
5344 // OBSOLETE }
5345 // OBSOLETE }
5346 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 8)) {
5347 // OBSOLETE {
5348 // OBSOLETE {
5349 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5350 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5351 // OBSOLETE written |= (1 << 9);
5352 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5353 // OBSOLETE }
5354 // OBSOLETE {
5355 // OBSOLETE SI opval = CPU (h_gr[((UINT) 12)]);
5356 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5357 // OBSOLETE written |= (1 << 10);
5358 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5359 // OBSOLETE }
5360 // OBSOLETE }
5361 // OBSOLETE }
5362 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 16)) {
5363 // OBSOLETE {
5364 // OBSOLETE {
5365 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5366 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5367 // OBSOLETE written |= (1 << 9);
5368 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5369 // OBSOLETE }
5370 // OBSOLETE {
5371 // OBSOLETE SI opval = CPU (h_gr[((UINT) 11)]);
5372 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5373 // OBSOLETE written |= (1 << 10);
5374 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5375 // OBSOLETE }
5376 // OBSOLETE }
5377 // OBSOLETE }
5378 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 32)) {
5379 // OBSOLETE {
5380 // OBSOLETE {
5381 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5382 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5383 // OBSOLETE written |= (1 << 9);
5384 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5385 // OBSOLETE }
5386 // OBSOLETE {
5387 // OBSOLETE SI opval = CPU (h_gr[((UINT) 10)]);
5388 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5389 // OBSOLETE written |= (1 << 10);
5390 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5391 // OBSOLETE }
5392 // OBSOLETE }
5393 // OBSOLETE }
5394 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 64)) {
5395 // OBSOLETE {
5396 // OBSOLETE {
5397 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5398 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5399 // OBSOLETE written |= (1 << 9);
5400 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5401 // OBSOLETE }
5402 // OBSOLETE {
5403 // OBSOLETE SI opval = CPU (h_gr[((UINT) 9)]);
5404 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5405 // OBSOLETE written |= (1 << 10);
5406 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5407 // OBSOLETE }
5408 // OBSOLETE }
5409 // OBSOLETE }
5410 // OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 128)) {
5411 // OBSOLETE {
5412 // OBSOLETE {
5413 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5414 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5415 // OBSOLETE written |= (1 << 9);
5416 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5417 // OBSOLETE }
5418 // OBSOLETE {
5419 // OBSOLETE SI opval = CPU (h_gr[((UINT) 8)]);
5420 // OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval);
5421 // OBSOLETE written |= (1 << 10);
5422 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5423 // OBSOLETE }
5424 // OBSOLETE }
5425 // OBSOLETE }
5426 // OBSOLETE }
5427 // OBSOLETE
5428 // OBSOLETE abuf->written = written;
5429 // OBSOLETE return vpc;
5430 // OBSOLETE #undef FLD
5431 // OBSOLETE }
5432 // OBSOLETE
5433 // OBSOLETE /* enter: enter $u10 */
5434 // OBSOLETE
5435 // OBSOLETE static SEM_PC
5436 // OBSOLETE SEM_FN_NAME (fr30bf,enter) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
5437 // OBSOLETE {
5438 // OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
5439 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
5440 // OBSOLETE int UNUSED written = 0;
5441 // OBSOLETE IADDR UNUSED pc = abuf->addr;
5442 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
5443 // OBSOLETE
5444 // OBSOLETE {
5445 // OBSOLETE SI tmp_tmp;
5446 // OBSOLETE tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4);
5447 // OBSOLETE {
5448 // OBSOLETE SI opval = CPU (h_gr[((UINT) 14)]);
5449 // OBSOLETE SETMEMSI (current_cpu, pc, tmp_tmp, opval);
5450 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5451 // OBSOLETE }
5452 // OBSOLETE {
5453 // OBSOLETE SI opval = tmp_tmp;
5454 // OBSOLETE CPU (h_gr[((UINT) 14)]) = opval;
5455 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5456 // OBSOLETE }
5457 // OBSOLETE {
5458 // OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10));
5459 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5460 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5461 // OBSOLETE }
5462 // OBSOLETE }
5463 // OBSOLETE
5464 // OBSOLETE return vpc;
5465 // OBSOLETE #undef FLD
5466 // OBSOLETE }
5467 // OBSOLETE
5468 // OBSOLETE /* leave: leave */
5469 // OBSOLETE
5470 // OBSOLETE static SEM_PC
5471 // OBSOLETE SEM_FN_NAME (fr30bf,leave) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
5472 // OBSOLETE {
5473 // OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f
5474 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
5475 // OBSOLETE int UNUSED written = 0;
5476 // OBSOLETE IADDR UNUSED pc = abuf->addr;
5477 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
5478 // OBSOLETE
5479 // OBSOLETE {
5480 // OBSOLETE {
5481 // OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4);
5482 // OBSOLETE CPU (h_gr[((UINT) 15)]) = opval;
5483 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5484 // OBSOLETE }
5485 // OBSOLETE {
5486 // OBSOLETE SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4));
5487 // OBSOLETE CPU (h_gr[((UINT) 14)]) = opval;
5488 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5489 // OBSOLETE }
5490 // OBSOLETE }
5491 // OBSOLETE
5492 // OBSOLETE return vpc;
5493 // OBSOLETE #undef FLD
5494 // OBSOLETE }
5495 // OBSOLETE
5496 // OBSOLETE /* xchb: xchb @$Rj,$Ri */
5497 // OBSOLETE
5498 // OBSOLETE static SEM_PC
5499 // OBSOLETE SEM_FN_NAME (fr30bf,xchb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
5500 // OBSOLETE {
5501 // OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f
5502 // OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg);
5503 // OBSOLETE int UNUSED written = 0;
5504 // OBSOLETE IADDR UNUSED pc = abuf->addr;
5505 // OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
5506 // OBSOLETE
5507 // OBSOLETE {
5508 // OBSOLETE SI tmp_tmp;
5509 // OBSOLETE tmp_tmp = * FLD (i_Ri);
5510 // OBSOLETE {
5511 // OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj));
5512 // OBSOLETE * FLD (i_Ri) = opval;
5513 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
5514 // OBSOLETE }
5515 // OBSOLETE {
5516 // OBSOLETE UQI opval = tmp_tmp;
5517 // OBSOLETE SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval);
5518 // OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
5519 // OBSOLETE }
5520 // OBSOLETE }
5521 // OBSOLETE
5522 // OBSOLETE return vpc;
5523 // OBSOLETE #undef FLD
5524 // OBSOLETE }
5525 // OBSOLETE
5526 // OBSOLETE /* Table of all semantic fns. */
5527 // OBSOLETE
5528 // OBSOLETE static const struct sem_fn_desc sem_fns[] = {
5529 // OBSOLETE { FR30BF_INSN_X_INVALID, SEM_FN_NAME (fr30bf,x_invalid) },
5530 // OBSOLETE { FR30BF_INSN_X_AFTER, SEM_FN_NAME (fr30bf,x_after) },
5531 // OBSOLETE { FR30BF_INSN_X_BEFORE, SEM_FN_NAME (fr30bf,x_before) },
5532 // OBSOLETE { FR30BF_INSN_X_CTI_CHAIN, SEM_FN_NAME (fr30bf,x_cti_chain) },
5533 // OBSOLETE { FR30BF_INSN_X_CHAIN, SEM_FN_NAME (fr30bf,x_chain) },
5534 // OBSOLETE { FR30BF_INSN_X_BEGIN, SEM_FN_NAME (fr30bf,x_begin) },
5535 // OBSOLETE { FR30BF_INSN_ADD, SEM_FN_NAME (fr30bf,add) },
5536 // OBSOLETE { FR30BF_INSN_ADDI, SEM_FN_NAME (fr30bf,addi) },
5537 // OBSOLETE { FR30BF_INSN_ADD2, SEM_FN_NAME (fr30bf,add2) },
5538 // OBSOLETE { FR30BF_INSN_ADDC, SEM_FN_NAME (fr30bf,addc) },
5539 // OBSOLETE { FR30BF_INSN_ADDN, SEM_FN_NAME (fr30bf,addn) },
5540 // OBSOLETE { FR30BF_INSN_ADDNI, SEM_FN_NAME (fr30bf,addni) },
5541 // OBSOLETE { FR30BF_INSN_ADDN2, SEM_FN_NAME (fr30bf,addn2) },
5542 // OBSOLETE { FR30BF_INSN_SUB, SEM_FN_NAME (fr30bf,sub) },
5543 // OBSOLETE { FR30BF_INSN_SUBC, SEM_FN_NAME (fr30bf,subc) },
5544 // OBSOLETE { FR30BF_INSN_SUBN, SEM_FN_NAME (fr30bf,subn) },
5545 // OBSOLETE { FR30BF_INSN_CMP, SEM_FN_NAME (fr30bf,cmp) },
5546 // OBSOLETE { FR30BF_INSN_CMPI, SEM_FN_NAME (fr30bf,cmpi) },
5547 // OBSOLETE { FR30BF_INSN_CMP2, SEM_FN_NAME (fr30bf,cmp2) },
5548 // OBSOLETE { FR30BF_INSN_AND, SEM_FN_NAME (fr30bf,and) },
5549 // OBSOLETE { FR30BF_INSN_OR, SEM_FN_NAME (fr30bf,or) },
5550 // OBSOLETE { FR30BF_INSN_EOR, SEM_FN_NAME (fr30bf,eor) },
5551 // OBSOLETE { FR30BF_INSN_ANDM, SEM_FN_NAME (fr30bf,andm) },
5552 // OBSOLETE { FR30BF_INSN_ANDH, SEM_FN_NAME (fr30bf,andh) },
5553 // OBSOLETE { FR30BF_INSN_ANDB, SEM_FN_NAME (fr30bf,andb) },
5554 // OBSOLETE { FR30BF_INSN_ORM, SEM_FN_NAME (fr30bf,orm) },
5555 // OBSOLETE { FR30BF_INSN_ORH, SEM_FN_NAME (fr30bf,orh) },
5556 // OBSOLETE { FR30BF_INSN_ORB, SEM_FN_NAME (fr30bf,orb) },
5557 // OBSOLETE { FR30BF_INSN_EORM, SEM_FN_NAME (fr30bf,eorm) },
5558 // OBSOLETE { FR30BF_INSN_EORH, SEM_FN_NAME (fr30bf,eorh) },
5559 // OBSOLETE { FR30BF_INSN_EORB, SEM_FN_NAME (fr30bf,eorb) },
5560 // OBSOLETE { FR30BF_INSN_BANDL, SEM_FN_NAME (fr30bf,bandl) },
5561 // OBSOLETE { FR30BF_INSN_BORL, SEM_FN_NAME (fr30bf,borl) },
5562 // OBSOLETE { FR30BF_INSN_BEORL, SEM_FN_NAME (fr30bf,beorl) },
5563 // OBSOLETE { FR30BF_INSN_BANDH, SEM_FN_NAME (fr30bf,bandh) },
5564 // OBSOLETE { FR30BF_INSN_BORH, SEM_FN_NAME (fr30bf,borh) },
5565 // OBSOLETE { FR30BF_INSN_BEORH, SEM_FN_NAME (fr30bf,beorh) },
5566 // OBSOLETE { FR30BF_INSN_BTSTL, SEM_FN_NAME (fr30bf,btstl) },
5567 // OBSOLETE { FR30BF_INSN_BTSTH, SEM_FN_NAME (fr30bf,btsth) },
5568 // OBSOLETE { FR30BF_INSN_MUL, SEM_FN_NAME (fr30bf,mul) },
5569 // OBSOLETE { FR30BF_INSN_MULU, SEM_FN_NAME (fr30bf,mulu) },
5570 // OBSOLETE { FR30BF_INSN_MULH, SEM_FN_NAME (fr30bf,mulh) },
5571 // OBSOLETE { FR30BF_INSN_MULUH, SEM_FN_NAME (fr30bf,muluh) },
5572 // OBSOLETE { FR30BF_INSN_DIV0S, SEM_FN_NAME (fr30bf,div0s) },
5573 // OBSOLETE { FR30BF_INSN_DIV0U, SEM_FN_NAME (fr30bf,div0u) },
5574 // OBSOLETE { FR30BF_INSN_DIV1, SEM_FN_NAME (fr30bf,div1) },
5575 // OBSOLETE { FR30BF_INSN_DIV2, SEM_FN_NAME (fr30bf,div2) },
5576 // OBSOLETE { FR30BF_INSN_DIV3, SEM_FN_NAME (fr30bf,div3) },
5577 // OBSOLETE { FR30BF_INSN_DIV4S, SEM_FN_NAME (fr30bf,div4s) },
5578 // OBSOLETE { FR30BF_INSN_LSL, SEM_FN_NAME (fr30bf,lsl) },
5579 // OBSOLETE { FR30BF_INSN_LSLI, SEM_FN_NAME (fr30bf,lsli) },
5580 // OBSOLETE { FR30BF_INSN_LSL2, SEM_FN_NAME (fr30bf,lsl2) },
5581 // OBSOLETE { FR30BF_INSN_LSR, SEM_FN_NAME (fr30bf,lsr) },
5582 // OBSOLETE { FR30BF_INSN_LSRI, SEM_FN_NAME (fr30bf,lsri) },
5583 // OBSOLETE { FR30BF_INSN_LSR2, SEM_FN_NAME (fr30bf,lsr2) },
5584 // OBSOLETE { FR30BF_INSN_ASR, SEM_FN_NAME (fr30bf,asr) },
5585 // OBSOLETE { FR30BF_INSN_ASRI, SEM_FN_NAME (fr30bf,asri) },
5586 // OBSOLETE { FR30BF_INSN_ASR2, SEM_FN_NAME (fr30bf,asr2) },
5587 // OBSOLETE { FR30BF_INSN_LDI8, SEM_FN_NAME (fr30bf,ldi8) },
5588 // OBSOLETE { FR30BF_INSN_LDI20, SEM_FN_NAME (fr30bf,ldi20) },
5589 // OBSOLETE { FR30BF_INSN_LDI32, SEM_FN_NAME (fr30bf,ldi32) },
5590 // OBSOLETE { FR30BF_INSN_LD, SEM_FN_NAME (fr30bf,ld) },
5591 // OBSOLETE { FR30BF_INSN_LDUH, SEM_FN_NAME (fr30bf,lduh) },
5592 // OBSOLETE { FR30BF_INSN_LDUB, SEM_FN_NAME (fr30bf,ldub) },
5593 // OBSOLETE { FR30BF_INSN_LDR13, SEM_FN_NAME (fr30bf,ldr13) },
5594 // OBSOLETE { FR30BF_INSN_LDR13UH, SEM_FN_NAME (fr30bf,ldr13uh) },
5595 // OBSOLETE { FR30BF_INSN_LDR13UB, SEM_FN_NAME (fr30bf,ldr13ub) },
5596 // OBSOLETE { FR30BF_INSN_LDR14, SEM_FN_NAME (fr30bf,ldr14) },
5597 // OBSOLETE { FR30BF_INSN_LDR14UH, SEM_FN_NAME (fr30bf,ldr14uh) },
5598 // OBSOLETE { FR30BF_INSN_LDR14UB, SEM_FN_NAME (fr30bf,ldr14ub) },
5599 // OBSOLETE { FR30BF_INSN_LDR15, SEM_FN_NAME (fr30bf,ldr15) },
5600 // OBSOLETE { FR30BF_INSN_LDR15GR, SEM_FN_NAME (fr30bf,ldr15gr) },
5601 // OBSOLETE { FR30BF_INSN_LDR15DR, SEM_FN_NAME (fr30bf,ldr15dr) },
5602 // OBSOLETE { FR30BF_INSN_LDR15PS, SEM_FN_NAME (fr30bf,ldr15ps) },
5603 // OBSOLETE { FR30BF_INSN_ST, SEM_FN_NAME (fr30bf,st) },
5604 // OBSOLETE { FR30BF_INSN_STH, SEM_FN_NAME (fr30bf,sth) },
5605 // OBSOLETE { FR30BF_INSN_STB, SEM_FN_NAME (fr30bf,stb) },
5606 // OBSOLETE { FR30BF_INSN_STR13, SEM_FN_NAME (fr30bf,str13) },
5607 // OBSOLETE { FR30BF_INSN_STR13H, SEM_FN_NAME (fr30bf,str13h) },
5608 // OBSOLETE { FR30BF_INSN_STR13B, SEM_FN_NAME (fr30bf,str13b) },
5609 // OBSOLETE { FR30BF_INSN_STR14, SEM_FN_NAME (fr30bf,str14) },
5610 // OBSOLETE { FR30BF_INSN_STR14H, SEM_FN_NAME (fr30bf,str14h) },
5611 // OBSOLETE { FR30BF_INSN_STR14B, SEM_FN_NAME (fr30bf,str14b) },
5612 // OBSOLETE { FR30BF_INSN_STR15, SEM_FN_NAME (fr30bf,str15) },
5613 // OBSOLETE { FR30BF_INSN_STR15GR, SEM_FN_NAME (fr30bf,str15gr) },
5614 // OBSOLETE { FR30BF_INSN_STR15DR, SEM_FN_NAME (fr30bf,str15dr) },
5615 // OBSOLETE { FR30BF_INSN_STR15PS, SEM_FN_NAME (fr30bf,str15ps) },
5616 // OBSOLETE { FR30BF_INSN_MOV, SEM_FN_NAME (fr30bf,mov) },
5617 // OBSOLETE { FR30BF_INSN_MOVDR, SEM_FN_NAME (fr30bf,movdr) },
5618 // OBSOLETE { FR30BF_INSN_MOVPS, SEM_FN_NAME (fr30bf,movps) },
5619 // OBSOLETE { FR30BF_INSN_MOV2DR, SEM_FN_NAME (fr30bf,mov2dr) },
5620 // OBSOLETE { FR30BF_INSN_MOV2PS, SEM_FN_NAME (fr30bf,mov2ps) },
5621 // OBSOLETE { FR30BF_INSN_JMP, SEM_FN_NAME (fr30bf,jmp) },
5622 // OBSOLETE { FR30BF_INSN_JMPD, SEM_FN_NAME (fr30bf,jmpd) },
5623 // OBSOLETE { FR30BF_INSN_CALLR, SEM_FN_NAME (fr30bf,callr) },
5624 // OBSOLETE { FR30BF_INSN_CALLRD, SEM_FN_NAME (fr30bf,callrd) },
5625 // OBSOLETE { FR30BF_INSN_CALL, SEM_FN_NAME (fr30bf,call) },
5626 // OBSOLETE { FR30BF_INSN_CALLD, SEM_FN_NAME (fr30bf,calld) },
5627 // OBSOLETE { FR30BF_INSN_RET, SEM_FN_NAME (fr30bf,ret) },
5628 // OBSOLETE { FR30BF_INSN_RET_D, SEM_FN_NAME (fr30bf,ret_d) },
5629 // OBSOLETE { FR30BF_INSN_INT, SEM_FN_NAME (fr30bf,int) },
5630 // OBSOLETE { FR30BF_INSN_INTE, SEM_FN_NAME (fr30bf,inte) },
5631 // OBSOLETE { FR30BF_INSN_RETI, SEM_FN_NAME (fr30bf,reti) },
5632 // OBSOLETE { FR30BF_INSN_BRAD, SEM_FN_NAME (fr30bf,brad) },
5633 // OBSOLETE { FR30BF_INSN_BRA, SEM_FN_NAME (fr30bf,bra) },
5634 // OBSOLETE { FR30BF_INSN_BNOD, SEM_FN_NAME (fr30bf,bnod) },
5635 // OBSOLETE { FR30BF_INSN_BNO, SEM_FN_NAME (fr30bf,bno) },
5636 // OBSOLETE { FR30BF_INSN_BEQD, SEM_FN_NAME (fr30bf,beqd) },
5637 // OBSOLETE { FR30BF_INSN_BEQ, SEM_FN_NAME (fr30bf,beq) },
5638 // OBSOLETE { FR30BF_INSN_BNED, SEM_FN_NAME (fr30bf,bned) },
5639 // OBSOLETE { FR30BF_INSN_BNE, SEM_FN_NAME (fr30bf,bne) },
5640 // OBSOLETE { FR30BF_INSN_BCD, SEM_FN_NAME (fr30bf,bcd) },
5641 // OBSOLETE { FR30BF_INSN_BC, SEM_FN_NAME (fr30bf,bc) },
5642 // OBSOLETE { FR30BF_INSN_BNCD, SEM_FN_NAME (fr30bf,bncd) },
5643 // OBSOLETE { FR30BF_INSN_BNC, SEM_FN_NAME (fr30bf,bnc) },
5644 // OBSOLETE { FR30BF_INSN_BND, SEM_FN_NAME (fr30bf,bnd) },
5645 // OBSOLETE { FR30BF_INSN_BN, SEM_FN_NAME (fr30bf,bn) },
5646 // OBSOLETE { FR30BF_INSN_BPD, SEM_FN_NAME (fr30bf,bpd) },
5647 // OBSOLETE { FR30BF_INSN_BP, SEM_FN_NAME (fr30bf,bp) },
5648 // OBSOLETE { FR30BF_INSN_BVD, SEM_FN_NAME (fr30bf,bvd) },
5649 // OBSOLETE { FR30BF_INSN_BV, SEM_FN_NAME (fr30bf,bv) },
5650 // OBSOLETE { FR30BF_INSN_BNVD, SEM_FN_NAME (fr30bf,bnvd) },
5651 // OBSOLETE { FR30BF_INSN_BNV, SEM_FN_NAME (fr30bf,bnv) },
5652 // OBSOLETE { FR30BF_INSN_BLTD, SEM_FN_NAME (fr30bf,bltd) },
5653 // OBSOLETE { FR30BF_INSN_BLT, SEM_FN_NAME (fr30bf,blt) },
5654 // OBSOLETE { FR30BF_INSN_BGED, SEM_FN_NAME (fr30bf,bged) },
5655 // OBSOLETE { FR30BF_INSN_BGE, SEM_FN_NAME (fr30bf,bge) },
5656 // OBSOLETE { FR30BF_INSN_BLED, SEM_FN_NAME (fr30bf,bled) },
5657 // OBSOLETE { FR30BF_INSN_BLE, SEM_FN_NAME (fr30bf,ble) },
5658 // OBSOLETE { FR30BF_INSN_BGTD, SEM_FN_NAME (fr30bf,bgtd) },
5659 // OBSOLETE { FR30BF_INSN_BGT, SEM_FN_NAME (fr30bf,bgt) },
5660 // OBSOLETE { FR30BF_INSN_BLSD, SEM_FN_NAME (fr30bf,blsd) },
5661 // OBSOLETE { FR30BF_INSN_BLS, SEM_FN_NAME (fr30bf,bls) },
5662 // OBSOLETE { FR30BF_INSN_BHID, SEM_FN_NAME (fr30bf,bhid) },
5663 // OBSOLETE { FR30BF_INSN_BHI, SEM_FN_NAME (fr30bf,bhi) },
5664 // OBSOLETE { FR30BF_INSN_DMOVR13, SEM_FN_NAME (fr30bf,dmovr13) },
5665 // OBSOLETE { FR30BF_INSN_DMOVR13H, SEM_FN_NAME (fr30bf,dmovr13h) },
5666 // OBSOLETE { FR30BF_INSN_DMOVR13B, SEM_FN_NAME (fr30bf,dmovr13b) },
5667 // OBSOLETE { FR30BF_INSN_DMOVR13PI, SEM_FN_NAME (fr30bf,dmovr13pi) },
5668 // OBSOLETE { FR30BF_INSN_DMOVR13PIH, SEM_FN_NAME (fr30bf,dmovr13pih) },
5669 // OBSOLETE { FR30BF_INSN_DMOVR13PIB, SEM_FN_NAME (fr30bf,dmovr13pib) },
5670 // OBSOLETE { FR30BF_INSN_DMOVR15PI, SEM_FN_NAME (fr30bf,dmovr15pi) },
5671 // OBSOLETE { FR30BF_INSN_DMOV2R13, SEM_FN_NAME (fr30bf,dmov2r13) },
5672 // OBSOLETE { FR30BF_INSN_DMOV2R13H, SEM_FN_NAME (fr30bf,dmov2r13h) },
5673 // OBSOLETE { FR30BF_INSN_DMOV2R13B, SEM_FN_NAME (fr30bf,dmov2r13b) },
5674 // OBSOLETE { FR30BF_INSN_DMOV2R13PI, SEM_FN_NAME (fr30bf,dmov2r13pi) },
5675 // OBSOLETE { FR30BF_INSN_DMOV2R13PIH, SEM_FN_NAME (fr30bf,dmov2r13pih) },
5676 // OBSOLETE { FR30BF_INSN_DMOV2R13PIB, SEM_FN_NAME (fr30bf,dmov2r13pib) },
5677 // OBSOLETE { FR30BF_INSN_DMOV2R15PD, SEM_FN_NAME (fr30bf,dmov2r15pd) },
5678 // OBSOLETE { FR30BF_INSN_LDRES, SEM_FN_NAME (fr30bf,ldres) },
5679 // OBSOLETE { FR30BF_INSN_STRES, SEM_FN_NAME (fr30bf,stres) },
5680 // OBSOLETE { FR30BF_INSN_COPOP, SEM_FN_NAME (fr30bf,copop) },
5681 // OBSOLETE { FR30BF_INSN_COPLD, SEM_FN_NAME (fr30bf,copld) },
5682 // OBSOLETE { FR30BF_INSN_COPST, SEM_FN_NAME (fr30bf,copst) },
5683 // OBSOLETE { FR30BF_INSN_COPSV, SEM_FN_NAME (fr30bf,copsv) },
5684 // OBSOLETE { FR30BF_INSN_NOP, SEM_FN_NAME (fr30bf,nop) },
5685 // OBSOLETE { FR30BF_INSN_ANDCCR, SEM_FN_NAME (fr30bf,andccr) },
5686 // OBSOLETE { FR30BF_INSN_ORCCR, SEM_FN_NAME (fr30bf,orccr) },
5687 // OBSOLETE { FR30BF_INSN_STILM, SEM_FN_NAME (fr30bf,stilm) },
5688 // OBSOLETE { FR30BF_INSN_ADDSP, SEM_FN_NAME (fr30bf,addsp) },
5689 // OBSOLETE { FR30BF_INSN_EXTSB, SEM_FN_NAME (fr30bf,extsb) },
5690 // OBSOLETE { FR30BF_INSN_EXTUB, SEM_FN_NAME (fr30bf,extub) },
5691 // OBSOLETE { FR30BF_INSN_EXTSH, SEM_FN_NAME (fr30bf,extsh) },
5692 // OBSOLETE { FR30BF_INSN_EXTUH, SEM_FN_NAME (fr30bf,extuh) },
5693 // OBSOLETE { FR30BF_INSN_LDM0, SEM_FN_NAME (fr30bf,ldm0) },
5694 // OBSOLETE { FR30BF_INSN_LDM1, SEM_FN_NAME (fr30bf,ldm1) },
5695 // OBSOLETE { FR30BF_INSN_STM0, SEM_FN_NAME (fr30bf,stm0) },
5696 // OBSOLETE { FR30BF_INSN_STM1, SEM_FN_NAME (fr30bf,stm1) },
5697 // OBSOLETE { FR30BF_INSN_ENTER, SEM_FN_NAME (fr30bf,enter) },
5698 // OBSOLETE { FR30BF_INSN_LEAVE, SEM_FN_NAME (fr30bf,leave) },
5699 // OBSOLETE { FR30BF_INSN_XCHB, SEM_FN_NAME (fr30bf,xchb) },
5700 // OBSOLETE { 0, 0 }
5701 // OBSOLETE };
5702 // OBSOLETE
5703 // OBSOLETE /* Add the semantic fns to IDESC_TABLE. */
5704 // OBSOLETE
5705 // OBSOLETE void
5706 // OBSOLETE SEM_FN_NAME (fr30bf,init_idesc_table) (SIM_CPU *current_cpu)
5707 // OBSOLETE {
5708 // OBSOLETE IDESC *idesc_table = CPU_IDESC (current_cpu);
5709 // OBSOLETE const struct sem_fn_desc *sf;
5710 // OBSOLETE int mach_num = MACH_NUM (CPU_MACH (current_cpu));
5711 // OBSOLETE
5712 // OBSOLETE for (sf = &sem_fns[0]; sf->fn != 0; ++sf)
5713 // OBSOLETE {
5714 // OBSOLETE const CGEN_INSN *insn = idesc_table[sf->index].idata;
5715 // OBSOLETE int valid_p = (CGEN_INSN_VIRTUAL_P (insn)
5716 // OBSOLETE || CGEN_INSN_MACH_HAS_P (insn, mach_num));
5717 // OBSOLETE #if FAST_P
5718 // OBSOLETE if (valid_p)
5719 // OBSOLETE idesc_table[sf->index].sem_fast = sf->fn;
5720 // OBSOLETE else
5721 // OBSOLETE idesc_table[sf->index].sem_fast = SEM_FN_NAME (fr30bf,x_invalid);
5722 // OBSOLETE #else
5723 // OBSOLETE if (valid_p)
5724 // OBSOLETE idesc_table[sf->index].sem_full = sf->fn;
5725 // OBSOLETE else
5726 // OBSOLETE idesc_table[sf->index].sem_full = SEM_FN_NAME (fr30bf,x_invalid);
5727 // OBSOLETE #endif
5728 // OBSOLETE }
5729 // OBSOLETE }
This page took 0.137798 seconds and 5 git commands to generate.