From c46ec85da270994b50ccc5c8de0f1751cf3a0683 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Fri, 12 Nov 2004 16:45:32 +0000 Subject: [PATCH] 2004-11-12 Andrew Cagney * d30v, fr30, mn10200, z8k: Delete directory. --- sim/ChangeLog | 4 + sim/d30v/ChangeLog | 1390 --------- sim/d30v/Makefile.in | 217 -- sim/d30v/acconfig.h | 15 - sim/d30v/alu.h | 106 - sim/d30v/config.in | 162 -- sim/d30v/configure | 4459 ----------------------------- sim/d30v/configure.in | 40 - sim/d30v/cpu.c | 172 -- sim/d30v/cpu.h | 249 -- sim/d30v/d30v-insns | 2421 ---------------- sim/d30v/dc-short | 22 - sim/d30v/engine.c | 496 ---- sim/d30v/ic-d30v | 80 - sim/d30v/sim-calls.c | 364 --- sim/d30v/sim-main.h | 82 - sim/d30v/tconfig.in | 8 - sim/fr30/ChangeLog | 440 --- sim/fr30/Makefile.in | 107 - sim/fr30/README | 14 - sim/fr30/TODO | 14 - sim/fr30/arch.c | 34 - sim/fr30/arch.h | 45 - sim/fr30/config.in | 162 -- sim/fr30/configure | 0 sim/fr30/configure.in | 16 - sim/fr30/cpu.c | 357 --- sim/fr30/cpu.h | 890 ------ sim/fr30/cpuall.h | 66 - sim/fr30/decode.c | 3453 ---------------------- sim/fr30/decode.h | 127 - sim/fr30/devices.c | 98 - sim/fr30/fr30-sim.h | 96 - sim/fr30/fr30.c | 423 --- sim/fr30/mloop.in | 236 -- sim/fr30/model.c | 4003 -------------------------- sim/fr30/sem-switch.c | 5409 ---------------------------------- sim/fr30/sem.c | 5729 ------------------------------------- sim/fr30/sim-if.c | 208 -- sim/fr30/sim-main.h | 70 - sim/fr30/tconfig.in | 42 - sim/fr30/traps.c | 218 -- sim/mn10200/ChangeLog | 472 --- sim/mn10200/Makefile.in | 52 - sim/mn10200/acconfig.h | 15 - sim/mn10200/config.in | 158 - sim/mn10200/configure | 4024 -------------------------- sim/mn10200/configure.in | 10 - sim/mn10200/gencode.c | 154 - sim/mn10200/interp.c | 820 ------ sim/mn10200/mn10200_sim.h | 297 -- sim/mn10200/simops.c | 2449 ---------------- sim/z8k/ChangeLog | 514 ---- sim/z8k/Makefile.in | 63 - sim/z8k/acconfig.h | 15 - sim/z8k/comped1.c | 31 - sim/z8k/comped2.c | 25 - sim/z8k/comped3.c | 28 - sim/z8k/compedb3.c | 29 - sim/z8k/config.in | 161 -- sim/z8k/configure | 4024 -------------------------- sim/z8k/configure.in | 10 - sim/z8k/iface.c | 263 -- sim/z8k/inlines.h | 486 ---- sim/z8k/mem.c | 126 - sim/z8k/mem.h | 8 - sim/z8k/quick.c | 783 ----- sim/z8k/sim.h | 9 - sim/z8k/support.c | 784 ----- sim/z8k/syscall.h | 43 - sim/z8k/tconfig.in | 13 - sim/z8k/tm.h | 192 -- sim/z8k/writecode.c | 1948 ------------- 73 files changed, 4 insertions(+), 50546 deletions(-) delete mode 100644 sim/d30v/ChangeLog delete mode 100644 sim/d30v/Makefile.in delete mode 100644 sim/d30v/acconfig.h delete mode 100644 sim/d30v/alu.h delete mode 100644 sim/d30v/config.in delete mode 100755 sim/d30v/configure delete mode 100644 sim/d30v/configure.in delete mode 100644 sim/d30v/cpu.c delete mode 100644 sim/d30v/cpu.h delete mode 100644 sim/d30v/d30v-insns delete mode 100644 sim/d30v/dc-short delete mode 100644 sim/d30v/engine.c delete mode 100644 sim/d30v/ic-d30v delete mode 100644 sim/d30v/sim-calls.c delete mode 100644 sim/d30v/sim-main.h delete mode 100644 sim/d30v/tconfig.in delete mode 100644 sim/fr30/ChangeLog delete mode 100644 sim/fr30/Makefile.in delete mode 100644 sim/fr30/README delete mode 100644 sim/fr30/TODO delete mode 100644 sim/fr30/arch.c delete mode 100644 sim/fr30/arch.h delete mode 100644 sim/fr30/config.in delete mode 100644 sim/fr30/configure delete mode 100644 sim/fr30/configure.in delete mode 100644 sim/fr30/cpu.c delete mode 100644 sim/fr30/cpu.h delete mode 100644 sim/fr30/cpuall.h delete mode 100644 sim/fr30/decode.c delete mode 100644 sim/fr30/decode.h delete mode 100644 sim/fr30/devices.c delete mode 100644 sim/fr30/fr30-sim.h delete mode 100644 sim/fr30/fr30.c delete mode 100644 sim/fr30/mloop.in delete mode 100644 sim/fr30/model.c delete mode 100644 sim/fr30/sem-switch.c delete mode 100644 sim/fr30/sem.c delete mode 100644 sim/fr30/sim-if.c delete mode 100644 sim/fr30/sim-main.h delete mode 100644 sim/fr30/tconfig.in delete mode 100644 sim/fr30/traps.c delete mode 100644 sim/mn10200/ChangeLog delete mode 100644 sim/mn10200/Makefile.in delete mode 100644 sim/mn10200/acconfig.h delete mode 100644 sim/mn10200/config.in delete mode 100755 sim/mn10200/configure delete mode 100644 sim/mn10200/configure.in delete mode 100644 sim/mn10200/gencode.c delete mode 100644 sim/mn10200/interp.c delete mode 100644 sim/mn10200/mn10200_sim.h delete mode 100644 sim/mn10200/simops.c delete mode 100644 sim/z8k/ChangeLog delete mode 100644 sim/z8k/Makefile.in delete mode 100644 sim/z8k/acconfig.h delete mode 100644 sim/z8k/comped1.c delete mode 100644 sim/z8k/comped2.c delete mode 100644 sim/z8k/comped3.c delete mode 100644 sim/z8k/compedb3.c delete mode 100644 sim/z8k/config.in delete mode 100755 sim/z8k/configure delete mode 100644 sim/z8k/configure.in delete mode 100644 sim/z8k/iface.c delete mode 100644 sim/z8k/inlines.h delete mode 100644 sim/z8k/mem.c delete mode 100644 sim/z8k/mem.h delete mode 100644 sim/z8k/quick.c delete mode 100644 sim/z8k/sim.h delete mode 100644 sim/z8k/support.c delete mode 100644 sim/z8k/syscall.h delete mode 100644 sim/z8k/tconfig.in delete mode 100644 sim/z8k/tm.h delete mode 100644 sim/z8k/writecode.c diff --git a/sim/ChangeLog b/sim/ChangeLog index 27aba57cf5f..c2c667f363c 100644 --- a/sim/ChangeLog +++ b/sim/ChangeLog @@ -1,3 +1,7 @@ +2004-11-12 Andrew Cagney + + * d30v, fr30, mn10200, z8k: Delete directory. + 2004-03-10 Ben Elliston * MAINTAINERS: Update my mail address. diff --git a/sim/d30v/ChangeLog b/sim/d30v/ChangeLog deleted file mode 100644 index d1c1df5ded0..00000000000 --- a/sim/d30v/ChangeLog +++ /dev/null @@ -1,1390 +0,0 @@ -2002-07-13 Andrew Cagney - - * cpu.h: Mark file obsolete. - * sim-main.h, sim-calls.c, engine.c, cpu.c, alu.h: Ditto. - * dc-short, ic-d30v, d30v-insns, Makefile.in: Ditto. - -2002-06-16 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -2000-07-05 Nick Clifton - - * d30v-insns: Change minimum loop size limit to 0x10. - -Tue May 23 21:39:23 2000 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -2000-04-12 Frank Ch. Eigler - - * cpu.h (GPR_CLEAR): New macro. - (GPR_SET): Removed macro. - -Thu Sep 2 18:15:53 1999 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Sep 1 11:38:21 1999 Andrew Cagney - - * d30v-insns: Cast CIA to LONG in printfs. - -Tue Aug 31 01:32:22 1999 Andrew Cagney - - * cpu.h (unqueue_writes): Add declaration. - -1999-05-27 Michael Meissner - - * d30v-insns (do_repeat): Print a warning if a REPEAT or REPEATI - instruction loop is too small. - -1999-05-08 Felix Lee - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -1999-03-16 Martin Hunt - From Frank Ch. Eigler - - * cpu.h (mvtsys_left_p): New flag for MVTSYS instruction history. - * d30v-insns (mvtsys): Set this flag instead of left_kills_right_p. - (do_sath): Detect MVTSYS by new flag. - * engine.c (unqueue_writes): Detect MVTSYS by new flag. - (do_2_short, do_parallel): Initialize new flag. - -1999-02-26 Frank Ch. Eigler - - * tconfig.in (SIM_HANDLES_LMA): Make it so. - -1999-01-12 Frank Ch. Eigler - - * engine.c (unqueue_writes): Make PSW conflict resolution code - conditional - disable it for MVTSYS || insn case. - -1999-01-11 Frank Ch. Eigler - - * d30v-insns (do_sath): Drain PSW write queue before PSW_S_FLAG - update. - * engine.c (unqueue_writes): Make non-static. Remove PSW_V/VA - special case. - (do_parallel): Don't drain PSW write queue for MVTSYS || insn. - -1999-01-07 Frank Ch. Eigler - - * d30v-insns (do_ld2h): Sign-extend loaded half-words. - -1999-01-05 Frank Ch. Eigler - - * d30v-insns (do_ld2h): Read memory in word units. - (do_ld4bh): Ditto. Correct sign extension. - (do_ld4bhu): Ditto. - (do_st2h): Write memory in word units. - (do_st4hb): Ditto. - (st4hb): Correct mnemonic in igen template. - -1998-12-08 Frank Ch. Eigler - - * d30v-insns: (do_ld2h): Don't update R0 nor R1 for double-word insn. - (do_ld2w): Ditto. - (do_ld4bh): Ditto. - (do_ld4bhu): Ditto. - (do_mulx2h): Ditto. - -1998-12-03 Frank Ch. Eigler - - * d30v-insns (do_repeat): Don't set RP for repeat count 1. - -1998-12-03 Frank Ch. Eigler - - * d30v-insns (do_src): Treat shift count -32 naturally instead of - producing zero result. - -1998-11-22 Frank Ch. Eigler - - * d30v-insns (do_src): Limit SRC shift count to -32 .. 31. - -1998-11-16 Frank Ch. Eigler - - * d30v-insns (dbt): Defer PSW/DPSW update with new DID_TRAP code 2. - * engine.c (unqueue_writes): Perform DBT processing on PSW/DPSW here. - -1998-11-12 Frank Ch. Eigler - - * cpu.h (_sim_cpu): Removed is_delayed_call field, and associated - RPT_IS_CALL macro. - * sim-calls.c (sim_create_inferior): Don't initialize is_delayed_call. - * d30v-insns (do_dbra): Don't clear RPT_IS_CALL. (do_dbrai): Ditto. - (do_djmp): Ditto. (do_djmpi): Ditto. (do_repeat): Ditto. - * d30v-insns (do_dbsr): Don't set RPT_IS_CALL, but set R62 instead. - (do_dbsri): Ditto. (do_djsr): Dito. (do_djsri): Ditto. - * engine.c (sim_engine_run): Remove conditional setting of R62 based - upon RPT_IS_CALL. - -1998-11-08 Frank Ch. Eigler - - * sim-calls.c (sim_open): Add dummy memory range over control - register region (0x40000000..0x4000FFFF). - -1998-11-06 Frank Ch. Eigler - - * d30v-insns (do_mvfacc): Use loop to limit shift count to 63 .. 0. - -Tue Oct 13 11:01:16 1998 Frank Ch. Eigler - - * d30v-insns (do_sra,do_srah,do_srl,do_srlh): Make shift - count -32 to produce zero result. - (do_src): Ditto for shift count == -64. - -Mon Oct 12 23:04:11 1998 Frank Ch. Eigler - - * d30v-insns (ROT): Use 0x1f bit mask for rotate count masking. - (do_sra,do_srl): Use loop to limit shift count to -32 .. 31. - (do_srah,do_srlh): Use loop to limit shift count to -32 .. 31. - (sra2h,srl2h): Use loop to limit shift count to -16 .. 15. - (do_src): Use loop to limit shift count to -64 .. 63. - -Fri Oct 9 16:46:52 1998 Doug Evans - - * sim-calls.c (get_insn_name): New fn. - (sim_open): Initialize CPU_INSN_NAME,CPU_MAX_INSNS. - * sim-main.h (MAX_INSNS,INSN_NAME): Delete. - -Mon Sep 28 10:43:28 1998 Frank Ch. Eigler - - * d30v-insns (do_sra,do_srah,do_srl,do_srlh,ROT,do_src): Use - correct MSB bit numbers for sign extension masks. - -Fri Sep 25 17:32:27 1998 Frank Ch. Eigler - - * engine.c (do_parallel): Unqueue writes if MU instruction was - a MVTSYS, as identified by its left_kills_right_p side-effect. - -Fri Sep 25 12:31:34 1998 Frank Ch. Eigler - - * d30v-insns (do_sra,do_srah,do_srl,do_srlh,ROT,do_src): Mask - shift/rotate counts to number of bits in width of operand; no - longer saturate at maxima. - -Tue Jul 14 18:39:23 1998 Frank Ch. Eigler - - * cpu.h (left_kills_right_p): New flag for non-branch instructions - that, when executed in left slot of a -> sequential pair, kill the - right slot. - * d30v-insns (mvtsys): Set flag for PSW/PSWh/PSWl/FLAG operands. - * engine.c (do_2_short): Respect flag. - -Thu Jun 4 16:48:58 1998 David Taylor - - * d30v-insns (do_trap): don't save the bPSW and PSW based on - current values because an instruction done in parallel with - the trap might change them, instead set a flag do that - unqueue_writes will take care of it. - * engine.c (unqueue_writes): finish trap handling - * cpu.h (_sim_cpu): add new field did_trap and a macro DID_TRAP - to make use of it; set by do_trap, tested and cleared by - unqueue_writes. - -Tue May 19 16:07:04 1998 Frank Ch. Eigler - - * engine.c (unqueue_writes): Suppress the all enqueued writes to - the same flags in PSW except the last. - -Fri May 15 11:38:59 1998 Frank Ch. Eigler - - * d30v-insns (RETI): Correct instruction spelling to "reit". - -Thu May 14 09:34:20 1998 Frank Ch. Eigler - - * d30v-insns (dbt): Handle DBT at end of repeat block. - (do_trap, dbt): Clear PSW_RP if at end of repeat block. - -Thu May 14 07:41:41 1998 Frank Ch. Eigler - - * engine.c (sim_engine_run): Trigger DDBT based on previous PC, - instead of next PC. - -Wed May 13 11:03:40 1998 Frank Ch. Eigler - - * engine.c (sim_engine_run): Move DDBT handling after instruction - decode/execute stage. - -Tue May 12 12:14:53 1998 Frank Ch. Eigler - - * d30v-insns (do_sat*): Correct "saturate to 0 bits" patch to - properly handle negative saturation inputs. - -Tue May 12 11:11:26 1998 Frank Ch. Eigler - - * engine.c (sim_engine_run): Decrement RPT_C only under more - restricted conditions. - -Mon May 11 17:33:46 1998 Frank Ch. Eigler - - * d30v-insns (do_sat*): Make "saturate to 0 bits" pass through data - unchanged. - -Mon May 11 16:27:04 1998 Frank Ch. Eigler - - * engine.c (sim_engine_run): Implement DDBT (debugger debug trap) - functionality. - -Fri May 8 16:44:19 1998 Frank Ch. Eigler - - * d30v-insns (do_trap): Set bPC to RPT_S if trap is last - instruction in repeat block. - (bsr*/jsr*): Set R62 (LINK) to RPT_S if subroutine branch - is last instruction in repeat block. - -Fri May 8 11:06:50 1998 Frank Ch. Eigler - - * d30v-insns (do_sath): Query/update F4/PSW_S using proper flag - macro. - * cpu.h (PSW_S_FLAG): New flag number for PSW_S status bit. - -Wed May 6 19:40:56 1998 Doug Evans - - * sim-main.h (INSN_NAME): New arg `cpu'. - -Fri May 1 14:24:30 1998 Andrew Cagney - - * d30v-insns: Fix parameter list to sim_engine_abort. - -Thu Apr 30 14:28:00 1998 Fred Fish - - * d30v-insns (do_sath): Add additional argument that determines - whether or not the F4 (PSW_S) bit in the PSW is updated. - (SAT2H): Do not update PSW_S bit. - (SATHp): Do update PSW_S bit. - -Tue Apr 28 23:36:00 1998 Fred Fish - - * d30v-insns (SRAHp, SRLHp): Immediate values are signed 6 bit - values, not 5 bit values. - -Wed Apr 29 12:57:55 1998 Frank Ch. Eigler - - * d30v-insns (do_incr): Check modular arithmetic limits after - postincrement/postdecrement, rather than before, to match - erroneous hardware behavior. - -Tue Apr 28 18:33:31 1998 Geoffrey Noer - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Apr 27 19:42:00 1998 Fred Fish - - * d30v-insns (do_trap): Clear all bits in PSW except SM and DB. - -Mon Apr 27 14:55:00 1998 Fred Fish - - * d30v-insns (do_mulx2h): Low order results go in ra+1, high - order in ra. - -Mon Apr 27 14:42:00 1998 Fred Fish - - * d30v-insns (do_mulx2h): Rewrite to do proper 32 bit signed - multiply of high and low fields from operands. - -Sun Apr 26 15:31:55 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Sun Apr 26 15:20:20 1998 Tom Tromey - - * acconfig.h: New file. - * configure.in: Reverted change of Apr 24; use sinclude again. - -Fri Apr 24 14:16:40 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Fri Apr 24 11:20:00 1998 Tom Tromey - - * configure.in: Don't call sinclude. - -Wed Apr 22 21:23:00 1998 Fred Fish - - * ic-d30v (RbU, RcU): Unsigned versions of Rb and Rc. - * d30v-insns (MVTACC): Use new RbU and RcU macros. - -Wed Apr 22 20:52:00 1998 Fred Fish - - * ic-d30v (RbHU,RbLU): Unsigned versions of RbH and RbL. - * d30v-insns (SRL2H): Use new RbHU and RbLU macros instead of - RbH and RbL. - -Mon Apr 13 16:59:00 1998 Fred Fish - - * d30v-insns (do_srl): Avoid undefined behavior of host compiler - when shifting left by more than 31 bits. - -Tue Apr 7 18:09:00 1998 Fred Fish - - * engine.c (sim_engine_run): Remove at_loop_end variable. Add - rp_was_set and rpt_c_was_nonzero variables. Major restructuring of - code before and after instruction execution to properly handle state - of the RP bit in the PSW, the value in RPT_C, and other loop related - problems. - -Sat Apr 4 20:36:25 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Apr 3 15:26:00 1998 Fred Fish - - * d30v-insns (do_trap): Use offset from EIT_VB rather than hardcoded - BASE_ADDRESS constant. - * cpu.h (BASE_ADDRESS): Remove constant not used any longer. - -Fri Apr 3 14:42:00 1998 Fred Fish - - * cpu.h (EIT_VB): Define macro to access EIT_VB register. - (EIT_VB_DEFAULT): Define value of EIT_VB register after reset. - * sim-calls.c (sim_create_inferior): Set EIT_VB to EIT_VB_DEFAULT. - -Tue Mar 31 19:00:00 1998 Fred Fish - - * d30v-insns (do_dbrai): RPT_S is cia plus pcdisp rather than - just pcdisp. - -Mon Mar 30 20:30:00 1998 Fred Fish - - * engine.c (sim_engine_run): Add at_loop_end. Rework end of loop - code to use this to both reset PSW_RP when needed and to set PC - to RPT_S for another pass through the loop. - -Mon Mar 30 16:12:00 1998 Fred Fish - - * engine.c (sim_engine_run): Change code that handles RPT_* regs - and PSW_RP bit in PSW so that PSW_RP is always set while executing - the loop and loop terminates upon completion of the pass for which - RPT_C is zero. More closely follow logic in architecture manual. - -Fri Mar 27 16:15:52 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 25 12:35:29 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Thu Mar 19 00:25:43 1998 Andrew Cagney - - * sim-calls.c (sim_open): Move memory-region commands back to - before the call to sim_parse_args. - (d30v_option_handler): Implement extmem-size option using - memory-delete and memory-region commands. - - * sim-calls.c (d30v_option_handler): Use ANSI-C argument list, - correct number and type of arguments. - -Wed Mar 18 12:38:12 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 11 13:56:32 1998 Andrew Cagney - - * alu.h (IMEM, MEM, STORE): Replace sim_core_*_map with exec_map, - read_map and write_map resp. - - * cpu.c (d30v_read_mem, d30v_write_mem): Ditto. - -Mon Mar 2 13:34:08 1998 Fred Fish - - * d30v-insns (do_repeat): Abort repeat instructions that have - a repeat count of zero. - -Fri Feb 27 18:44:12 1998 Doug Evans - - * sim-calls.c (sim_open): Update call to sim_add_option_table. - -Thu Feb 26 18:34:31 1998 Andrew Cagney - - * sim-calls.c (sim_info): Delete. - -Wed Feb 25 14:44:58 1998 Michael Meissner - - * d30v-insns (mvtsys): If moving to EIT_VB register, and with - valid bits. Optimize code somewhat. - - * cpu.h (eit_vector_base_cr): New CR we need to special case. - (EIT_VALID): Valid bits for EIT_VB register. - - * d30v-insns (mv{f,t}sys): When moving to/from PSWH, the value is - in the low 16 bits of the register. - - * d30v-insns (do_sra): Use a common WRITE32_QUEUE to write back - results. - (do_sr{a,l}h): Do shift in 32 bits, only truncate when writing - result back to the registers. - -Tue Feb 24 18:09:52 1998 Fred Fish - - * Makefile.in (tmp-igen): Use -G gen-zero-r0 option to force - r0 to always be zero. - * cpu.h (GPR_SET): Define. - -Tue Feb 24 14:12:57 1998 Michael Meissner - - * d30v-insns (do_sath): Do saturation in 32 bits, before - converting to 16. - (sat{,2h,z,hp}): Use imm_5, not imm to get proper zero extend. - (do_sath_p): Delete, no longer used. - (sathp): Call do_sath, not do_sath_p. - -Mon Feb 23 15:55:14 1998 Michael Meissner - - * d30v-insns (illegal,wrong_slot): Print \n after PC and before we - call sim_engine_halt. - (sr{a,l}hp): Implement missing instructions. - (do_trap): Print high order PSW bits in human readable fashion. - (do_{dbra{,i},dbsr{,i},djmp{,i},djsr{,i},repeat}): Set PSW bit RP. - - * alu.h (PSW_SET_QUEUE): New macro to set PSW bits. - - * engine.c (sim_engine_run): Check for RP bit being set, not RPT_C - being > 0. If RPT_C is decremented to 0, clear PSW RP bit. - -Fri Feb 20 10:13:34 1998 Fred Fish - - * cpu.h (BASE_ADDRESS): Change from 0xfffff000 to 0xfffff020. - -Tue Feb 17 12:39:52 1998 Andrew Cagney - - * sim-calls.c (sim_store_register, sim_fetch_register): Pass in - length parameter. Return -1. - -Fri Feb 6 17:39:54 1998 Michael Meissner - - * d30v-insns (do_dbrai): Correct typo, use shift, not comparison. - -Sun Feb 1 16:47:51 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Sat Jan 31 18:15:41 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Jan 30 08:29:20 1998 Andrew Cagney - - * engine.c (sim_engine_run): Add parameter nr_cpus. - -Fri Jan 30 17:09:37 1998 Michael Meissner - - * d30v-insns (jsrtzr): Check for register == 0, not != 0. - -Wed Jan 21 17:52:04 1998 Andrew Cagney - - * engine.c (do_stack_swap): Make type of new_sp unsigned. - -Mon Jan 19 22:26:29 1998 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Jan 5 16:04:17 1998 Andrew Cagney - - * sim-calls.c (sim_info): Call profile_print. - - * sim-main.h: Enable instruction profiling. - -Thu Dec 18 12:21:38 1997 Michael Meissner - - * alu.h (ALU{16,32}_END): Change setting PSW to only set the carry - and overflow bits. Don't look at the current value of PSW. - (PSW_FLAG_SET_QUEUE): Only queue up setting the particular bit in - question. Don't look at the current value of PSW. - - * d30v-insns: All instructions that set the PSW, will only queue - up the particular bits in question that were set by the - instruction. Don't look at the current value of PSW. - -Wed Dec 17 11:41:44 1997 Michael Meissner - - * cpu.h (PSW_VALID): Allow EA/DB to be set in the PSW. - (DPSW_VALID): Like PSW_VALID, but it allows the DS bit to be set. - - * engine.c (trace_alu32): When changing BPSW/DPSW, print the - special PSW bits. - - * d30v-insns (do_cmp_cc): Fix cmpps and cmpng. - (do_cmp{,u}_cc): Print which cc value was used if not in switch - statement. - (do_cmpu_cc): Remove illegal cases CMPU{EQ,NE,PS,NG}. - (mvtsys): When setting BPSW or DPSW, and with DPSW_VALID. - -Tue Dec 16 18:17:26 1997 Michael Meissner - - * d30v-insns (mulx2h): Add missing instruction. Complain if - register is not even. - (do_{add,sub}h_ppp): Get correct high/low values. Also correctly - handle short immediates. - (do_ld{2w,4bh}): Don't load r0 if ra == 0. - - * engine.c (d30v_interrupt_event): Remove unused variable - (unqueue_writes): Ditto. - -Mon Dec 15 23:17:11 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Sat Dec 13 23:40:17 1997 Michael Meissner - - * cpu.h (_write{32,64}): New structures for keeping track of - queued writes to registers. - (_sim_cpu): Add _write{32,64} structures. Make is_delayed_call - unsigned32 also. - (WRITE{32,64}*): New macros for queueing up writes to registers. - - * alu.h (ALU16_END): Take field that says whether we are setting - the high or low half word. Queue up changes to registers. - (ALU32_END): Queue up changes to registers. - (PSW_FLAG_SET_QUEUE): Like PSW_FLAG_SET, except queues it up. - - * sim-main.h (do_stack_swap): Remove declaration. - - * engine.c (do_stack_swap): Make static. - (unqueue_writes): New function to unqueue all changes to 32 and 64 - bit registers in order. Implement --trace-alu. Reset high water - marks for # of queued registers. If PSW changed, possibly update - stack pointer. - (do_{long,2_short,parallel}): Unqueue register writes at the - appropriate time. - - * d30v-insns: Modify all insns to queue changes to registers, - rather than do them immediately so that parallel instructions get - the right values for inputs. Rewrite 16 bit operations to be done - in terms of masked 32 bit registers. Don't call do_stack_swap any - more here. - -Thu Dec 11 10:06:02 1997 Michael Meissner - - * sim-calls.c (d30v_option_handler): Add support for --extmem-size - to size external memory. - (sim_open): Ditto. Default if no --extmem-size option is 8 meg. - -Wed Dec 10 01:08:24 1997 Jim Blandy - - * d30v-insns (do_rot2h): Clip rotate amounts to four bits. The - upper bits, and the sign of the rotation amount, are red herrings. - (do_sra, do_srl): Handle shifts greater than 32 bits. - (do_srah, do_sral): Properly sign-extend value and shift amount. - Handle shifts larger than 16 bits. - -Thu Dec 4 09:21:05 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Dec 1 15:10:44 1997 Michael Meissner - - * d30v-insns (do_sub2h): For short instruction, correctly - dupplicate lower 16 bits of immediate in upper 16 bits. - (sat2z): Fix typo that ignored the upper half of the register. - (do_satz): If < 0, set *ra to 0, if not call do_sat. - (mvtsys): Before setting PSW, and with PSW_VALID. - - * cpu.h (PSW_VALID): Mask for bits in PSW that is valid. - -Mon Dec 1 15:05:03 1997 Andrew Cagney - - * d30v-insns (do_trap): Pacify GCC - correct type of %ld arg in - printf, return dummy at end. - -Mon Dec 1 15:05:03 1997 Andrew Cagney - - * d30v-insns (do_add, do_addh_ppp, do_adds): Replace ALU_ADD with - ALU_ADDC. - (do_addc): Replace ALU_SET_CARRY / ALU_ADD_CA with ALU_ADDC_C. - (do_sub, do_subh_ppp): Replace ALU_SUB with ALU_SUBB. - (do_subb): Replace ALU_SET_CARRY / ALU_SUB_CA with ALU_SUBB_B. - - * alu.h (ALU16_END): Use ALU16_HAD_CARRY_BORROW instead of - ALU16_HAD_CARRY. - (ALU32_END): Ditto. - - * sim-main.h (string.h, strings.h): Include. - - * sim-calls.c: Delete inclusion of string.h and strings.h. - -Sun Nov 30 17:29:25 1997 Michael Meissner - - * configure.in (--enable-sim-trapdump): New switch to control - whether traps 0..30 dump out the registers or do the real trap. - * configure: Regenerate. - - * Makefile.in (SIM_EXTRA_CLFAGS): Add -DTRAPDUMP={0,1} if - appropriate --{en,dis}able-sim-trapdump is done. - - * sim-calls.c (OPTION_TRACE_CALL): Rename from OPTION_CALL_TRACE. - (OPTION_TRACE_TRAPDUMP): New option for --trace-trapdump. - (d30v_option_handler): Add support for --trace-trapdump. - (d30v_options): Ditto. - (sim_open): Ditto. - - * d30v-insns (do_trap): Do register dump if --trace-trapdump and - not the system call trap. Remove support for calling old function - sim_io_syscalls. - -Sat Nov 29 18:54:55 1997 Michael Meissner - - * cpu.h (_sim_cpu): Add trace_call_p, trace_action fields. - (TRACE_CALL_P): Non-zero if --trace-call. - (TRACE_ACTION): Non-zero if there is a tracing action at the end - of processing an instruction boundary. - (TRACE_ACTION_{CALL,RETURN}): Bits to say trace call & return. - (d30v_next_insn): Delete, now trace_action field in cpu state. - - * cpu.c (d30v_next_insn): Delete, now trace_action field in cpu - state. - (return_occurred): Minimum saved register to check is now 34. - - * engine.c (sim_engine_run): Change call tracing to use - trace_action field in cpu state. - - * sim-calls.c (d30v_option_handler): Handle d30v specific options. - (d30v_options): D30V specific options. Right now, --trace-call. - (sim_open): Register d30v specific options. - - * d30v-insns (call, return insns): Move --trace-debug call/return - tracing action to d30v specific --trace-call option. - -Fri Nov 28 20:12:48 1997 Michael Meissner - - * cpu.h (CREG): Rename from CR. - - * d30v-insns (do_{addc,subb}): Explicitly import the carry bit. - (do_trap): Use CREG, not CR. Switch to using cb_syscall. - -Thu Nov 27 19:25:43 1997 Michael Meissner - - * cpu.h (ACC): Define as short cut to accumulators. - - * d30v-insns (do_rot): Delete explicit function, use ROT32 to do - rotate instruction. - (do_trap): Make trap 30 print out accumulators and first 16 - control registers as well. - (do_avg): Sign extend to 64 bit type before doing add/shift. - (do_avg2h): Sign extend 16 bit chunks before doing add/shift. - -Wed Nov 26 15:20:24 1997 Doug Evans - - * Makefile.in (NL_TARGET): Define. - -Wed Nov 26 16:55:38 1997 Michael Meissner - - * cpu.h (d30v_next_insn): New flag for things we are supposed to - trace between instruction words. - ({call,return}_occurred): Remove index argument. - (d30v_{read,write}_mem): Add declarations. - - * cpu.c (d30v_next_insn): New flag for things we are supposed to - trace between instruction words. - ({call,return}_occurred): Remove index argument. - (d30v_{read,write}_mem): New functions for reading/writing - simulated memory in the new common system call support. - - * d30v-insns: Set emacs C mode. - (call/return insns): Set bit to trace call at instruction - boundary, rather than doing it here. - (do_trap): Set up to use new common system call interface. - - * engine.c (sim_engine_run): If d30v_next_insn is non zero, do - function call/return tracing. - -Mon Nov 24 16:40:49 1997 Michael Meissner - - * d30v-insns (bnot): Correctly reset bit in question. - (do_trap): Use common system call emulation support, rather than - our home grown support. - -Sun Nov 23 22:47:20 1997 Michael Meissner - - * d30v-insns (mvfacc): Immediate field is unsigned, allowing - shifts of up to 63 to be encoded. Also do shift signed, rather - than unsigned. - - * ic-d30v (IMM_6S): Add field for 6 bit unsigned constants. - - * d30v-insns (cmpu): Short cmpu zero extends immediate, not sign - extends. - -Sat Nov 22 19:04:34 1997 Andrew Cagney - - * d30v-insns (illegal, wrong_slot): Replace SIGILL with - SIM_SIGILL. - - * sim-calls.c (signal.h): Do not include, replaced by - sim-signal.h. - - * sim-main.h (signal.h): Do not include, include sim-signal.h - instead. - -Fri Nov 21 09:33:54 1997 Andrew Cagney - - * cpu.c (call_occurred): Use ZALLOC instead of xmalloc. - (return_occurred): Use zfree instead of free. - -Wed Nov 19 13:28:09 1997 Michael Meissner - - * Makefile.in ({l,s}_{support,semantics}.o): Depend on the include - files in $(ENGINE_H). - - * d30v-insns (do_{add,addc,sub,subb}): ALU_{ADD,SUB}_CA now takes - a VAL argument to add/subtract along with the carry. - -Tue Nov 18 15:33:48 1997 Doug Evans - - * Makefile.in (SIM_OBJS): Use $(SIM_NEW_COMMON_OBJS). - -Tue Nov 18 13:56:15 1997 Michael Meissner - - * d30v-insns (do_trap): Change to new system call numbers. Add - read emulation. - -Mon Nov 17 14:43:45 1997 Michael Meissner - - * d30v-insns (mulx): Add mulx instruction. - -Sun Nov 16 19:06:56 1997 Michael Meissner - - * cpu.c ({call,return}_occurred): New trace functions to mark - function calls and returns and check whether all saved registers - really were saved. - - * cpu.h ({call,return}_occurred): Add declaration. - - * d30v-insns ({bsr, jsr} patterns): Call call_occurred if - --trace-debug to trace function calls. - (jmp register pattern): If this is a jump r62 and --trace-debug, - call return_occurred to trace function calls. - (bsr{tnz,tzr}): Move setting r62 inside conditional against reg. - (do_ld2w): Grab memory in 64-bit chunk, to check alignment. - (do_st2w): Ditto. - -Sat Nov 15 20:57:57 1997 Michael Meissner - - * d30v-insns: Undo changes from Nov. 11, allowing for odd register - pairs, since the machine doesn't support such usage. Trap on odd - registers, rather than give a warning. Keep do_src and do_trap - changes. - -Fri Nov 14 11:59:29 1997 Andrew Cagney - - * d30v-insns (do_trap): Pacify compiler warnings for printf calls. - -Tue Nov 11 18:26:03 1997 Michael Meissner - - * d30v-insns (not_r63_reg): Rename from make_even_reg, only check - for register being r63. Change callers ld2{h,w}, ld4bh{,u}. - (get_reg_not_r63): Rename from get_even_reg, and only check for - register r63. Change callers st2{w,h}, st4b. - (do_src): Correct register pair for shift left. - (do_trap): Temporarily make trap 30 print out the registers. - -Tue Nov 4 08:51:22 1997 Michael Meissner - - * d30v-insns (do_trap): Make trap 31 be used for system calls. - Add primitive write and exit system calls. - - * Makefile (FILTER): New make variable to filter out known igen - warnings. - (tmp-igen): Add $(FILTER) on all 3 invocations of igen to filter - out warnings that should be ignored by default. - -Fri Oct 31 19:36:51 1997 Andrew Cagney - - * sim-calls.c (sim_open): Change EIT to memory region. - -Fri Oct 17 16:51:31 1997 Andrew Cagney - - * alu.h (ALU16_END): Get result from ALU16_OVERFLOW_RESULT. - (ALU32_END): Get result from ALU32_OVERFLOW_RESULT. - -Fri Oct 3 09:28:00 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Sep 29 15:23:35 1997 Stu Grossman - - * d30v-insns (MVFSYS MVTSYS): Fix bit patterns so that these - instructions get recognised. - -Wed Sep 24 17:38:57 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Sep 24 17:51:43 1997 Stu Grossman - - * Makefile.in (SIM_OBJS): Add sim-break.o. - * (INCLUDE_DEPS): Add tconfig.h. - * alu.h (MEM STORE): Change to sim_core_read/write_unaligned to - allow for trapping unaligned accesses. - * cpu.h: Define SIM_BREAKPOINT as syscall 5 for intrinsic breakpoint - mechanism. - * d30v-insn (short syscall): Use syscall 5 for breakpoint insn. - * sim-calls.c (sim_fetch_register sim_store_register): Implement. - * tconfig.in: Define SIM_HAVE_BREAKPOINTS to enable intrinsic - breakpoint mechanism. - -Tue Sep 23 11:04:38 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Sep 23 10:19:51 1997 Andrew Cagney - - * Makefile.in (SIM_WARNINGS, SIM_ALIGNMENT, SIM_ENDIAN, - SIM_HOSTENDIAN, SIM_RESERVED_BITS): Delete, moved to common. - (SIM_EXTRA_CFLAGS): Update. - -Mon Sep 22 11:46:20 1997 Andrew Cagney - - * configure.in: Specify strict alignment. - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Sep 19 17:45:25 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Sep 15 17:36:15 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Sep 12 16:13:04 1997 Andrew Cagney - - * sim-calls.c (sim_open): Change memory to - internal inst. RAM h'00000000-h'0000ffff (64KB) - internal data RAM h'20000000-h'20007fff (32KB) - external RAM h'80000000-h'803fffff (4MB) - EIT h'fffff000-h'ffffffff - - -Thu Sep 11 08:59:34 1997 Andrew Cagney - - * Makefile.in (SIM_OBJS): Add sim-hrw.o module. - - * sim-calls.c (sim_read): Delete. use sim-hrw. - (sim_write): Delete, use sim-hrw. - - -Tue Sep 9 01:36:20 1997 Andrew Cagney - - * ic-d30v (imm_5): Update nr args passed to LSMASKED. - - * d30v-insns (do_sat, do_sath, do_sath_p, do_satz, do_satzh): Fix, - computing the max sat value incorrectly. - -Thu Sep 4 17:21:23 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Sep 5 09:15:33 1997 Andrew Cagney - - * d30v-insns (do_mac, do_macs, do_msub, do_mulxs): Use explicit - type cast instead of SIGNED64 macro. - -Thu Sep 4 10:28:45 1997 Andrew Cagney - - * Makefile.in (SIM_OBJS): Include sim-memopt.o module. - - * sim-calls.c (sim_open): Pass zero modulo arg to sim_core_attach - calls. - (sim_open): If no memory, use memory commands to establish d30v - ram. - (d30v_option_handler): Delete, replased by sim-memopt.c. - (sim_create_inferior): Call sim_module_init. - - * sim-main.h (struct sim_state): Remove members eit_ram, - sizeof_eit_ram, external_ram, baseof_external_ram, - sizeof_external_ram. Using generic memory model instead. - -Mon Sep 1 11:04:09 1997 Andrew Cagney - - * sim-calls.c (sim_open): Use sim_state_alloc. - -Sat Aug 30 10:01:51 1997 Andrew Cagney - - * sim-main.h (INVALID_INSTRUCTION_ADDRESS): Define. - - * engine.c (do_2_short): Compare with INVALID_INSTRUCTION_ADDRESS - not -1. - -Wed Aug 27 18:13:22 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Wed Aug 27 13:41:54 1997 Andrew Cagney - - * sim-calls.c (sim_open): Add call to sim_analyze_program, update - call to sim_config. - - * sim-calls.c (sim_create_inferior): Add ABFD argument. - Initialize CPU registers including PC. - (sim_load): Delete, using sim-hload. - - * Makefile.in (SIM_OBJS): Add sim-hload.o module. - -Mon Aug 25 17:50:22 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Mon Aug 25 15:41:44 1997 Andrew Cagney - - * sim-calls.c (sim_open): Add ABFD argument. - (sim_open): Move sim_config call to after sim_parse_args. - (sim_open): Check sim_config return status. - -Fri Aug 22 16:38:59 1997 Andrew Cagney - - * d30v-insns (do_subh_ppp): Correct name, was do_sub_ppp. - (do_subh_ppp): Compute rc=rb-src instead of src-rb. - (do_addh_ppp): Ditto. - -Fri Jun 27 14:43:20 1997 Andrew Cagney - - * d30v-insns (mvfsys, mvtsys): Switch instruction encodings, was - wrong. Update handling of PSW[DS] bit. - (dbt): Fix debug trap address. - - * cpu.h (NR_CONTROL_REGISTERS): Allow the full 64 registers. - -Tue Jun 24 12:41:55 1997 Andrew Cagney - - * d30v-insns (DBT, RTD): Swap the stack after updating the PSW. - (DBT): Use PSW_SET to update PSW. - - * alu.h (ALU16_END): Check for 16 bit carry and not 32 bit. - -Tue Jun 24 12:16:14 1997 Andrew Cagney - - * d30v-insns (ppp, ccc, pp, XX, p): Update format functions so - that they are of class %s instead of class function. - -Tue Jun 10 12:26:39 1997 Andrew Cagney - - * sim-main.h (engine_error, engine_restart, engine_halt, - engine_run_until_stop): Delete prototypes. Functions deleted - earlier. - (do_interrupt_handler): Add prototype. - (sim_state): Add pending_event member to struct. - - * sim-calls.c (sim_open): Configure interrupt handler. - * engine.c (d30v_interrupt_event): New function. Deliver external - interrupt to processor. - - * d30v-insns (do_stack_swap): Move function from here. - * engine.c (do_stack_swap): To here. - * sim-main.h (do_stack_swap): Add prototype. - - * cpu.h (registers): Change current_sp to an int. - * d30v-insn (do_stack_swap): Update. - -Thu Jun 5 12:54:35 1997 Andrew Cagney - - * d30v-insns (LD*, ST*): Disasemble XX == 0 as immed version of - instruction. - (str_XXX): Fix case of XX == 3 - return "-". - -Thu Jun 5 12:54:35 1997 Andrew Cagney - - * engine.c (sim_engine_run): Issuing L->R and R->L instructions in - wrong order. - - * d30v-insn (CMPUcc imm long): With of RB field should be 6 not - three. - (MUL, MUL2H, MULHX): X field 01 instead of 10. - -Thu Jun 5 12:54:35 1997 Andrew Cagney - - * d30v-insns (mvtsys): Don't modify DS bit when writing to PSW. - (dbt, rtd): New instructions. - - * cpu.h (NR_CONTROL_REGISTERS): Now 15. - (debug_program_status_word_cr, debug_program_counter_cr): Add - debug control registers. Renumber other control registers. - (PSW_DS): New PSW bit. - (DPC, DPSW): Define. - -Wed May 28 13:45:47 1997 Andrew Cagney - - * engine.c (sim_engine_run): Check the event queue on every cycle. - - * sim-calls.c (sim_size): Delete. - (sim_do_command): Call sim_args_command. - (sim_open): Move eit_ram and sizeof_eit_ram to sim_state struct. - (simulation): Delete global now depend on sd argument. - (sim_open): Initialize sim-watch. - (d30v_option_handler): New function, parse mem-size argument. - -Tue May 27 14:03:38 1997 Andrew Cagney - - * sim-calls.c (sim_set_callbacks): Delete. - (sim_write): Pass NULL cpu arg to sim_core_write_buffer. - - * engine.c (engine_init): Delete. Handled in sim_open. - (engine_create): Ditto. - -Tue May 20 10:15:35 1997 Andrew Cagney - - * sim-calls.c (sim_open): Add callback argument. - (sim_set_callbacks): Delete SIM_DESC argument. - -Mon May 19 14:59:32 1997 Andrew Cagney - - * sim-calls.c (sim_open): Set the sim.base magic number. - -Fri May 16 15:25:59 1997 Andrew Cagney - - * d30v-insns: Replace engine_error with common sim_engine_abort. - * cpu.c (is_condition_ok, is_wrong_slot): Ditto. - - * engine.c (engine_run_until_stop): Rename this. - (sim_engine_run): To this. Simplify - most moved to common. - - * sim-calls.c (sim_stop_reason, sim_resume, sim_stop): - Delete. Replaced by common code. - - * engine.c (engine_error, engine_restart, engine_halt): Ditto. - - * sim-main.h (SIM_ENGINE_RESTART_HOOK, SIM_ENGINE_HALT_HOOK): - Define as NOPs. - -Mon May 5 23:05:41 1997 Andrew Cagney - - * alu.h (IMEM, MEM, STORE): Update to reflect changes to core in - ../common. - * sim-calls.c (sim_open): Ditto. - - * alu.h, cpu.h, cpu.c, d30v-insn, dc-short: Clean up copyright - notice. - -Fri May 2 12:01:38 1997 Andrew Cagney - - * sim-calls.c (sim-options.h, sim-utils.h): Include. - * Makefile.in (sim-calls.o): Add dependencies. - - * d30v-insns (address_word): Remove cia argument from support - functions, igen now does this automatically. - - * Makefile.in (tmp-igen): Include line number information in - generated files. - - * sim-main.h (SIM_DESC): Remove sim_events and sim_core, moved to - simulator base type sim_state_base. - (sim-core.h, sim-events.h, sim-io.h): Replace with #include - "sim-base.h". - - * sim-main.h (sim_state): Track recomendations in common - directory. - * cpu.h (sim_cpu): Ditto. - * engine.c (do_2_short, do_parallel): Ditto. - * cpu.h (GPR): Ditto. - * alu.h (MEM, IMEM, STORE): Ditto. - * cpu.c (is_wrong_slot): Ditto. - * ic-d30v (Aa, Ab): Ditto. - -Thu Apr 24 00:39:51 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * Makefile.in (SIM_OBJS): Add sim-module.o, sim-profile.o. - * sim-calls.c (sim_open): Call sim_module_uninstall if argument - parsing fails. Call sim_post_argv_init. - (sim_close): Call sim_module_uninstall. - -Fri Apr 18 13:44:48 1997 Andrew Cagney - - * sim-calls.c (sim_stop): New function. - -Thu Apr 17 02:57:55 1997 Doug Evans - - * Makefile.in (SIM_OBJS): Add sim-load.o, sim-options.o, sim-trace.o. - (SIM_EXTRA_{LIBS,LIBDEPS,ALL,INSTALL}): Delete. - (SIM_RUN_OBJS): Change from run.o to nrun.o. - * cpu.h (sim_cpu): New member base. Delete members trace, sd. - (cpu_traces): Delete. - * engine.c (engine_init): Set backlink from cpu to state. - * sim-calls.c: #include bfd.h. - (sim_open): Set STATE_OPEN_KIND. Call sim_pre_argv_init, - sim_parse_args. - (sim_load): Return SIM_RC. New arg abfd. - Call sim_load_file to load file into simulator. - (sim_create_inferior): Return SIM_RC. Delete arg start_address. - (sim_trace): Delete. - * sim-main.h (struct sim_state): sim_state_base is typedef now. - (STATE_CPU): Define. - -Mon Apr 7 15:45:02 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Wed Apr 2 15:06:28 1997 Doug Evans - - * Makefile.in (SIM_EXTRA_DEPS): Define. - (SIM_OBJS): Add sim-utils.o. - (SIM_GEN): Delete tmp-common. - (SIM_EXTRA_CLEAN): Delete clean-common. - (BUILT_SRC_FROM_COMMON): Moved to ../common/Make-common.in. - (tmp-common,clean-common): Delete. - (ENGINE_H): sim-state.h renamed to sim-main.h. - (clean-igen): Delete tmp-insns. - - * cpu.c: sim-state.h renamed to sim-main.h. - * engine.c: Likewise. - * sim-calls.c: Likewise. - (zalloc,zfree): Moved to ../common/sim-utils.c. - * sim-main.h: Renamed from sim-state.h. - - * sim-calls.c (sim_open): New arg `kind'. - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Apr 2 14:34:19 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Apr 2 11:13:15 1997 Andrew Cagney - - * Makefile.in (SIM_OBJS): Link in the recently added sim-config.o - - * engine.c (current_target_byte_order, current_host_byte_order, - current_environment, current_alignment, current_floating_point, - current_model_issue, current_stdio): Delete, moved to - ../common/sim-config.c - -Mon Mar 24 14:50:30 1997 Andrew Cagney - - * d30v-insns (do_ldw): Load 4 bytes not 2. - (do_incr, LD*, ST*): Increment register not its value. - -Mon Mar 24 09:59:53 1997 Andrew Cagney - - * cpu.c (is_wrong_slot): Ditto. - (is_condition_ok): Ditto. - - * sim-calls.c (sim_trace): Ditto. - - * engine.c (engine_init): Ditto. - (do_2_short): Ditto. - (engine_run_until_stop): Ditto. - - * d30v-insns (void): Update. For functions, remove `SIM_DESC sd' - and `cpu *processor' arguments as igen now handles this. - - * cpu.h: Rename struct _cpu to struct _sim_cpu. Rename variable - processor to cpu. - - * sim-state.h: Update. - -Fri Mar 21 12:52:12 1997 Andrew Cagney - - * d30v-insns (do_sat): Correct calculation of saturate lower - bound. - (do_sath): Ditto. - (do_satzh, do_satz): Arguments should be signed. - - * sim-calls.c (zalloc): Use malloc() instead of xmalloc() for - moment. - (filter_filename): Drop. - - * cpu.h (is_wrong_slot): Correct declaration name - was - is_valid_slot. - - * engine.c (do_parallel): Plicate GCC. - (engine_error): Ditto. - (engine_run_until_stop): Ditto. - * cpu.c (is_wrong_slot): Ditto. - (is_condition_ok): Ditto. - * sim-calls.c (sim_size): Ditto. - (sim_read): Ditto. - (sim_trace): Ditto. - - * engine.h, engine.c (engine_create): Add missing prototype to - header file. Clean up missing variables. - - * configure.in (unistd.h, string.h, strings.h): Configure in. - * configure, config.in: Rebuild. - -Thu Mar 20 19:40:20 1997 Andrew Cagney - - * d30v-insns (void): Provide a second emul instruction using a - branch prefix. - -Tue Mar 18 20:51:42 1997 Andrew Cagney - - * d30v-insn (do_sat*): Pass all necessary args. - -Tue Mar 18 18:49:10 1997 Andrew Cagney - - * d30v-insns (SAT*): Issue warning when bit overflow. - (EMUL): Exit with GPR[2] not 2. - -Tue Mar 18 14:24:09 1997 Andrew Cagney - - * sim-state.h: New file rename engine.h. - (sim_state): Rename engine strut to sim_state, rename events and - core members. - - * engine.c: Update. - * cpu.h, cpu.c: Ditto. - * alu.h: Ditto. - * d30v-insns: Ditto. - * sim-calls.c: Ditto. - - * Makefile.in (sim-*.c): Moved to ../common. - -Tue Mar 18 10:39:07 1997 Andrew Cagney - - * d30v-insns (do_mac): Adding wrong register. - (do_macs): Ditto. - (do_msub): Ditto. - (do_msubs): Ditto. - - * ic-d30v: Put back definitions of RaH, RaL, et.al. - (do_sra2h, do_srah): Use. - (do_srl2h, do_srlh): Use. - - * d30v-insns (SAT, SAT2H, SATp, SATZ): Implement saturate. - -Tue Mar 18 03:01:25 1997 Andrew Cagney - - * d30v-insns: Specify wild insted of reserved bits. - (void): - -Mon Mar 17 15:10:07 1997 Andrew Cagney - - * configure: Re-generate. - -Mon Mar 17 14:35:37 1997 Andrew Cagney - - * Makefile.in (SIM_EXTRA_CFLAGS), configure.in: Include SIM_* - options. Allow RESERVED_BITS to be configured. - * configure: Re-generate. - - * Makefile.in (sim-*.h): Drop, not needed. - (sim-*.c): Make each explicit so that they automatically update. - -Sat Mar 15 02:34:30 1997 Andrew Cagney - - * ic-d30v (imm long): Incorrect calculation. - - * d30v-insns (EMUL): Finish exit, write-string emul-call. - - * sim-calls.c (sim_trace): Have sim-trace enable basic instruction - tracing. - -Sat Mar 15 02:10:31 1997 Andrew Cagney - - * configure.in: Enable common options - endian, inline and - warnings. - * configure: Regenerate. - -Fri Mar 14 16:11:50 1997 Andrew Cagney - - * Makefile.in (cpu.o): Update dependencies. - * cpu.c (is_condition_ok): Update PSW bit manipulations. - -Fri Mar 14 12:49:20 1997 Andrew Cagney - - * configure.in: Autoconfig m4 - * configure: Regenerate. - - * Makefile.in: Use m4 to preprocess d30v-insns. - * d30v-insn: Adjust. - -Thu Mar 13 12:44:54 1997 Doug Evans - - * sim-calls.c (sim_open): New SIM_DESC result. Argument is now - in argv form. - (other sim_*): New SIM_DESC argument. - -Wed Mar 12 19:05:45 1997 Andrew Cagney - - * sim-calls.c (sim_open): Create all the d30v RAM blocks. - - * engine.c (engine_run_until_stop): Handle delayed subroutine - call. - * d30v-insn: Ditto. - - * ic-d30v: For Rb and Rc always return the value and not the - equation. - * d30v-insn: Use. - - * ic-d30v (val_Ra): Returns 0 or RA. - * d30v-insn: Use. - - * d30v-insn (make_even_reg, get_even_reg): New functions. Force - the register index to be even, issusing a warning if it was not. - (LD*, ST*): Use. - -Wed Mar 12 14:57:26 1997 Andrew Cagney - - * d30v-insns (do_trap): Implement TRAP instruction. - - * alu.h (PSW_F, PSW_FLAG_VAL, PSW_FLAG_SET): New macro, map flag - onto PSW bit. - * ic-d30v: Drop F* expressions. - * d30v-insn: Use more explicit PSW_FLAG_ ops. - * cpu.h (PSW_*): Redo PSW bit values. - * alu.h (ALU*_END): Update. Fix setting of overflow - logic was - backwards. - - * d30v-insn (MVFSYS, MVTSYS): Implement. - * cpu.h (PSWH, PSWL): New macros for high, low word of PSW. - -Wed Mar 12 14:12:11 1997 Andrew Cagney - - * cpu.h (RPT_IS_CALL): New macro for processor field - is_delayed_call. That in turn used as a flag to indicate if a - delayed branch or delayed call is to occure. - * d30v-insns (do_dbra): Set/clear RPT_IS_CALL; - (do_dbrai): Ditto. - (do_dbsr): Ditto. - (do_dbsr): Ditto. - (do_djmp): Ditto. - (do_djmpi): Dotto. - (do_djsr): Ditto. - (do_djsri): Ditto. - (void): - - * d30v-insn (do_incr): Finish - handle modulo registers. - - * d30v-insns (CMPU): Include all possible compare - operations. Issue a warning where op defined by the processor - spec. - -Wed Mar 12 13:55:55 1997 Andrew Cagney - - * d30v-insns: Add a new instruction class _EMUL and a new - instruction EMUL that emulates a few basic IO operations. - - * Makefile.in (tmp-igen): Filter in emul instructions. - -Fri Mar 7 20:32:13 1997 Andrew Cagney - - * d30v-insns (void): Fill in the gaps. - -Wed Feb 26 09:31:10 1997 Andrew Cagney - - * Makefile.in (tmp-igen): Include ic-d30v in dependencies. - - * ic-d30v (cache): Update to use H_word, L_word added to - sim-endian.h. - -Tue Feb 25 15:26:51 1997 Andrew Cagney - - * Makefile.in (tmp-igen): Correctly run $(MAKE). - -Thu Feb 20 20:30:31 1997 Andrew Cagney - - * Makefile.in (FROM_IGEN, FROM_COMMON): Make the igen generated - files dependant on tmp-igen. Define ENGINE_H. - -Sun Feb 16 16:42:48 1997 Andrew Cagney - - * configure.in: New file - follow Doug Evans instructions. - * Makefile.in: Ditto. - diff --git a/sim/d30v/Makefile.in b/sim/d30v/Makefile.in deleted file mode 100644 index 76afe20dfdc..00000000000 --- a/sim/d30v/Makefile.in +++ /dev/null @@ -1,217 +0,0 @@ -# OBSOLETE # Mitsubishi Electric Corp. D30V Simulator. -# OBSOLETE # Copyright (C) 1997, Free Software Foundation, Inc. -# OBSOLETE # Contributed by Cygnus Support. -# OBSOLETE # -# OBSOLETE # This file is part of GDB, the GNU debugger. -# OBSOLETE # -# OBSOLETE # This program is free software; you can redistribute it and/or modify -# OBSOLETE # it under the terms of the GNU General Public License as published by -# OBSOLETE # the Free Software Foundation; either version 2, or (at your option) -# OBSOLETE # any later version. -# OBSOLETE # -# OBSOLETE # This program is distributed in the hope that it will be useful, -# OBSOLETE # but WITHOUT ANY WARRANTY; without even the implied warranty of -# OBSOLETE # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# OBSOLETE # GNU General Public License for more details. -# OBSOLETE # -# OBSOLETE # You should have received a copy of the GNU General Public License along -# OBSOLETE # with this program; if not, write to the Free Software Foundation, Inc., -# OBSOLETE # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -# OBSOLETE -# OBSOLETE M4= @M4@ -# OBSOLETE -# OBSOLETE -# OBSOLETE ## COMMON_PRE_CONFIG_FRAG -# OBSOLETE -# OBSOLETE # These variables are given default values in COMMON_PRE_CONFIG_FRAG. -# OBSOLETE # We override the ones we need to here. -# OBSOLETE # Not all of these need to be mentioned, only the necessary ones. -# OBSOLETE -# OBSOLETE # List of object files, less common parts. -# OBSOLETE SIM_OBJS = \ -# OBSOLETE $(SIM_NEW_COMMON_OBJS) \ -# OBSOLETE engine.o cpu.o \ -# OBSOLETE s_support.o l_support.o \ -# OBSOLETE s_idecode.o l_idecode.o \ -# OBSOLETE s_semantics.o l_semantics.o \ -# OBSOLETE sim-calls.o itable.o \ -# OBSOLETE sim-hload.o \ -# OBSOLETE sim-hrw.o \ -# OBSOLETE sim-engine.o \ -# OBSOLETE sim-stop.o \ -# OBSOLETE sim-reason.o \ -# OBSOLETE sim-resume.o -# OBSOLETE -# OBSOLETE # List of extra dependencies. -# OBSOLETE # Generally this consists of simulator specific files included by sim-main.h. -# OBSOLETE SIM_EXTRA_DEPS = itable.h s_idecode.h l_idecode.h cpu.h alu.h -# OBSOLETE -# OBSOLETE # List of generators -# OBSOLETE SIM_GEN=tmp-igen -# OBSOLETE -# OBSOLETE # List of extra flags to always pass to $(CC). -# OBSOLETE SIM_EXTRA_CFLAGS = @sim_trapdump@ -# OBSOLETE -# OBSOLETE # List of main object files for `run'. -# OBSOLETE SIM_RUN_OBJS = nrun.o -# OBSOLETE -# OBSOLETE # Dependency of `clean' to clean any extra files. -# OBSOLETE SIM_EXTRA_CLEAN = clean-igen -# OBSOLETE -# OBSOLETE # This selects the d30v newlib/libgloss syscall definitions. -# OBSOLETE NL_TARGET=-DNL_TARGET_d30v -# OBSOLETE -# OBSOLETE ## COMMON_POST_CONFIG_FRAG -# OBSOLETE -# OBSOLETE MAIN_INCLUDE_DEPS = tconfig.h -# OBSOLETE INCLUDE_DEPS = $(MAIN_INCLUDE_DEPS) $(SIM_EXTRA_DEPS) -# OBSOLETE -# OBSOLETE # Rules need to build $(SIM_OBJS), plus whatever else the target wants. -# OBSOLETE -# OBSOLETE # ... target specific rules ... -# OBSOLETE -# OBSOLETE # Filter to eliminate known warnings -# OBSOLETE FILTER = 2>&1 | egrep -v "Discarding instruction|instruction field of type \`compute\' changed to \`cache\'|Instruction format is not 64 bits wide" -# OBSOLETE -# OBSOLETE BUILT_SRC_FROM_IGEN = \ -# OBSOLETE s_icache.h \ -# OBSOLETE s_icache.c \ -# OBSOLETE s_idecode.h \ -# OBSOLETE s_idecode.c \ -# OBSOLETE s_semantics.h \ -# OBSOLETE s_semantics.c \ -# OBSOLETE s_model.h \ -# OBSOLETE s_model.c \ -# OBSOLETE s_support.h \ -# OBSOLETE s_support.c \ -# OBSOLETE l_icache.h \ -# OBSOLETE l_icache.c \ -# OBSOLETE l_idecode.h \ -# OBSOLETE l_idecode.c \ -# OBSOLETE l_semantics.h \ -# OBSOLETE l_semantics.c \ -# OBSOLETE l_model.h \ -# OBSOLETE l_model.c \ -# OBSOLETE l_support.h \ -# OBSOLETE l_support.c \ -# OBSOLETE itable.h itable.c -# OBSOLETE $(BUILT_SRC_FROM_IGEN): tmp-igen -# OBSOLETE # -# OBSOLETE -# OBSOLETE .PHONY: clean-igen -# OBSOLETE clean-igen: -# OBSOLETE rm -f $(BUILT_SRC_FROM_IGEN) -# OBSOLETE rm -f tmp-igen tmp-insns -# OBSOLETE -# OBSOLETE ../igen/igen: -# OBSOLETE cd ../igen && $(MAKE) -# OBSOLETE -# OBSOLETE tmp-igen: $(srcdir)/dc-short $(srcdir)/d30v-insns $(srcdir)/ic-d30v ../igen/igen -# OBSOLETE cd ../igen && $(MAKE) -# OBSOLETE echo "# 1 \"$(srcdir)/d30v-insns\"" > tmp-insns -# OBSOLETE $(M4) < $(srcdir)/d30v-insns >> tmp-insns -# OBSOLETE @echo "Generating short version ..." -# OBSOLETE ../igen/igen \ -# OBSOLETE -G gen-zero-r0 \ -# OBSOLETE -G direct-access \ -# OBSOLETE -G default-nia-minus-one \ -# OBSOLETE -G conditional-issue \ -# OBSOLETE -G verify-slot \ -# OBSOLETE -G field-widths \ -# OBSOLETE -F short,emul \ -# OBSOLETE -B 32 \ -# OBSOLETE -P "s_" \ -# OBSOLETE -o $(srcdir)/dc-short \ -# OBSOLETE -k $(srcdir)/ic-d30v \ -# OBSOLETE -n $(srcdir)/d30v-insns -i tmp-insns \ -# OBSOLETE -n s_icache.h -hc tmp-icache.h \ -# OBSOLETE -n s_icache.c -c tmp-icache.c \ -# OBSOLETE -n s_semantics.h -hs tmp-semantics.h \ -# OBSOLETE -n s_semantics.c -s tmp-semantics.c \ -# OBSOLETE -n s_idecode.h -hd tmp-idecode.h \ -# OBSOLETE -n s_idecode.c -d tmp-idecode.c \ -# OBSOLETE -n s_model.h -hm tmp-model.h \ -# OBSOLETE -n s_model.c -m tmp-model.c \ -# OBSOLETE -n s_support.h -hf tmp-support.h \ -# OBSOLETE -n s_support.c -f tmp-support.c $(FILTER) -# OBSOLETE $(srcdir)/../../move-if-change tmp-icache.h s_icache.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-icache.c s_icache.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-idecode.h s_idecode.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-idecode.c s_idecode.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-semantics.h s_semantics.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-semantics.c s_semantics.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-model.h s_model.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-model.c s_model.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-support.h s_support.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-support.c s_support.c -# OBSOLETE @echo "Generating long version ..." -# OBSOLETE ../igen/igen \ -# OBSOLETE -G gen-zero-r0 \ -# OBSOLETE -G direct-access \ -# OBSOLETE -G default-nia-minus-one \ -# OBSOLETE -G conditional-issue \ -# OBSOLETE -G field-widths \ -# OBSOLETE -F long,emul \ -# OBSOLETE -B 64 \ -# OBSOLETE -P "l_" \ -# OBSOLETE -o $(srcdir)/dc-short \ -# OBSOLETE -k $(srcdir)/ic-d30v \ -# OBSOLETE -i tmp-insns \ -# OBSOLETE -n l_icache.h -hc tmp-icache.h \ -# OBSOLETE -n l_icache.c -c tmp-icache.c \ -# OBSOLETE -n l_semantics.h -hs tmp-semantics.h \ -# OBSOLETE -n l_semantics.c -s tmp-semantics.c \ -# OBSOLETE -n l_idecode.h -hd tmp-idecode.h \ -# OBSOLETE -n l_idecode.c -d tmp-idecode.c \ -# OBSOLETE -n l_model.h -hm tmp-model.h \ -# OBSOLETE -n l_model.c -m tmp-model.c \ -# OBSOLETE -n l_support.h -hf tmp-support.h \ -# OBSOLETE -n l_support.c -f tmp-support.c $(FILTER) -# OBSOLETE $(srcdir)/../../move-if-change tmp-icache.h l_icache.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-icache.c l_icache.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-idecode.h l_idecode.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-idecode.c l_idecode.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-semantics.h l_semantics.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-semantics.c l_semantics.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-model.h l_model.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-model.c l_model.c -# OBSOLETE $(srcdir)/../../move-if-change tmp-support.h l_support.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-support.c l_support.c -# OBSOLETE @echo "Generating instruction database ..." -# OBSOLETE ../igen/igen \ -# OBSOLETE -G field-widths \ -# OBSOLETE -F short,long,emul \ -# OBSOLETE -B 64 \ -# OBSOLETE -o $(srcdir)/dc-short \ -# OBSOLETE -k $(srcdir)/ic-d30v \ -# OBSOLETE -i tmp-insns \ -# OBSOLETE -n itable.h -ht tmp-itable.h \ -# OBSOLETE -n itable.c -t tmp-itable.c $(FILTER) -# OBSOLETE $(srcdir)/../../move-if-change tmp-itable.h itable.h -# OBSOLETE $(srcdir)/../../move-if-change tmp-itable.c itable.c -# OBSOLETE touch tmp-igen -# OBSOLETE -# OBSOLETE ENGINE_H = \ -# OBSOLETE sim-main.h \ -# OBSOLETE $(srcdir)/../common/sim-basics.h \ -# OBSOLETE config.h \ -# OBSOLETE $(srcdir)/../common/sim-config.h \ -# OBSOLETE $(srcdir)/../common/sim-inline.h \ -# OBSOLETE $(srcdir)/../common/sim-types.h \ -# OBSOLETE $(srcdir)/../common/sim-bits.h \ -# OBSOLETE $(srcdir)/../common/sim-endian.h \ -# OBSOLETE itable.h \ -# OBSOLETE l_idecode.h s_idecode.h \ -# OBSOLETE cpu.h \ -# OBSOLETE alu.h \ -# OBSOLETE $(srcdir)/../common/sim-alu.h \ -# OBSOLETE $(srcdir)/../common/sim-core.h \ -# OBSOLETE $(srcdir)/../common/sim-events.h \ -# OBSOLETE -# OBSOLETE engine.o: engine.c $(ENGINE_H) -# OBSOLETE sim-calls.o: sim-calls.c $(ENGINE_H) $(srcdir)/../common/sim-utils.h $(srcdir)/../common/sim-options.h -# OBSOLETE cpu.o: cpu.c $(ENGINE_H) -# OBSOLETE s_support.o: s_support.c $(ENGINE_H) -# OBSOLETE l_support.o: l_support.c $(ENGINE_H) -# OBSOLETE s_semantics.o: s_semantics.c $(ENGINE_H) -# OBSOLETE l_semantics.o: l_semantics.c $(ENGINE_H) diff --git a/sim/d30v/acconfig.h b/sim/d30v/acconfig.h deleted file mode 100644 index f9b87a10c60..00000000000 --- a/sim/d30v/acconfig.h +++ /dev/null @@ -1,15 +0,0 @@ - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES diff --git a/sim/d30v/alu.h b/sim/d30v/alu.h deleted file mode 100644 index 5605ce29ab8..00000000000 --- a/sim/d30v/alu.h +++ /dev/null @@ -1,106 +0,0 @@ -/* OBSOLETE /* Mitsubishi Electric Corp. D30V Simulator. */ -/* OBSOLETE Copyright (C) 1997, Free Software Foundation, Inc. */ -/* OBSOLETE Contributed by Cygnus Support. */ -/* OBSOLETE */ -/* OBSOLETE This file is part of GDB, the GNU debugger. */ -/* OBSOLETE */ -/* OBSOLETE This program is free software; you can redistribute it and/or modify */ -/* OBSOLETE it under the terms of the GNU General Public License as published by */ -/* OBSOLETE the Free Software Foundation; either version 2, or (at your option) */ -/* OBSOLETE any later version. */ -/* OBSOLETE */ -/* OBSOLETE This program is distributed in the hope that it will be useful, */ -/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* OBSOLETE GNU General Public License for more details. */ -/* OBSOLETE */ -/* OBSOLETE You should have received a copy of the GNU General Public License along */ -/* OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., */ -/* OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #ifndef _D30V_ALU_H_ */ -/* OBSOLETE #define _D30V_ALU_H_ */ -/* OBSOLETE */ -/* OBSOLETE #define ALU_CARRY (PSW_VAL(PSW_C) != 0) */ -/* OBSOLETE */ -/* OBSOLETE #include "sim-alu.h" */ -/* OBSOLETE */ -/* OBSOLETE #define ALU16_END(TARG, HIGH) \ */ -/* OBSOLETE { \ */ -/* OBSOLETE unsigned32 mask, value; \ */ -/* OBSOLETE if (ALU16_HAD_OVERFLOW) { \ */ -/* OBSOLETE mask = BIT32 (PSW_V) | BIT32 (PSW_VA) | BIT32 (PSW_C); \ */ -/* OBSOLETE value = BIT32 (PSW_V) | BIT32 (PSW_VA); \ */ -/* OBSOLETE } \ */ -/* OBSOLETE else { \ */ -/* OBSOLETE mask = BIT32 (PSW_V) | BIT32 (PSW_C); \ */ -/* OBSOLETE value = 0; \ */ -/* OBSOLETE } \ */ -/* OBSOLETE if (ALU16_HAD_CARRY_BORROW) \ */ -/* OBSOLETE value |= BIT32 (PSW_C); \ */ -/* OBSOLETE if (HIGH) \ */ -/* OBSOLETE WRITE32_QUEUE_MASK (TARG, ALU16_OVERFLOW_RESULT<<16, 0xffff0000); \ */ -/* OBSOLETE else \ */ -/* OBSOLETE WRITE32_QUEUE_MASK (TARG, ALU16_OVERFLOW_RESULT, 0x0000ffff); \ */ -/* OBSOLETE WRITE32_QUEUE_MASK (&PSW, value, mask); \ */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE #define ALU32_END(TARG) \ */ -/* OBSOLETE { \ */ -/* OBSOLETE unsigned32 mask, value; \ */ -/* OBSOLETE if (ALU32_HAD_OVERFLOW) { \ */ -/* OBSOLETE mask = BIT32 (PSW_V) | BIT32 (PSW_VA) | BIT32 (PSW_C); \ */ -/* OBSOLETE value = BIT32 (PSW_V) | BIT32 (PSW_VA); \ */ -/* OBSOLETE } \ */ -/* OBSOLETE else { \ */ -/* OBSOLETE mask = BIT32 (PSW_V) | BIT32 (PSW_C); \ */ -/* OBSOLETE value = 0; \ */ -/* OBSOLETE } \ */ -/* OBSOLETE if (ALU32_HAD_CARRY_BORROW) \ */ -/* OBSOLETE value |= BIT32 (PSW_C); \ */ -/* OBSOLETE WRITE32_QUEUE (TARG, ALU32_OVERFLOW_RESULT); \ */ -/* OBSOLETE WRITE32_QUEUE_MASK (&PSW, value, mask); \ */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE #define ALU_END(TARG) ALU32_END(TARG) */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE /* PSW & Flag manipulation */ */ -/* OBSOLETE */ -/* OBSOLETE #define PSW_SET(BIT,VAL) BLIT32(PSW, (BIT), (VAL)) */ -/* OBSOLETE #define PSW_VAL(BIT) EXTRACTED32(PSW, (BIT), (BIT)) */ -/* OBSOLETE */ -/* OBSOLETE #define PSW_F(FLAG) (17 + ((FLAG) % 8) * 2) */ -/* OBSOLETE #define PSW_FLAG_SET(FLAG,VAL) PSW_SET(PSW_F(FLAG), VAL) */ -/* OBSOLETE #define PSW_FLAG_VAL(FLAG) PSW_VAL(PSW_F(FLAG)) */ -/* OBSOLETE */ -/* OBSOLETE #define PSW_SET_QUEUE(BIT,VAL) \ */ -/* OBSOLETE do { \ */ -/* OBSOLETE unsigned32 mask = BIT32 (BIT); \ */ -/* OBSOLETE unsigned32 bitval = (VAL) ? mask : 0; \ */ -/* OBSOLETE WRITE32_QUEUE_MASK (&PSW, bitval, mask); \ */ -/* OBSOLETE } while (0) */ -/* OBSOLETE */ -/* OBSOLETE #define PSW_FLAG_SET_QUEUE(FLAG,VAL) \ */ -/* OBSOLETE do { \ */ -/* OBSOLETE unsigned32 mask = BIT32 (PSW_F (FLAG)); \ */ -/* OBSOLETE unsigned32 bitval = (VAL) ? mask : 0; \ */ -/* OBSOLETE WRITE32_QUEUE_MASK (&PSW, bitval, mask); \ */ -/* OBSOLETE } while (0) */ -/* OBSOLETE */ -/* OBSOLETE /* Bring data in from the cold */ */ -/* OBSOLETE */ -/* OBSOLETE #define IMEM(EA) \ */ -/* OBSOLETE (sim_core_read_8(STATE_CPU (sd, 0), cia, exec_map, (EA))) */ -/* OBSOLETE */ -/* OBSOLETE #define MEM(SIGN, EA, NR_BYTES) \ */ -/* OBSOLETE ((SIGN##_##NR_BYTES) sim_core_read_unaligned_##NR_BYTES(STATE_CPU (sd, 0), cia, read_map, (EA))) */ -/* OBSOLETE */ -/* OBSOLETE #define STORE(EA, NR_BYTES, VAL) \ */ -/* OBSOLETE do { \ */ -/* OBSOLETE sim_core_write_unaligned_##NR_BYTES(STATE_CPU (sd, 0), cia, write_map, (EA), (VAL)); \ */ -/* OBSOLETE } while (0) */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #endif */ diff --git a/sim/d30v/config.in b/sim/d30v/config.in deleted file mode 100644 index 9723b8662c9..00000000000 --- a/sim/d30v/config.in +++ /dev/null @@ -1,162 +0,0 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define if you have the __setfpucw function. */ -#undef HAVE___SETFPUCW - -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the getrusage function. */ -#undef HAVE_GETRUSAGE - -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP - -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV - -/* Define if you have the setenv function. */ -#undef HAVE_SETENV - -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE - -/* Define if you have the sigaction function. */ -#undef HAVE_SIGACTION - -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the time function. */ -#undef HAVE_TIME - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the header file. */ -#undef HAVE_FPU_CONTROL_H - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the header file. */ -#undef HAVE_STRING_H - -/* Define if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_VALUES_H diff --git a/sim/d30v/configure b/sim/d30v/configure deleted file mode 100755 index 90a98a0e4ba..00000000000 --- a/sim/d30v/configure +++ /dev/null @@ -1,4459 +0,0 @@ -#! /bin/sh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sim_inline="-DDEFAULT_INLINE=0" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# This file is derived from `gettext.m4'. The difference is that the -# included macros assume Cygnus-style source and build trees. - -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 3 - - - - - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - - - -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - - - - - - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help - --disable-nls do not use Native Language Support" -ac_help="$ac_help - --with-included-gettext use the GNU gettext library included here" -ac_help="$ac_help - --enable-maintainer-mode Enable developer functionality." -ac_help="$ac_help - --enable-sim-bswap Use Host specific BSWAP instruction." -ac_help="$ac_help - --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" -ac_help="$ac_help - --enable-sim-debug=opts Enable debugging flags" -ac_help="$ac_help - --enable-sim-stdio Specify whether to use stdio for console input/output." -ac_help="$ac_help - --enable-sim-trace=opts Enable tracing flags" -ac_help="$ac_help - --enable-sim-profile=opts Enable profiling flags" -ac_help="$ac_help - --enable-sim-inline=inlines Specify which functions should be inlined." -ac_help="$ac_help - --enable-sim-endian=endian Specify target byte endian orientation." -ac_help="$ac_help - --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses." -ac_help="$ac_help - --enable-sim-hostendian=end Specify host byte endian orientation." -ac_help="$ac_help - --enable-build-warnings Enable build-time compiler warnings if gcc is used" -ac_help="$ac_help - --enable-gdb-build-warnings Enable SIM specific build-time compiler warnings if gcc is used" -ac_help="$ac_help - --enable-sim-reserved-bits Specify whether to check reserved bits in instruction." -ac_help="$ac_help - --enable-sim-trapdump Make unknown traps dump the registers" - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -sitefile= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --site-file=FILE use FILE as the site file - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -site-file | --site-file | --site-fil | --site-fi | --site-f) - ac_prev=sitefile ;; - -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) - sitefile="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=Makefile.in - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$sitefile"; then - if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi - fi -else - CONFIG_SITE="$sitefile" -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:695: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:716: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:733: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:775: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:802: checking for POSIXized ISC" >&5 -if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 -then - echo "$ac_t""yes" 1>&6 - ISC=yes # If later tests want to check for ISC. - cat >> confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - - if test "$GCC" = yes; then - CC="$CC -posix" - else - CC="$CC -Xp" - fi -else - echo "$ac_t""no" 1>&6 - ISC= -fi - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:823: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:836: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:903: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:927: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:981: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF - -fi - -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:1002: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_inline=$ac_kw; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in - inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <&6 -echo "configure:1042: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes -else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long -EOF - -fi - -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1075: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_size_t=yes -else - rm -rf conftest* - ac_cv_type_size_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned -EOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:1110: checking for working alloca.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:1122: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 -EOF - -fi - -echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1143: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int main() { -char *p = (char *) alloca(1); -; return 0; } -EOF -if { (eval echo configure:1176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_func_alloca_works=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 -if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF - -fi - -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - - -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:1208: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_os_cray=yes -else - rm -rf conftest* - ac_cv_os_cray=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 -if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1238: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1266: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <&6 -fi - -done -fi - -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:1293: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat > conftest.$ac_ext < addr) ? 1 : -1; -} -main () -{ - exit (find_stack_direction() < 0); -} -EOF -if { (eval echo configure:1320: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_stack_direction=1 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <&6 -echo "configure:1345: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1355: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getpagesize -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1384: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1412: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:1437: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat > conftest.$ac_ext < -#include -#include - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef HAVE_UNISTD_H -# include -# endif - -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - -int -main() -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); -} - -EOF -if { (eval echo configure:1585: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_MMAP 1 -EOF - -fi - -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:1608: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_cygwin=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1641: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_mingw32=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_mingw32=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes - -# autoconf.info says this should be called right after AC_INIT. - - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1720: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:1741: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1759: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF_SED > conftestsed -s,\\,\\\\,g; s,\$,$$,g -EOF_SED - program_transform_name="`echo $program_transform_name|sed -f conftestsed`" - rm -f conftestsed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1803: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1833: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1884: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1916: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 1927 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1932: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1958: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1963: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1991: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:2034: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - -# Put a plausible default for CC_FOR_BUILD in Makefile. -if test "x$cross_compiling" = "xno"; then - CC_FOR_BUILD='$(CC)' -else - CC_FOR_BUILD=gcc -fi - - - - -AR=${AR-ar} - -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2102: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - -ALL_LINGUAS= - - for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2137: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2147: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2177: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - for ac_func in stpcpy -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2234: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2262: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_STPCPY 1 -EOF - - fi - - if test $ac_cv_header_locale_h = yes; then - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:2296: checking for LC_MESSAGES" >&5 -if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return LC_MESSAGES -; return 0; } -EOF -if { (eval echo configure:2308: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_val_LC_MESSAGES=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_val_LC_MESSAGES=no -fi -rm -f conftest* -fi - -echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 - if test $am_cv_val_LC_MESSAGES = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF - - fi - fi - echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:2329: checking whether NLS is requested" >&5 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi - - echo "$ac_t""$USE_NLS" 1>&6 - - - USE_INCLUDED_LIBINTL=no - - if test "$USE_NLS" = "yes"; then - cat >> confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - - echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:2349: checking whether included gettext is requested" >&5 - # Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi - - echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:2368: checking for libintl.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2378: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:2395: checking for gettext in libc" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return (int) gettext ("") -; return 0; } -EOF -if { (eval echo configure:2407: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libc=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libc=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 - - if test "$gt_cv_func_gettext_libc" != "yes"; then - echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:2423: checking for bindtextdomain in -lintl" >&5 -ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lintl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:2458: checking for gettext in libintl" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libintl=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libintl=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2498: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - if test "$MSGFMT" != "no"; then - for ac_func in dcgettext -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2532: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2560: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2587: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2623: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - CATOBJEXT=.gmo - DATADIRNAME=share -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CATOBJEXT=.mo - DATADIRNAME=lib -fi -rm -f conftest* - INSTOBJEXT=.mo - fi - fi - -else - echo "$ac_t""no" 1>&6 -fi - - - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - INTLOBJS="\$(GETTOBJS)" - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2695: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2729: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2765: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/../intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6 - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - - - - - - - - - - - - - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:2855: checking for catalogs to be installed" >&5 - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - echo "$ac_t""$LINGUAS" 1>&6 - fi - - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - - - if test -f $srcdir/po2tbl.sed.in; then - if test "$CATOBJEXT" = ".cat"; then - ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:2883: checking for linux/version.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2893: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - msgformat=linux -else - echo "$ac_t""no" 1>&6 -msgformat=xopen -fi - - - sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed - fi - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/po2tbl.sed.in > po2tbl.sed - fi - - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - - - - MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs" - - - l= - - - if test -d $srcdir/po; then - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - fi - - -# Check for common headers. -# FIXME: Seems to me this can cause problems for i386-windows hosts. -# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*. -for ac_hdr in stdlib.h string.h strings.h unistd.h time.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2962: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2972: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in sys/time.h sys/resource.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3002: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3012: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in fcntl.h fpu_control.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3042: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3052: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in dlfcn.h errno.h sys/stat.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3082: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getrusage time sigaction __setfpucw -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3121: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3149: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - -# Check for socket libraries -echo $ac_n "checking for bind in -lsocket""... $ac_c" 1>&6 -echo "configure:3176: checking for bind in -lsocket" >&5 -ac_lib_var=`echo socket'_'bind | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - -echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3223: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - - -. ${srcdir}/../../bfd/configure.host - - - -USE_MAINTAINER_MODE=no -# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval="$enable_maintainer_mode" - case "${enableval}" in - yes) MAINT="" USE_MAINTAINER_MODE=yes ;; - no) MAINT="#" ;; - *) { echo "configure: error: "--enable-maintainer-mode does not take a value"" 1>&2; exit 1; }; MAINT="#" ;; -esac -if test x"$silent" != x"yes" && test x"$MAINT" = x""; then - echo "Setting maintainer mode" 6>&1 -fi -else - MAINT="#" -fi - - - -# Check whether --enable-sim-bswap or --disable-sim-bswap was given. -if test "${enable_sim_bswap+set}" = set; then - enableval="$enable_sim_bswap" - case "${enableval}" in - yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";; - no) sim_bswap="-DWITH_BSWAP=0";; - *) { echo "configure: error: "--enable-sim-bswap does not take a value"" 1>&2; exit 1; }; sim_bswap="";; -esac -if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then - echo "Setting bswap flags = $sim_bswap" 6>&1 -fi -else - sim_bswap="" -fi - - - -# Check whether --enable-sim-cflags or --disable-sim-cflags was given. -if test "${enable_sim_cflags+set}" = set; then - enableval="$enable_sim_cflags" - case "${enableval}" in - yes) sim_cflags="-O2 -fomit-frame-pointer";; - trace) { echo "configure: error: "Please use --enable-sim-debug instead."" 1>&2; exit 1; }; sim_cflags="";; - no) sim_cflags="";; - *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac -if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then - echo "Setting sim cflags = $sim_cflags" 6>&1 -fi -else - sim_cflags="" -fi - - - -# Check whether --enable-sim-debug or --disable-sim-debug was given. -if test "${enable_sim_debug+set}" = set; then - enableval="$enable_sim_debug" - case "${enableval}" in - yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";; - no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";; - *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";; -esac -if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then - echo "Setting sim debug = $sim_debug" 6>&1 -fi -else - sim_debug="" -fi - - - -# Check whether --enable-sim-stdio or --disable-sim-stdio was given. -if test "${enable_sim_stdio+set}" = set; then - enableval="$enable_sim_stdio" - case "${enableval}" in - yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; - no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; - *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; -esac -if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then - echo "Setting stdio flags = $sim_stdio" 6>&1 -fi -else - sim_stdio="" -fi - - - -# Check whether --enable-sim-trace or --disable-sim-trace was given. -if test "${enable_sim_trace+set}" = set; then - enableval="$enable_sim_trace" - case "${enableval}" in - yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";; - no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";; - [-0-9]*) - sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";; - [a-z]*) - sim_trace="" - for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - if test x"$sim_trace" = x; then - sim_trace="-DWITH_TRACE='(TRACE_$x" - else - sim_trace="${sim_trace}|TRACE_$x" - fi - done - sim_trace="$sim_trace)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then - echo "Setting sim trace = $sim_trace" 6>&1 -fi -else - sim_trace="" -fi - - - -# Check whether --enable-sim-profile or --disable-sim-profile was given. -if test "${enable_sim_profile+set}" = set; then - enableval="$enable_sim_profile" - case "${enableval}" in - yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";; - no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";; - [-0-9]*) - sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";; - [a-z]*) - sim_profile="" - for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - if test x"$sim_profile" = x; then - sim_profile="-DWITH_PROFILE='(PROFILE_$x" - else - sim_profile="${sim_profile}|PROFILE_$x" - fi - done - sim_profile="$sim_profile)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then - echo "Setting sim profile = $sim_profile" 6>&1 -fi -else - sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1" -fi - - - -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3418: checking return type of signal handlers" >&5 -if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int main() { -int i; -; return 0; } -EOF -if { (eval echo configure:3440: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_type_signal=void -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_type_signal=int -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_type_signal" 1>&6 -cat >> confdefs.h <&6 -echo "configure:3462: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:3472: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi - -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT - - -sim_link_files= -sim_link_links= - -sim_link_links=tconfig.h -if test -f ${srcdir}/tconfig.in -then - sim_link_files=tconfig.in -else - sim_link_files=../common/tconfig.in -fi - -# targ-vals.def points to the libc macro description file. -case "${target}" in -*-*-*) TARG_VALS_DEF=../common/nltvals.def ;; -esac -sim_link_files="${sim_link_files} ${TARG_VALS_DEF}" -sim_link_links="${sim_link_links} targ-vals.def" - - - -for ac_prog in gm4 gnum4 m4 -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3518: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_M4'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$M4" in - /*) - ac_cv_path_M4="$M4" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_M4="$M4" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_M4="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - ;; -esac -fi -M4="$ac_cv_path_M4" -if test -n "$M4"; then - echo "$ac_t""$M4" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$M4" && break -done -test -n "$M4" || M4="m4" - - - -default_sim_inline="-DDEFAULT_INLINE=0" -# Check whether --enable-sim-inline or --disable-sim-inline was given. -if test "${enable_sim_inline+set}" = set; then - enableval="$enable_sim_inline" - sim_inline="" -case "$enableval" in - no) sim_inline="-DDEFAULT_INLINE=0";; - 0) sim_inline="-DDEFAULT_INLINE=0";; - yes | 2) sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";; - 1) sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";; - *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - new_flag="" - case "$x" in - *_INLINE=*) new_flag="-D$x";; - *=*) new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;; - *_INLINE) new_flag="-D$x=ALL_C_INLINE";; - *) new_flag="-D$x""_INLINE=ALL_C_INLINE";; - esac - if test x"$sim_inline" = x""; then - sim_inline="$new_flag" - else - sim_inline="$sim_inline $new_flag" - fi - done;; -esac -if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then - echo "Setting inline flags = $sim_inline" 6>&1 -fi -else - -if test "x$cross_compiling" = "xno"; then - if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then - sim_inline="${default_sim_inline}" - if test x"$silent" != x"yes"; then - echo "Setting inline flags = $sim_inline" 6>&1 - fi - else - sim_inline="" - fi -else - sim_inline="-DDEFAULT_INLINE=0" -fi -fi - - -wire_endian="BIG_ENDIAN" -default_endian="" -# Check whether --enable-sim-endian or --disable-sim-endian was given. -if test "${enable_sim_endian+set}" = set; then - enableval="$enable_sim_endian" - case "${enableval}" in - b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";; - l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";; - yes) if test x"$wire_endian" != x; then - sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}" - else - if test x"$default_endian" != x; then - sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}" - else - echo "No hard-wired endian for target $target" 1>&6 - sim_endian="-DWITH_TARGET_BYTE_ORDER=0" - fi - fi;; - no) if test x"$default_endian" != x; then - sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}" - else - if test x"$wire_endian" != x; then - sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}" - else - echo "No default endian for target $target" 1>&6 - sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0" - fi - fi;; - *) { echo "configure: error: "Unknown value $enableval for --enable-sim-endian"" 1>&2; exit 1; }; sim_endian="";; -esac -if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then - echo "Setting endian flags = $sim_endian" 6>&1 -fi -else - if test x"$default_endian" != x; then - sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}" -else - if test x"$wire_endian" != x; then - sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}" - else - sim_endian= - fi -fi -fi - -wire_alignment="STRICT_ALIGNMENT" -default_alignment="" - -# Check whether --enable-sim-alignment or --disable-sim-alignment was given. -if test "${enable_sim_alignment+set}" = set; then - enableval="$enable_sim_alignment" - case "${enableval}" in - strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";; - nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";; - forced | FORCED) sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";; - yes) if test x"$wire_alignment" != x; then - sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}" - else - if test x"$default_alignment" != x; then - sim_alignment="-DWITH_ALIGNMENT=${default_alignment}" - else - echo "No hard-wired alignment for target $target" 1>&6 - sim_alignment="-DWITH_ALIGNMENT=0" - fi - fi;; - no) if test x"$default_alignment" != x; then - sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}" - else - if test x"$wire_alignment" != x; then - sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}" - else - echo "No default alignment for target $target" 1>&6 - sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0" - fi - fi;; - *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-alignment"" 1>&2; exit 1; }; sim_alignment="";; -esac -if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then - echo "Setting alignment flags = $sim_alignment" 6>&1 -fi -else - if test x"$default_alignment" != x; then - sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}" -else - if test x"$wire_alignment" != x; then - sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}" - else - sim_alignment= - fi -fi -fi - - -# Check whether --enable-sim-hostendian or --disable-sim-hostendian was given. -if test "${enable_sim_hostendian+set}" = set; then - enableval="$enable_sim_hostendian" - case "${enableval}" in - no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";; - b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";; - l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";; - *) { echo "configure: error: "Unknown value $enableval for --enable-sim-hostendian"" 1>&2; exit 1; }; sim_hostendian="";; -esac -if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then - echo "Setting hostendian flags = $sim_hostendian" 6>&1 -fi -else - -if test "x$cross_compiling" = "xno"; then - echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:3710: checking whether byte ordering is bigendian" >&5 -if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_c_bigendian=unknown -# See if sys/param.h defines the BYTE_ORDER macro. -cat > conftest.$ac_ext < -#include -int main() { - -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN - bogus endian macros -#endif -; return 0; } -EOF -if { (eval echo configure:3728: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - # It does; now see whether it defined to BIG_ENDIAN or not. -cat > conftest.$ac_ext < -#include -int main() { - -#if BYTE_ORDER != BIG_ENDIAN - not big endian -#endif -; return 0; } -EOF -if { (eval echo configure:3743: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_bigendian=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_bigendian=no -fi -rm -f conftest* -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -if test $ac_cv_c_bigendian = unknown; then -if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_bigendian=no -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_bigendian=yes -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_c_bigendian" 1>&6 -if test $ac_cv_c_bigendian = yes; then - cat >> confdefs.h <<\EOF -#define WORDS_BIGENDIAN 1 -EOF - -fi - - if test $ac_cv_c_bigendian = yes; then - sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN" - else - sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN" - fi -else - sim_hostendian="-DWITH_HOST_BYTE_ORDER=0" -fi -fi - - -# NOTE: Don't add -Wall or -Wunused, they both include -# -Wunused-parameter which reports bogus warnings. -# NOTE: If you add to this list, remember to update -# gdb/doc/gdbint.texinfo. -build_warnings="-Wimplicit -Wreturn-type -Wcomment -Wtrigraphs \ --Wformat -Wparentheses -Wpointer-arith -Wuninitialized" -# Up for debate: -Wswitch -Wcomment -trigraphs -Wtrigraphs -# -Wunused-function -Wunused-label -Wunused-variable -Wunused-value -# -Wchar-subscripts -Wtraditional -Wshadow -Wcast-qual -# -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes -# -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -# -Woverloaded-virtual -Winline -Werror" -# Check whether --enable-build-warnings or --disable-build-warnings was given. -if test "${enable_build_warnings+set}" = set; then - enableval="$enable_build_warnings" - case "${enableval}" in - yes) ;; - no) build_warnings="-w";; - ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"` - build_warnings="${build_warnings} ${t}";; - *,) t=`echo "${enableval}" | sed -e "s/,/ /g"` - build_warnings="${t} ${build_warnings}";; - *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac -if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then - echo "Setting compiler warning flags = $build_warnings" 6>&1 -fi -fi -# Check whether --enable-sim-build-warnings or --disable-sim-build-warnings was given. -if test "${enable_sim_build_warnings+set}" = set; then - enableval="$enable_sim_build_warnings" - case "${enableval}" in - yes) ;; - no) build_warnings="-w";; - ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"` - build_warnings="${build_warnings} ${t}";; - *,) t=`echo "${enableval}" | sed -e "s/,/ /g"` - build_warnings="${t} ${build_warnings}";; - *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac -if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then - echo "Setting GDB specific compiler warning flags = $build_warnings" 6>&1 -fi -fi -WARN_CFLAGS="" -WERROR_CFLAGS="" -if test "x${build_warnings}" != x -a "x$GCC" = xyes -then - echo $ac_n "checking compiler warning flags""... $ac_c" 1>&6 -echo "configure:3859: checking compiler warning flags" >&5 - # Separate out the -Werror flag as some files just cannot be - # compiled with it enabled. - for w in ${build_warnings}; do - case $w in - -Werr*) WERROR_CFLAGS=-Werror ;; - *) # Check that GCC accepts it - saved_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $w" - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - WARN_CFLAGS="${WARN_CFLAGS} $w" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* - CFLAGS="$saved_CFLAGS" - esac - done - echo "$ac_t""${WARN_CFLAGS}${WERROR_CFLAGS}" 1>&6 -fi - - -default_sim_reserved_bits="1" -# Check whether --enable-sim-reserved-bits or --disable-sim-reserved-bits was given. -if test "${enable_sim_reserved_bits+set}" = set; then - enableval="$enable_sim_reserved_bits" - case "${enableval}" in - yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";; - no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";; - *) { echo "configure: error: "--enable-sim-reserved-bits does not take a value"" 1>&2; exit 1; }; sim_reserved_bits="";; -esac -if test x"$silent" != x"yes" && test x"$sim_reserved_bits" != x""; then - echo "Setting reserved flags = $sim_reserved_bits" 6>&1 -fi -else - sim_reserved_bits="-DWITH_RESERVED_BITS=${default_sim_reserved_bits}" -fi - - - - -# -# Enable making unknown traps dump out registers -# -# Check whether --enable-sim-trapdump or --disable-sim-trapdump was given. -if test "${enable_sim_trapdump+set}" = set; then - enableval="$enable_sim_trapdump" - case "${enableval}" in - yes) sim_trapdump="-DTRAPDUMP=1";; - no) sim_trapdump="-DTRAPDUMP=0";; - *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-trapdump"" 1>&2; exit 1; }; sim_trapdump="";; -esac -if test x"$silent" != x"yes" && test x"$sim_trapdump" != x""; then - echo "Setting sim_trapdump = $sim_trapdump" 6>&1 -fi -else - sim_trapdump="" -fi - - -for ac_hdr in stdlib.h unistd.h string.h strings.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3933: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3943: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - - - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS </dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" - -trap 'rm -fr `echo "Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@sim_environment@%$sim_environment%g -s%@sim_alignment@%$sim_alignment%g -s%@sim_assert@%$sim_assert%g -s%@sim_bitsize@%$sim_bitsize%g -s%@sim_endian@%$sim_endian%g -s%@sim_hostendian@%$sim_hostendian%g -s%@sim_float@%$sim_float%g -s%@sim_scache@%$sim_scache%g -s%@sim_default_model@%$sim_default_model%g -s%@sim_hw_cflags@%$sim_hw_cflags%g -s%@sim_hw_objs@%$sim_hw_objs%g -s%@sim_hw@%$sim_hw%g -s%@sim_inline@%$sim_inline%g -s%@sim_packages@%$sim_packages%g -s%@sim_regparm@%$sim_regparm%g -s%@sim_reserved_bits@%$sim_reserved_bits%g -s%@sim_smp@%$sim_smp%g -s%@sim_stdcall@%$sim_stdcall%g -s%@sim_xor_endian@%$sim_xor_endian%g -s%@WARN_CFLAGS@%$WARN_CFLAGS%g -s%@WERROR_CFLAGS@%$WERROR_CFLAGS%g -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@CC@%$CC%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g -s%@HDEFINES@%$HDEFINES%g -s%@AR@%$AR%g -s%@RANLIB@%$RANLIB%g -s%@SET_MAKE@%$SET_MAKE%g -s%@CPP@%$CPP%g -s%@ALLOCA@%$ALLOCA%g -s%@USE_NLS@%$USE_NLS%g -s%@MSGFMT@%$MSGFMT%g -s%@GMSGFMT@%$GMSGFMT%g -s%@XGETTEXT@%$XGETTEXT%g -s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g -s%@CATALOGS@%$CATALOGS%g -s%@CATOBJEXT@%$CATOBJEXT%g -s%@DATADIRNAME@%$DATADIRNAME%g -s%@GMOFILES@%$GMOFILES%g -s%@INSTOBJEXT@%$INSTOBJEXT%g -s%@INTLDEPS@%$INTLDEPS%g -s%@INTLLIBS@%$INTLLIBS%g -s%@INTLOBJS@%$INTLOBJS%g -s%@POFILES@%$POFILES%g -s%@POSUB@%$POSUB%g -s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g -s%@GT_NO@%$GT_NO%g -s%@GT_YES@%$GT_YES%g -s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g -s%@l@%$l%g -s%@MAINT@%$MAINT%g -s%@sim_bswap@%$sim_bswap%g -s%@sim_cflags@%$sim_cflags%g -s%@sim_debug@%$sim_debug%g -s%@sim_stdio@%$sim_stdio%g -s%@sim_trace@%$sim_trace%g -s%@sim_profile@%$sim_profile%g -s%@EXEEXT@%$EXEEXT%g -s%@M4@%$M4%g -s%@sim_trapdump@%$sim_trapdump%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -srcdir=$ac_given_srcdir -while test -n "$ac_sources"; do - set $ac_dests; ac_dest=$1; shift; ac_dests=$* - set $ac_sources; ac_source=$1; shift; ac_sources=$* - - echo "linking $srcdir/$ac_source to $ac_dest" - - if test ! -r $srcdir/$ac_source; then - { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; } - fi - rm -f $ac_dest - - # Make relative symlinks. - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'` - if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then - # The dest file is in a subdirectory. - test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" - ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dest_dir_suffix. - ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dest_dir_suffix= ac_dots= - fi - - case "$srcdir" in - [/$]*) ac_rel_source="$srcdir/$ac_source" ;; - *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;; - esac - - # Make a symlink if possible; otherwise try a hard link. - if ln -s $ac_rel_source $ac_dest 2>/dev/null || - ln $srcdir/$ac_source $ac_dest; then : - else - { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; } - fi -done -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -case "x$CONFIG_FILES" in - xMakefile*) - echo "Merging Makefile.sim+Make-common.sim into Makefile ..." - rm -f Makesim1.tmp Makesim2.tmp Makefile - sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' Makesim1.tmp - sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' Makesim2.tmp - sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \ - -e '/^## COMMON_POST_/ r Makesim2.tmp' \ - Makefile - rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp - ;; - esac - case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - - diff --git a/sim/d30v/configure.in b/sim/d30v/configure.in deleted file mode 100644 index 440aac56243..00000000000 --- a/sim/d30v/configure.in +++ /dev/null @@ -1,40 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -sinclude(../common/aclocal.m4) -AC_PREREQ(2.5)dnl -AC_INIT(Makefile.in) - -SIM_AC_COMMON - -dnl Find a versionn of m4 to use as a preprocessor -AC_PATH_PROGS(M4, gm4 gnum4 m4, m4) - -dnl Options available in this module -SIM_AC_OPTION_INLINE(0) -SIM_AC_OPTION_ENDIAN(BIG_ENDIAN) -SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT) -SIM_AC_OPTION_HOSTENDIAN -SIM_AC_OPTION_WARNINGS -SIM_AC_OPTION_RESERVED_BITS(1) - -AC_SUBST(M4) - -# -# Enable making unknown traps dump out registers -# -AC_ARG_ENABLE(sim-trapdump, -[ --enable-sim-trapdump Make unknown traps dump the registers], -[case "${enableval}" in - yes) sim_trapdump="-DTRAPDUMP=1";; - no) sim_trapdump="-DTRAPDUMP=0";; - *) AC_MSG_ERROR("Unknown value $enableval passed to --enable-sim-trapdump"); sim_trapdump="";; -esac -if test x"$silent" != x"yes" && test x"$sim_trapdump" != x""; then - echo "Setting sim_trapdump = $sim_trapdump" 6>&1 -fi],[sim_trapdump=""])dnl -AC_SUBST(sim_trapdump) - -dnl For UNIX emulation -AC_CHECK_HEADERS(stdlib.h unistd.h string.h strings.h) - - -SIM_AC_OUTPUT diff --git a/sim/d30v/cpu.c b/sim/d30v/cpu.c deleted file mode 100644 index 32d8829113a..00000000000 --- a/sim/d30v/cpu.c +++ /dev/null @@ -1,172 +0,0 @@ -/* OBSOLETE /* Mitsubishi Electric Corp. D30V Simulator. */ -/* OBSOLETE Copyright (C) 1997, Free Software Foundation, Inc. */ -/* OBSOLETE Contributed by Cygnus Support. */ -/* OBSOLETE */ -/* OBSOLETE This file is part of GDB, the GNU debugger. */ -/* OBSOLETE */ -/* OBSOLETE This program is free software; you can redistribute it and/or modify */ -/* OBSOLETE it under the terms of the GNU General Public License as published by */ -/* OBSOLETE the Free Software Foundation; either version 2, or (at your option) */ -/* OBSOLETE any later version. */ -/* OBSOLETE */ -/* OBSOLETE This program is distributed in the hope that it will be useful, */ -/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* OBSOLETE GNU General Public License for more details. */ -/* OBSOLETE */ -/* OBSOLETE You should have received a copy of the GNU General Public License along */ -/* OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., */ -/* OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #ifndef _CPU_C_ */ -/* OBSOLETE #define _CPU_C_ */ -/* OBSOLETE */ -/* OBSOLETE #include "sim-main.h" */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE int */ -/* OBSOLETE is_wrong_slot (SIM_DESC sd, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE itable_index index) */ -/* OBSOLETE { */ -/* OBSOLETE switch (STATE_CPU (sd, 0)->unit) */ -/* OBSOLETE { */ -/* OBSOLETE case memory_unit: */ -/* OBSOLETE return !itable[index].option[itable_option_mu]; */ -/* OBSOLETE case integer_unit: */ -/* OBSOLETE return !itable[index].option[itable_option_iu]; */ -/* OBSOLETE case any_unit: */ -/* OBSOLETE return 0; */ -/* OBSOLETE default: */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, */ -/* OBSOLETE "internal error - is_wrong_slot - bad switch"); */ -/* OBSOLETE return -1; */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE int */ -/* OBSOLETE is_condition_ok (SIM_DESC sd, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE int cond) */ -/* OBSOLETE { */ -/* OBSOLETE switch (cond) */ -/* OBSOLETE { */ -/* OBSOLETE case 0x0: */ -/* OBSOLETE return 1; */ -/* OBSOLETE case 0x1: */ -/* OBSOLETE return PSW_VAL(PSW_F0); */ -/* OBSOLETE case 0x2: */ -/* OBSOLETE return !PSW_VAL(PSW_F0); */ -/* OBSOLETE case 0x3: */ -/* OBSOLETE return PSW_VAL(PSW_F1); */ -/* OBSOLETE case 0x4: */ -/* OBSOLETE return !PSW_VAL(PSW_F1); */ -/* OBSOLETE case 0x5: */ -/* OBSOLETE return PSW_VAL(PSW_F0) && PSW_VAL(PSW_F1); */ -/* OBSOLETE case 0x6: */ -/* OBSOLETE return PSW_VAL(PSW_F0) && !PSW_VAL(PSW_F1); */ -/* OBSOLETE case 0x7: */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, */ -/* OBSOLETE "is_condition_ok - bad instruction condition bits"); */ -/* OBSOLETE return 0; */ -/* OBSOLETE default: */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, */ -/* OBSOLETE "internal error - is_condition_ok - bad switch"); */ -/* OBSOLETE return -1; */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* If --trace-call, trace calls, remembering the current state of */ -/* OBSOLETE registers. */ */ -/* OBSOLETE */ -/* OBSOLETE typedef struct _call_stack { */ -/* OBSOLETE struct _call_stack *prev; */ -/* OBSOLETE registers regs; */ -/* OBSOLETE } call_stack; */ -/* OBSOLETE */ -/* OBSOLETE static call_stack *call_stack_head = (call_stack *)0; */ -/* OBSOLETE static int call_depth = 0; */ -/* OBSOLETE */ -/* OBSOLETE void call_occurred (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE address_word nia) */ -/* OBSOLETE { */ -/* OBSOLETE call_stack *ptr = ZALLOC (call_stack); */ -/* OBSOLETE ptr->regs = cpu->regs; */ -/* OBSOLETE ptr->prev = call_stack_head; */ -/* OBSOLETE call_stack_head = ptr; */ -/* OBSOLETE */ -/* OBSOLETE trace_one_insn (sd, cpu, nia, 1, "", 0, "call", */ -/* OBSOLETE "Depth %3d, Return 0x%.8lx, Args 0x%.8lx 0x%.8lx", */ -/* OBSOLETE ++call_depth, (unsigned long)cia+8, (unsigned long)GPR[2], */ -/* OBSOLETE (unsigned long)GPR[3]); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* If --trace-call, trace returns, checking if any saved register was changed. */ */ -/* OBSOLETE */ -/* OBSOLETE void return_occurred (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE address_word nia) */ -/* OBSOLETE { */ -/* OBSOLETE char buffer[1024]; */ -/* OBSOLETE char *buf_ptr = buffer; */ -/* OBSOLETE call_stack *ptr = call_stack_head; */ -/* OBSOLETE int regno; */ -/* OBSOLETE char *prefix = ", Registers that differ: "; */ -/* OBSOLETE */ -/* OBSOLETE *buf_ptr = '\0'; */ -/* OBSOLETE for (regno = 34; regno <= 63; regno++) { */ -/* OBSOLETE if (cpu->regs.general_purpose[regno] != ptr->regs.general_purpose[regno]) { */ -/* OBSOLETE sprintf (buf_ptr, "%sr%d", prefix, regno); */ -/* OBSOLETE buf_ptr += strlen (buf_ptr); */ -/* OBSOLETE prefix = " "; */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE if (cpu->regs.accumulator[1] != ptr->regs.accumulator[1]) { */ -/* OBSOLETE sprintf (buf_ptr, "%sa1", prefix); */ -/* OBSOLETE buf_ptr += strlen (buf_ptr); */ -/* OBSOLETE prefix = " "; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE trace_one_insn (sd, cpu, cia, 1, "", 0, "return", */ -/* OBSOLETE "Depth %3d, Return 0x%.8lx, Ret. 0x%.8lx 0x%.8lx%s", */ -/* OBSOLETE call_depth--, (unsigned long)nia, (unsigned long)GPR[2], */ -/* OBSOLETE (unsigned long)GPR[3], buffer); */ -/* OBSOLETE */ -/* OBSOLETE call_stack_head = ptr->prev; */ -/* OBSOLETE zfree (ptr); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE /* Read/write functions for system call interface. */ */ -/* OBSOLETE int */ -/* OBSOLETE d30v_read_mem (host_callback *cb, */ -/* OBSOLETE struct cb_syscall *sc, */ -/* OBSOLETE unsigned long taddr, */ -/* OBSOLETE char *buf, */ -/* OBSOLETE int bytes) */ -/* OBSOLETE { */ -/* OBSOLETE SIM_DESC sd = (SIM_DESC) sc->p1; */ -/* OBSOLETE sim_cpu *cpu = STATE_CPU (sd, 0); */ -/* OBSOLETE */ -/* OBSOLETE return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE int */ -/* OBSOLETE d30v_write_mem (host_callback *cb, */ -/* OBSOLETE struct cb_syscall *sc, */ -/* OBSOLETE unsigned long taddr, */ -/* OBSOLETE const char *buf, */ -/* OBSOLETE int bytes) */ -/* OBSOLETE { */ -/* OBSOLETE SIM_DESC sd = (SIM_DESC) sc->p1; */ -/* OBSOLETE sim_cpu *cpu = STATE_CPU (sd, 0); */ -/* OBSOLETE */ -/* OBSOLETE return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE #endif /* _CPU_C_ */ */ diff --git a/sim/d30v/cpu.h b/sim/d30v/cpu.h deleted file mode 100644 index 1e9f3d8a969..00000000000 --- a/sim/d30v/cpu.h +++ /dev/null @@ -1,249 +0,0 @@ -/* OBSOLETE /* Mitsubishi Electric Corp. D30V Simulator. */ -/* OBSOLETE Copyright (C) 1997, Free Software Foundation, Inc. */ -/* OBSOLETE Contributed by Cygnus Support. */ -/* OBSOLETE */ -/* OBSOLETE This file is part of GDB, the GNU debugger. */ -/* OBSOLETE */ -/* OBSOLETE This program is free software; you can redistribute it and/or modify */ -/* OBSOLETE it under the terms of the GNU General Public License as published by */ -/* OBSOLETE the Free Software Foundation; either version 2, or (at your option) */ -/* OBSOLETE any later version. */ -/* OBSOLETE */ -/* OBSOLETE This program is distributed in the hope that it will be useful, */ -/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* OBSOLETE GNU General Public License for more details. */ -/* OBSOLETE */ -/* OBSOLETE You should have received a copy of the GNU General Public License along */ -/* OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., */ -/* OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #ifndef _CPU_H_ */ -/* OBSOLETE #define _CPU_H_ */ -/* OBSOLETE */ -/* OBSOLETE enum { */ -/* OBSOLETE NR_GENERAL_PURPOSE_REGISTERS = 64, */ -/* OBSOLETE NR_CONTROL_REGISTERS = 64, */ -/* OBSOLETE NR_ACCUMULATORS = 2, */ -/* OBSOLETE STACK_POINTER_GPR = 63, */ -/* OBSOLETE NR_STACK_POINTERS = 2, */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE enum { */ -/* OBSOLETE processor_status_word_cr = 0, */ -/* OBSOLETE backup_processor_status_word_cr = 1, */ -/* OBSOLETE program_counter_cr = 2, */ -/* OBSOLETE backup_program_counter_cr = 3, */ -/* OBSOLETE debug_backup_processor_status_word_cr = 4, */ -/* OBSOLETE debug_backup_program_counter_cr = 5, */ -/* OBSOLETE reserved_6_cr = 6, */ -/* OBSOLETE repeat_count_cr = 7, */ -/* OBSOLETE repeat_start_address_cr = 8, */ -/* OBSOLETE repeat_end_address_cr = 9, */ -/* OBSOLETE modulo_start_address_cr = 10, */ -/* OBSOLETE modulo_end_address_cr = 11, */ -/* OBSOLETE instruction_break_address_cr = 14, */ -/* OBSOLETE eit_vector_base_cr = 15, */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE enum { */ -/* OBSOLETE PSW_SM = 0, */ -/* OBSOLETE PSW_EA = 2, */ -/* OBSOLETE PSW_DB = 3, */ -/* OBSOLETE PSW_DS = 4, */ -/* OBSOLETE PSW_IE = 5, */ -/* OBSOLETE PSW_RP = 6, */ -/* OBSOLETE PSW_MD = 7, */ -/* OBSOLETE PSW_F0 = 17, */ -/* OBSOLETE PSW_F1 = 19, */ -/* OBSOLETE PSW_F2 = 21, */ -/* OBSOLETE PSW_F3 = 23, */ -/* OBSOLETE PSW_S = 25, */ -/* OBSOLETE PSW_V = 27, */ -/* OBSOLETE PSW_VA = 29, */ -/* OBSOLETE PSW_C = 31, */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE /* aliases for PSW flag numbers (F0..F7) */ */ -/* OBSOLETE enum */ -/* OBSOLETE { */ -/* OBSOLETE PSW_S_FLAG = 4, */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE typedef struct _registers { */ -/* OBSOLETE unsigned32 general_purpose[NR_GENERAL_PURPOSE_REGISTERS]; */ -/* OBSOLETE /* keep track of the stack pointer */ */ -/* OBSOLETE unsigned32 sp[NR_STACK_POINTERS]; /* swap with SP */ */ -/* OBSOLETE unsigned32 current_sp; */ -/* OBSOLETE unsigned32 control[NR_CONTROL_REGISTERS]; */ -/* OBSOLETE unsigned64 accumulator[NR_ACCUMULATORS]; */ -/* OBSOLETE } registers; */ -/* OBSOLETE */ -/* OBSOLETE typedef enum _cpu_units { */ -/* OBSOLETE memory_unit, */ -/* OBSOLETE integer_unit, */ -/* OBSOLETE any_unit, */ -/* OBSOLETE } cpu_units; */ -/* OBSOLETE */ -/* OBSOLETE /* In order to support parallel instructions, which one instruction can be */ -/* OBSOLETE writing to a register that is used as input to another, queue up the */ -/* OBSOLETE writes to the end of the instruction boundaries. */ */ -/* OBSOLETE */ -/* OBSOLETE #define MAX_WRITE32 16 */ -/* OBSOLETE #define MAX_WRITE64 2 */ -/* OBSOLETE */ -/* OBSOLETE struct _write32 { */ -/* OBSOLETE int num; /* # of 32-bit writes queued up */ */ -/* OBSOLETE unsigned32 value[MAX_WRITE32]; /* value to write */ */ -/* OBSOLETE unsigned32 mask[MAX_WRITE32]; /* mask to use */ */ -/* OBSOLETE unsigned32 *ptr[MAX_WRITE32]; /* address to write to */ */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE struct _write64 { */ -/* OBSOLETE int num; /* # of 64-bit writes queued up */ */ -/* OBSOLETE unsigned64 value[MAX_WRITE64]; /* value to write */ */ -/* OBSOLETE unsigned64 *ptr[MAX_WRITE64]; /* address to write to */ */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE struct _sim_cpu { */ -/* OBSOLETE cpu_units unit; */ -/* OBSOLETE registers regs; */ -/* OBSOLETE sim_cpu_base base; */ -/* OBSOLETE int trace_call_p; /* Whether to do call tracing. */ */ -/* OBSOLETE int trace_trap_p; /* If unknown traps dump out the regs */ */ -/* OBSOLETE int trace_action; /* trace bits at end of instructions */ */ -/* OBSOLETE int left_kills_right_p; /* left insn kills insn in right slot of -> */ */ -/* OBSOLETE int mvtsys_left_p; /* left insn was mvtsys */ */ -/* OBSOLETE int did_trap; /* we did a trap & need to finish it */ */ -/* OBSOLETE struct _write32 write32; /* queued up 32-bit writes */ */ -/* OBSOLETE struct _write64 write64; /* queued up 64-bit writes */ */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE #define PC (STATE_CPU (sd, 0)->regs.control[program_counter_cr]) */ -/* OBSOLETE #define PSW (STATE_CPU (sd, 0)->regs.control[processor_status_word_cr]) */ -/* OBSOLETE #define PSWL (*AL2_4(&PSW)) */ -/* OBSOLETE #define PSWH (*AH2_4(&PSW)) */ -/* OBSOLETE #define DPSW (STATE_CPU (sd, 0)->regs.control[debug_backup_processor_status_word_cr]) */ -/* OBSOLETE #define DPC (STATE_CPU (sd, 0)->regs.control[debug_backup_program_counter_cr]) */ -/* OBSOLETE #define bPC (STATE_CPU (sd, 0)->regs.control[backup_program_counter_cr]) */ -/* OBSOLETE #define bPSW (STATE_CPU (sd, 0)->regs.control[backup_processor_status_word_cr]) */ -/* OBSOLETE #define RPT_C (STATE_CPU (sd, 0)->regs.control[repeat_count_cr]) */ -/* OBSOLETE #define RPT_S (STATE_CPU (sd, 0)->regs.control[repeat_start_address_cr]) */ -/* OBSOLETE #define RPT_E (STATE_CPU (sd, 0)->regs.control[repeat_end_address_cr]) */ -/* OBSOLETE #define MOD_S (STATE_CPU (sd, 0)->regs.control[modulo_start_address_cr]) */ -/* OBSOLETE #define MOD_E (STATE_CPU (sd, 0)->regs.control[modulo_end_address_cr]) */ -/* OBSOLETE #define IBA (STATE_CPU (sd, 0)->regs.control[instruction_break_address_cr]) */ -/* OBSOLETE #define EIT_VB (STATE_CPU (sd, 0)->regs.control[eit_vector_base_cr]) */ -/* OBSOLETE #define GPR (STATE_CPU (sd, 0)->regs.general_purpose) */ -/* OBSOLETE #define GPR_CLEAR(N) (GPR[(N)] = 0) */ -/* OBSOLETE #define ACC (STATE_CPU (sd, 0)->regs.accumulator) */ -/* OBSOLETE #define CREG (STATE_CPU (sd, 0)->regs.control) */ -/* OBSOLETE #define SP (GPR[STACK_POINTER_GPR]) */ -/* OBSOLETE #define TRACE_CALL_P (STATE_CPU (sd, 0)->trace_call_p) */ -/* OBSOLETE #define TRACE_TRAP_P (STATE_CPU (sd, 0)->trace_trap_p) */ -/* OBSOLETE #define TRACE_ACTION (STATE_CPU (sd, 0)->trace_action) */ -/* OBSOLETE #define TRACE_ACTION_CALL 0x00000001 /* call occurred */ */ -/* OBSOLETE #define TRACE_ACTION_RETURN 0x00000002 /* return occurred */ */ -/* OBSOLETE */ -/* OBSOLETE #define WRITE32 (STATE_CPU (sd, 0)->write32) */ -/* OBSOLETE #define WRITE32_NUM (WRITE32.num) */ -/* OBSOLETE #define WRITE32_PTR(N) (WRITE32.ptr[N]) */ -/* OBSOLETE #define WRITE32_MASK(N) (WRITE32.mask[N]) */ -/* OBSOLETE #define WRITE32_VALUE(N) (WRITE32.value[N]) */ -/* OBSOLETE #define WRITE32_QUEUE(PTR, VALUE) WRITE32_QUEUE_MASK (PTR, VALUE, 0xffffffff) */ -/* OBSOLETE */ -/* OBSOLETE #define WRITE32_QUEUE_MASK(PTR, VALUE, MASK) \ */ -/* OBSOLETE do { \ */ -/* OBSOLETE int _num = WRITE32_NUM; \ */ -/* OBSOLETE if (_num >= MAX_WRITE32) \ */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, \ */ -/* OBSOLETE "Too many queued 32-bit writes"); \ */ -/* OBSOLETE WRITE32_PTR(_num) = PTR; \ */ -/* OBSOLETE WRITE32_VALUE(_num) = VALUE; \ */ -/* OBSOLETE WRITE32_MASK(_num) = MASK; \ */ -/* OBSOLETE WRITE32_NUM = _num+1; \ */ -/* OBSOLETE } while (0) */ -/* OBSOLETE */ -/* OBSOLETE #define DID_TRAP (STATE_CPU (sd, 0)->did_trap) */ -/* OBSOLETE */ -/* OBSOLETE #define WRITE64 (STATE_CPU (sd, 0)->write64) */ -/* OBSOLETE #define WRITE64_NUM (WRITE64.num) */ -/* OBSOLETE #define WRITE64_PTR(N) (WRITE64.ptr[N]) */ -/* OBSOLETE #define WRITE64_VALUE(N) (WRITE64.value[N]) */ -/* OBSOLETE #define WRITE64_QUEUE(PTR, VALUE) \ */ -/* OBSOLETE do { \ */ -/* OBSOLETE int _num = WRITE64_NUM; \ */ -/* OBSOLETE if (_num >= MAX_WRITE64) \ */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, \ */ -/* OBSOLETE "Too many queued 64-bit writes"); \ */ -/* OBSOLETE WRITE64_PTR(_num) = PTR; \ */ -/* OBSOLETE WRITE64_VALUE(_num) = VALUE; \ */ -/* OBSOLETE WRITE64_NUM = _num+1; \ */ -/* OBSOLETE } while (0) */ -/* OBSOLETE */ -/* OBSOLETE #define DPSW_VALID 0xbf005555 */ -/* OBSOLETE #define PSW_VALID 0xb7005555 */ -/* OBSOLETE #define EIT_VALID 0xfffff000 /* From page 7-4 of D30V/MPEG arch. manual */ */ -/* OBSOLETE #define EIT_VB_DEFAULT 0xfffff000 /* Value of the EIT_VB register after reset */ */ -/* OBSOLETE */ -/* OBSOLETE /* Verify that the instruction is in the correct slot */ */ -/* OBSOLETE */ -/* OBSOLETE #define IS_WRONG_SLOT is_wrong_slot(sd, cia, MY_INDEX) */ -/* OBSOLETE extern int is_wrong_slot */ -/* OBSOLETE (SIM_DESC sd, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE itable_index index); */ -/* OBSOLETE */ -/* OBSOLETE #define IS_CONDITION_OK is_condition_ok(sd, cia, CCC) */ -/* OBSOLETE extern int is_condition_ok */ -/* OBSOLETE (SIM_DESC sd, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE int cond); */ -/* OBSOLETE */ -/* OBSOLETE #define SIM_HAVE_BREAKPOINTS /* Turn on internal breakpoint module */ */ -/* OBSOLETE */ -/* OBSOLETE /* Internal breakpoint instruction is syscall 5 */ */ -/* OBSOLETE #define SIM_BREAKPOINT {0x0e, 0x00, 0x00, 0x05} */ -/* OBSOLETE #define SIM_BREAKPOINT_SIZE (4) */ -/* OBSOLETE */ -/* OBSOLETE /* Call occurred */ */ -/* OBSOLETE extern void call_occurred */ -/* OBSOLETE (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE address_word nia); */ -/* OBSOLETE */ -/* OBSOLETE /* Return occurred */ */ -/* OBSOLETE extern void return_occurred */ -/* OBSOLETE (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE address_word nia); */ -/* OBSOLETE */ -/* OBSOLETE /* Whether to do call tracing. */ */ -/* OBSOLETE extern int d30v_call_trace_p; */ -/* OBSOLETE */ -/* OBSOLETE /* Read/write functions for system call interface. */ */ -/* OBSOLETE extern int d30v_read_mem */ -/* OBSOLETE (host_callback *cb, */ -/* OBSOLETE struct cb_syscall *sc, */ -/* OBSOLETE unsigned long taddr, */ -/* OBSOLETE char *buf, */ -/* OBSOLETE int bytes); */ -/* OBSOLETE */ -/* OBSOLETE extern int d30v_write_mem */ -/* OBSOLETE (host_callback *cb, */ -/* OBSOLETE struct cb_syscall *sc, */ -/* OBSOLETE unsigned long taddr, */ -/* OBSOLETE const char *buf, */ -/* OBSOLETE int bytes); */ -/* OBSOLETE */ -/* OBSOLETE /* Process all of the queued up writes in order now */ */ -/* OBSOLETE void unqueue_writes */ -/* OBSOLETE (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia); */ -/* OBSOLETE */ -/* OBSOLETE #endif /* _CPU_H_ */ */ diff --git a/sim/d30v/d30v-insns b/sim/d30v/d30v-insns deleted file mode 100644 index 10ce8688337..00000000000 --- a/sim/d30v/d30v-insns +++ /dev/null @@ -1,2421 +0,0 @@ -# OBSOLETE // -*- C -*- -# OBSOLETE // Mitsubishi Electric Corp. D30V Simulator. -# OBSOLETE // Copyright (C) 1997, Free Software Foundation, Inc. -# OBSOLETE // Contributed by Cygnus Solutions Inc. -# OBSOLETE // -# OBSOLETE // This file is part of GDB, the GNU debugger. -# OBSOLETE // -# OBSOLETE // This program is free software; you can redistribute it and/or modify -# OBSOLETE // it under the terms of the GNU General Public License as published by -# OBSOLETE // the Free Software Foundation; either version 2 of the License, or -# OBSOLETE // (at your option) any later version. -# OBSOLETE // -# OBSOLETE // This program is distributed in the hope that it will be useful, -# OBSOLETE // but WITHOUT ANY WARRANTY; without even the implied warranty of -# OBSOLETE // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# OBSOLETE // GNU General Public License for more details. -# OBSOLETE // -# OBSOLETE // You should have received a copy of the GNU General Public License -# OBSOLETE // along with this program; if not, write to the Free Software -# OBSOLETE // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# OBSOLETE // -# OBSOLETE -# OBSOLETE -# OBSOLETE define( _BRA, `1.*,CCC,000') -# OBSOLETE define( _LOGIC, `1.*,CCC,001') -# OBSOLETE define( _IMEM, `1.*,CCC,010') -# OBSOLETE define( _IALU1, `1.*,CCC,100') -# OBSOLETE define(_IALU2, `1.*,CCC,101') -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE define(_IMM6, `6.IMM_6S') -# OBSOLETE define(_IMM12, `12.IMM_12S') -# OBSOLETE define(_IMM18, `18.IMM_18S') -# OBSOLETE define(_IMM32, `6.IMM_6L,*,000,8.IMM_8L,00,18.IMM_18L') -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // The following is called when ever an illegal instruction is -# OBSOLETE // encountered -# OBSOLETE ::internal::illegal -# OBSOLETE sim_io_eprintf (sd, "illegal instruction at 0x%lx\n", (long) cia); -# OBSOLETE sim_engine_halt (SD, CPU, NULL, cia, sim_signalled, SIM_SIGILL); -# OBSOLETE -# OBSOLETE // The following is called when ever an instruction in the wrong -# OBSOLETE // slot is encountered. -# OBSOLETE ::internal::wrong_slot -# OBSOLETE sim_io_eprintf (sd, "wrong slot at 0x%lx\n", (long) cia); -# OBSOLETE sim_engine_halt (SD, CPU, NULL, cia, sim_signalled, SIM_SIGILL); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // Something illegal that can be used to contact the simulator emul -# OBSOLETE // library. -# OBSOLETE define(_EMUL, `1.*,CCC,111') -# OBSOLETE -# OBSOLETE void::function::do_emul:int imm -# OBSOLETE /* temp hack - later replace with real interface */ -# OBSOLETE enum { -# OBSOLETE param1 = 2, param2, param3, param4 -# OBSOLETE }; -# OBSOLETE switch (imm) { -# OBSOLETE case 0: -# OBSOLETE { -# OBSOLETE sim_engine_abort (SD, CPU, cia, "UNIX call emulation unsupported"); -# OBSOLETE break; -# OBSOLETE } -# OBSOLETE case 1: -# OBSOLETE /* Trap 1 - prints a string */ -# OBSOLETE { -# OBSOLETE address_word str = GPR[param1]; -# OBSOLETE char chr; -# OBSOLETE while (1) { -# OBSOLETE chr = MEM (unsigned, str, 1); -# OBSOLETE if (chr == '\0') break; -# OBSOLETE sim_io_write_stdout (sd, &chr, sizeof chr); -# OBSOLETE str++; -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE } -# OBSOLETE case 3: -# OBSOLETE /* Trap 3 - writes a character */ -# OBSOLETE { -# OBSOLETE char chr = GPR[param1]; -# OBSOLETE sim_io_write_stdout (sd, &chr, sizeof chr); -# OBSOLETE break; -# OBSOLETE } -# OBSOLETE case 4: -# OBSOLETE /* Trap 4 exits with status in [param1] */ -# OBSOLETE { -# OBSOLETE sim_engine_halt (SD, CPU, NULL, cia, sim_exited, GPR[param1]); -# OBSOLETE break; -# OBSOLETE } -# OBSOLETE case 5: -# OBSOLETE /* Trap 5 breakpoints. If the breakpoint system knows about this, it -# OBSOLETE won't return. Otherwise, we fall through to treat this as an -# OBSOLETE unknown instruction. */ -# OBSOLETE { -# OBSOLETE sim_handle_breakpoint (SD, CPU, cia); -# OBSOLETE /* Fall through to default case.*/ -# OBSOLETE } -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "Unknown monitor call %d", imm); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _EMUL,00000,00,6.*,6.*,IMM_6S:EMUL:short,emul:iu,mu:EMUL -# OBSOLETE "syscall " -# OBSOLETE do_emul (_SD, imm); -# OBSOLETE _BRA,00000,00,6.**,6.**,_IMM32:BRA:long:iu,mu:EMUL long -# OBSOLETE "syscall " -# OBSOLETE do_emul (_SD, imm); -# OBSOLETE -# OBSOLETE // ABS -# OBSOLETE -# OBSOLETE _IALU1,01000,00,6.RA,6.RB,6.**:IALU1:short:iu,mu:ABS -# OBSOLETE "abs r, r" -# OBSOLETE WRITE32_QUEUE (Ra, abs(Rb)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ADD -# OBSOLETE -# OBSOLETE void::function::do_add:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE ALU_BEGIN(rb); -# OBSOLETE ALU_ADDC(imm); -# OBSOLETE ALU_END(ra); -# OBSOLETE -# OBSOLETE _IALU1,00000,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:ADD -# OBSOLETE "add r, r, r" -# OBSOLETE do_add (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00000,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:ADD imm -# OBSOLETE "add r, r, " -# OBSOLETE do_add (_SD, Ra, Rb, imm); -# OBSOLETE _IALU1,00000,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:ADD imm long -# OBSOLETE "add r, r, " -# OBSOLETE do_add (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ADD2H -# OBSOLETE -# OBSOLETE void::function::do_add2h:signed32 *ra, signed32 rb, signed32 imm -# OBSOLETE unsigned16 ah2 = VH2_4(rb) + VH2_4(imm); -# OBSOLETE unsigned16 al2 = VL2_4(rb) + VL2_4(imm); -# OBSOLETE WRITE32_QUEUE (ra, (ah2 << 16) | al2); -# OBSOLETE -# OBSOLETE _IALU1,00001,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:ADD2H -# OBSOLETE "add2h r, r, r" -# OBSOLETE do_add2h (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00001,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:ADD2H imm -# OBSOLETE "add2h r, r, " -# OBSOLETE do_add2h (_SD, Ra, Rb, immHL); -# OBSOLETE _IALU1,00001,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:ADD2H imm long -# OBSOLETE "add2h r, r, " -# OBSOLETE do_add2h (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ADDC -# OBSOLETE -# OBSOLETE void::function::do_addc:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE ALU_BEGIN(rb); -# OBSOLETE ALU_ADDC_C(imm, ALU_CARRY); -# OBSOLETE ALU_END(ra); -# OBSOLETE -# OBSOLETE _IALU1,00100,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:ADDC -# OBSOLETE "addc r, r, r" -# OBSOLETE do_addc (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00100,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:ADDC imm -# OBSOLETE "addc r, r, " -# OBSOLETE do_addc (_SD, Ra, Rb, imm); -# OBSOLETE _IALU1,00100,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:ADDC imm long -# OBSOLETE "addc r, r, " -# OBSOLETE do_addc (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ADDHppp -# OBSOLETE -# OBSOLETE void::function::do_addh_ppp:int ppp, unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE switch (ppp) { -# OBSOLETE case 0x0: /* LLL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_ADDC(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x1: /* LLH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_ADDC(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x2: /* LHL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_ADDC(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x3: /* LHH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_ADDC(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x4: /* HLL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_ADDC(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x5: /* HLH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_ADDC(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x6: /* HHL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_ADDC(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x7: /* HHH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_ADDC(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "do_addh_ppp - internal error - bad switch"); -# OBSOLETE } -# OBSOLETE ::%s::ppp:int ppp -# OBSOLETE switch (ppp) -# OBSOLETE { -# OBSOLETE case 0x0: return "lll"; -# OBSOLETE case 0x1: return "llh"; -# OBSOLETE case 0x2: return "lhl"; -# OBSOLETE case 0x3: return "lhh"; -# OBSOLETE case 0x4: return "hll"; -# OBSOLETE case 0x5: return "hlh"; -# OBSOLETE case 0x6: return "hhl"; -# OBSOLETE case 0x7: return "hhh"; -# OBSOLETE default: return "?"; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IALU1,10,ppp,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:ADDHppp -# OBSOLETE "addh%s r, r, r" -# OBSOLETE do_addh_ppp(_SD, ppp, Ra, Rb, Rc); -# OBSOLETE _IALU1,10,ppp,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:ADDHppp imm -# OBSOLETE "addh%s r, r, " -# OBSOLETE do_addh_ppp(_SD, ppp, Ra, Rb, immHL); -# OBSOLETE _IALU1,10,ppp,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:ADDHppp imm long -# OBSOLETE "addh%s r, r, " -# OBSOLETE do_addh_ppp(_SD, ppp, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ADDS -# OBSOLETE -# OBSOLETE void::function::do_adds:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE ALU_BEGIN(rb); -# OBSOLETE ALU_ADDC(EXTRACTED32(imm, 0, 0)); -# OBSOLETE ALU_END(ra); -# OBSOLETE -# OBSOLETE _IALU1,00110,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:ADDS -# OBSOLETE "adds r, r, r" -# OBSOLETE do_adds (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00110,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:ADDS imm -# OBSOLETE "adds r, r, " -# OBSOLETE do_adds (_SD, Ra, Rb, imm); -# OBSOLETE _IALU1,00110,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:ADDS imm long -# OBSOLETE "adds r, r, " -# OBSOLETE do_adds (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ADDS2H -# OBSOLETE -# OBSOLETE void::function::do_adds2h:unsigned32 *ra, unsigned32 rb, unsigned32 immHL -# OBSOLETE unsigned16 high = VH2_4(rb) + EXTRACTED32(immHL, 0, 0); -# OBSOLETE unsigned16 low = VL2_4(rb) + EXTRACTED32(immHL, 16, 16); -# OBSOLETE WRITE32_QUEUE (ra, (high << 16) | low); -# OBSOLETE -# OBSOLETE _IALU1,00111,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:ADDS2H -# OBSOLETE "adds2h r, r, r" -# OBSOLETE do_adds2h (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00111,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:ADDS2H imm -# OBSOLETE "adds2h r, r, " -# OBSOLETE do_adds2h (_SD, Ra, Rb, immHL); -# OBSOLETE _IALU1,00111,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:ADDS2H imm long -# OBSOLETE "adds2h r, r, " -# OBSOLETE do_adds2h (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // AND -# OBSOLETE -# OBSOLETE _LOGIC,11000,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:AND -# OBSOLETE "and r, r, r" -# OBSOLETE WRITE32_QUEUE (Ra, Rb & Rc); -# OBSOLETE _LOGIC,11000,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:AND imm -# OBSOLETE "and r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb & imm); -# OBSOLETE _LOGIC,11000,10,6.RA,6.RB,_IMM32:LOGIC:long:iu,mu:AND imm long -# OBSOLETE "and r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb & imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE // ANDFG -# OBSOLETE -# OBSOLETE _LOGIC,01000,00,***,3.FA,***,3.FB,***,3.FC:LOGIC:short:iu,mu:Logical AND Flags -# OBSOLETE "andfg f, f, f" -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, PSW_FLAG_VAL(FB) & PSW_FLAG_VAL(FC)); -# OBSOLETE _LOGIC,01000,10,***,3.FA,***,3.FB,_IMM6:LOGIC:short:iu,mu:Logical AND Flags imm -# OBSOLETE "andfg f, f, " -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, PSW_FLAG_VAL(FB) & (imm_6 & 1)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // AVG -# OBSOLETE -# OBSOLETE void::function::do_avg:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE WRITE32_QUEUE (ra, ((signed64)(signed32)rb + (signed64)(signed32)imm + 1) >> 1); -# OBSOLETE -# OBSOLETE _IALU1,01010,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:AVG -# OBSOLETE "avg r, r, r" -# OBSOLETE do_avg (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,01010,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:AVG imm -# OBSOLETE "avg r, r, " -# OBSOLETE do_avg (_SD, Ra, Rb, imm); -# OBSOLETE _IALU1,01010,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:AVG imm long -# OBSOLETE "avg r, r, " -# OBSOLETE do_avg (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // AVG2H -# OBSOLETE -# OBSOLETE void::function::do_avg2h:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE unsigned16 high = ((signed32)(signed16)VH2_4(rb) + (signed32)(signed16)VH2_4(imm) + 1) >> 1; -# OBSOLETE unsigned16 low = ((signed32)(signed16)VL2_4(rb) + (signed32)(signed16)VL2_4(imm) + 1) >> 1; -# OBSOLETE WRITE32_QUEUE (ra, (high << 16) | low); -# OBSOLETE -# OBSOLETE _IALU1,01011,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:AVG2H -# OBSOLETE "avg2h r, r, r" -# OBSOLETE do_avg2h (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,01011,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:AVG2H imm -# OBSOLETE "avg2h r, r, " -# OBSOLETE do_avg2h (_SD, Ra, Rb, immHL); -# OBSOLETE _IALU1,01011,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:AVG2H imm long -# OBSOLETE "avg2h r, r, " -# OBSOLETE do_avg2h (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BCLR -# OBSOLETE -# OBSOLETE _LOGIC,00011,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:BCLR -# OBSOLETE "bclr r, r, r" -# OBSOLETE WRITE32_QUEUE(Ra, Rb & ~BIT32((Rc) % 32)); -# OBSOLETE _LOGIC,00011,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:BCLR imm -# OBSOLETE "bclr r, r, " -# OBSOLETE WRITE32_QUEUE(Ra, Rb & ~BIT32((imm) % 32)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BNOT -# OBSOLETE -# OBSOLETE _LOGIC,00001,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:BNOT -# OBSOLETE "bnot r, r, r" -# OBSOLETE WRITE32_QUEUE (Ra, Rb ^ BIT32((Rc) % 32)); -# OBSOLETE _LOGIC,00001,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:BNOT imm -# OBSOLETE "bnot r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb ^ BIT32((imm) % 32)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BRA -# OBSOLETE -# OBSOLETE _BRA,00000,00,6.**,6.**,6.RC:BRA:short:mu:BRA -# OBSOLETE "bra r" -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE _BRA,00000,10,_IMM18:BRA:short:mu:BRA imm -# OBSOLETE "bra " -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE _BRA,00000,10,6.**,6.**,_IMM32:BRA:long:mu:BRA imm long -# OBSOLETE "bra " -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BRATNZ -# OBSOLETE -# OBSOLETE _BRA,00100,01,6.RA,6.**,6.RC:BRA:short:mu:BRATNZ -# OBSOLETE "bratnz r" -# OBSOLETE if (*Ra != 0) -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE _BRA,00100,11,6.RA,_IMM12:BRA:short:mu:BRATNZ imm -# OBSOLETE "bratnz " -# OBSOLETE if (*Ra != 0) -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE _BRA,00100,11,6.RA,6.**,_IMM32:BRA:long:mu:BRATNZ imm long -# OBSOLETE "bratnz " -# OBSOLETE if (*Ra != 0) -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BRATZR -# OBSOLETE -# OBSOLETE _BRA,00100,00,6.RA,6.**,6.RC:BRA:short:mu:BRATZR -# OBSOLETE "bratzr r" -# OBSOLETE if (val_Ra == 0) -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE _BRA,00100,10,6.RA,_IMM12:BRA:short:mu:BRATZR imm -# OBSOLETE "bratzr " -# OBSOLETE if (val_Ra == 0) -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE _BRA,00100,10,6.RA,6.**,_IMM32:BRA:long:mu:BRATZR imm long -# OBSOLETE "bratzr " -# OBSOLETE if (val_Ra == 0) -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BSET -# OBSOLETE -# OBSOLETE _LOGIC,00010,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:BSET -# OBSOLETE "bset r, r, r" -# OBSOLETE WRITE32_QUEUE (Ra, Rb | BIT32((Rc) % 32)); -# OBSOLETE _LOGIC,00010,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:BSET imm -# OBSOLETE "bset r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb | BIT32((imm) % 32)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // BSR -# OBSOLETE -# OBSOLETE _BRA,00010,00,6.**,6.**,6.RC:BRA:short:mu:BSR -# OBSOLETE "bsr r" -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE _BRA,00010,10,_IMM18:BRA:short:mu:BSR imm -# OBSOLETE "bsr " -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE _BRA,00010,10,6.**,6.**,_IMM32:BRA:long:mu:BSR imm long -# OBSOLETE "bsr " -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE -# OBSOLETE -# OBSOLETE // BSRTNZ -# OBSOLETE -# OBSOLETE _BRA,00110,01,6.RA,6.**,6.RC:BRA:short:mu:BSRTNZ -# OBSOLETE "bsrtnz r" -# OBSOLETE if (val_Ra != 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _BRA,00110,11,6.RA,_IMM12:BRA:short:mu:BSRTNZ imm -# OBSOLETE "bsrtnz " -# OBSOLETE if (val_Ra != 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _BRA,00110,11,6.RA,6.**,_IMM32:BRA:long:mu:BSRTNZ imm long -# OBSOLETE "bsrtnz " -# OBSOLETE if (val_Ra != 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE -# OBSOLETE // BSRTZR -# OBSOLETE -# OBSOLETE _BRA,00110,00,6.RA,6.**,6.RC:BRA:short:mu:BSRTZR -# OBSOLETE "bsrtzr r" -# OBSOLETE if (val_Ra == 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _BRA,00110,10,6.RA,_IMM12:BRA:short:mu:BSRTZR imm -# OBSOLETE "bsrtzr " -# OBSOLETE if (val_Ra == 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _BRA,00110,10,6.RA,6.**,_IMM32:BRA:long:mu:BSRTZR imm long -# OBSOLETE "bsrtzr " -# OBSOLETE if (val_Ra == 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = cia + pcdisp; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE -# OBSOLETE // BTST -# OBSOLETE -# OBSOLETE _LOGIC,00000,00,***,3.FA,6.RB,6.RC:LOGIC:short:iu,mu:BTST -# OBSOLETE "btst f, r, r" -# OBSOLETE int bit = (Rc) % 32; -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, MASKED32(Rb, bit, bit)); -# OBSOLETE _LOGIC,00000,10,***,3.FA,6.RB,_IMM6:LOGIC:short:iu,mu:BTST imm -# OBSOLETE "btst f, r, " -# OBSOLETE int bit = imm % 32; -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, MASKED32(Rb, bit, bit)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // CMPcc -# OBSOLETE -# OBSOLETE void::function::do_cmp_cc:int cc, int fa, signed32 rb, signed32 rc -# OBSOLETE int value = 0; -# OBSOLETE switch (cc) { -# OBSOLETE case 0: /* EQ */ -# OBSOLETE value = (rb == rc); -# OBSOLETE break; -# OBSOLETE case 1: /* NE */ -# OBSOLETE value = (rb != rc); -# OBSOLETE break; -# OBSOLETE case 2: /* GT */ -# OBSOLETE value = (rb > rc); -# OBSOLETE break; -# OBSOLETE case 3: /* GE */ -# OBSOLETE value = (rb >= rc); -# OBSOLETE break; -# OBSOLETE case 4: /* LT */ -# OBSOLETE value = (rb < rc); -# OBSOLETE break; -# OBSOLETE case 5: /* LE */ -# OBSOLETE value = (rb <= rc); -# OBSOLETE break; -# OBSOLETE case 6: /* PS */ -# OBSOLETE value = ((rb >= 0) && (rc >= 0)); -# OBSOLETE break; -# OBSOLETE case 7: /* NG */ -# OBSOLETE value = ((rb < 0) && (rc < 0)); -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "do_cmp_cc - internal error - bad switch (%d)", cc); -# OBSOLETE } -# OBSOLETE PSW_FLAG_SET_QUEUE(fa, value); -# OBSOLETE -# OBSOLETE ::%s::ccc:int ccc -# OBSOLETE switch (ccc) -# OBSOLETE { -# OBSOLETE case 0: return "eq"; -# OBSOLETE case 1: return "ne"; -# OBSOLETE case 2: return "gt"; -# OBSOLETE case 3: return "ge"; -# OBSOLETE case 4: return "lt"; -# OBSOLETE case 5: return "le"; -# OBSOLETE case 6: return "ps"; -# OBSOLETE case 7: return "ng"; -# OBSOLETE default: return "?"; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _LOGIC,01100,00,ccc,3.FA,6.RB,6.RC:LOGIC:short:iu,mu:CMPcc -# OBSOLETE "cmp%s f, r, r" -# OBSOLETE do_cmp_cc(_SD, ccc, FA, Rb, Rc); -# OBSOLETE _LOGIC,01100,10,ccc,3.FA,6.RB,_IMM6:LOGIC:short:iu,mu:CMPcc imm -# OBSOLETE "cmp%s f, r, " -# OBSOLETE do_cmp_cc(_SD, ccc, FA, Rb, imm); -# OBSOLETE _LOGIC,01100,10,ccc,3.FA,6.RB,_IMM32:LOGIC:long:iu,mu:CMPcc imm long -# OBSOLETE "cmp%s f, r, " -# OBSOLETE do_cmp_cc(_SD, ccc, FA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // CMPUcc -# OBSOLETE -# OBSOLETE void::function::do_cmpu_cc:int cc, int fa, unsigned32 rb, unsigned32 rc -# OBSOLETE int value = 0; -# OBSOLETE switch (cc) { -# OBSOLETE case 2: /* GT */ -# OBSOLETE value = (rb > rc); -# OBSOLETE break; -# OBSOLETE case 3: /* GE */ -# OBSOLETE value = (rb >= rc); -# OBSOLETE break; -# OBSOLETE case 4: /* LT */ -# OBSOLETE value = (rb < rc); -# OBSOLETE break; -# OBSOLETE case 5: /* LE */ -# OBSOLETE value = (rb <= rc); -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "do_cmpu_cc - internal error - bad switch (%d)", cc); -# OBSOLETE } -# OBSOLETE PSW_FLAG_SET_QUEUE(fa, value); -# OBSOLETE -# OBSOLETE _LOGIC,01101,00,ccc,3.FA,6.RB,6.RC:LOGIC:short:iu,mu:CMPUcc -# OBSOLETE "cmpu%s f, r, r" -# OBSOLETE do_cmpu_cc(_SD, ccc, FA, Rb, Rc); -# OBSOLETE _LOGIC,01101,10,ccc,3.FA,6.RB,_IMM6:LOGIC:short:iu,mu:CMPUcc imm -# OBSOLETE "cmpu%s f, r, " -# OBSOLETE do_cmpu_cc(_SD, ccc, FA, Rb, imm_6u); -# OBSOLETE _LOGIC,01101,10,ccc,3.FA,6.RB,_IMM32:LOGIC:long:iu,mu:CMPUcc imm long -# OBSOLETE "cmpu%s f, r, " -# OBSOLETE do_cmpu_cc(_SD, ccc, FA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DBRA -# OBSOLETE -# OBSOLETE void::function::do_dbra:address_word pcdisp, unsigned32 ra -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, cia + pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (ra & ~0x7)); -# OBSOLETE -# OBSOLETE _BRA,10000,00,6.RA,6.**,6.RC:BRA:short:mu:DBRA -# OBSOLETE "dbra r, r" -# OBSOLETE do_dbra(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10000,10,6.RA,_IMM12:BRA:short:mu:DBRA imm -# OBSOLETE "dbra r, " -# OBSOLETE do_dbra(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10000,10,6.RA,6.**,_IMM32:BRA:long:mu:DBRA imm long -# OBSOLETE "dbra r, " -# OBSOLETE do_dbra(_SD, pcdisp, val_Ra); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DBRAI -# OBSOLETE -# OBSOLETE void::function::do_dbrai:address_word pcdisp, unsigned32 imm -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, cia + pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (imm << 3)); -# OBSOLETE -# OBSOLETE _BRA,10100,00,6.IMM_6,6.**,6.RC:BRA:short:mu:DBRAI -# OBSOLETE "dbrai , r" -# OBSOLETE do_dbrai(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10100,10,6.IMM_6,_IMM12:BRA:short:mu:DBRAI imm -# OBSOLETE "dbrai , " -# OBSOLETE do_dbrai(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10100,10,6.IMM_6,6.**,_IMM32:BRA:long:mu:DBRAI imm long -# OBSOLETE "dbrai , " -# OBSOLETE do_dbrai(_SD, pcdisp, IMM_6); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DBSR -# OBSOLETE -# OBSOLETE void::function::do_dbsr:address_word pcdisp, unsigned32 ra -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, cia + pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + ra); -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + ra + 8); -# OBSOLETE -# OBSOLETE _BRA,10010,00,6.RA,6.**,6.RC:BRA:short:mu:DBSR -# OBSOLETE "dbsr r, r" -# OBSOLETE do_dbsr(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10010,10,6.RA,_IMM12:BRA:short:mu:DBSR imm -# OBSOLETE "dbsr r, " -# OBSOLETE do_dbsr(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10010,10,6.RA,6.**,_IMM32:BRA:long:mu:DBSR imm long -# OBSOLETE "dbsr r, " -# OBSOLETE do_dbsr(_SD, pcdisp, val_Ra); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DBSRI -# OBSOLETE -# OBSOLETE void::function::do_dbsri:address_word pcdisp, unsigned32 imm -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, cia + pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (imm << 3)); -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + (imm << 3) + 8); -# OBSOLETE -# OBSOLETE _BRA,10110,00,6.IMM_6,6.**,6.RC:BRA:short:mu:DBSRI -# OBSOLETE "dbsri , r" -# OBSOLETE do_dbsri(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10110,10,6.IMM_6,_IMM12:BRA:short:mu:DBSRI imm -# OBSOLETE "dbsri , " -# OBSOLETE do_dbsri(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10110,10,6.IMM_6,6.**,_IMM32:BRA:long:mu:DBSRI imm long -# OBSOLETE "dbsri , " -# OBSOLETE do_dbsri(_SD, pcdisp, IMM_6); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DBT -# OBSOLETE -# OBSOLETE -# OBSOLETE _BRA,01011,00,6.**,6.**,6.**:BRA:short:mu:DBT -# OBSOLETE "dbt" -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&DPC, RPT_S); -# OBSOLETE if (RPT_C == 0) -# OBSOLETE PSW_SET (PSW_RP, 0); -# OBSOLETE } -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&DPC, cia + 8); -# OBSOLETE DID_TRAP = 2; -# OBSOLETE nia = 0xfffff120; /* debug_trap_address */ -# OBSOLETE -# OBSOLETE // DJMP -# OBSOLETE -# OBSOLETE void::function::do_djmp:address_word pcdisp, unsigned32 ra -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (ra & ~0x7)); -# OBSOLETE -# OBSOLETE _BRA,10001,00,6.RA,6.**,6.RC:BRA:short:mu:DJMP -# OBSOLETE "djmp r, r" -# OBSOLETE do_djmp(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10001,10,6.RA,_IMM12:BRA:short:mu:DJMP imm -# OBSOLETE "djmp r, " -# OBSOLETE do_djmp(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10001,10,6.RA,6.**,_IMM32:BRA:long:mu:DJMP imm long -# OBSOLETE "djmp r, " -# OBSOLETE do_djmp(_SD, pcdisp, val_Ra); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DJMPI -# OBSOLETE -# OBSOLETE void::function::do_djmpi:address_word pcdisp, unsigned32 imm -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (imm << 3)); -# OBSOLETE -# OBSOLETE _BRA,10101,00,6.IMM_6,6.**,6.RC:BRA:short:mu:DJMPI -# OBSOLETE "djmpi , r" -# OBSOLETE do_djmpi(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10101,10,6.IMM_6,_IMM12:BRA:short:mu:DJMPI imm -# OBSOLETE "djmpi , " -# OBSOLETE do_djmpi(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10101,10,6.IMM_6,6.**,_IMM32:BRA:long:mu:DJMPI imm long -# OBSOLETE "djmpi , " -# OBSOLETE do_djmpi(_SD, pcdisp, IMM_6); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DJSR -# OBSOLETE -# OBSOLETE void::function::do_djsr:address_word pcdisp, unsigned32 ra -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (ra & ~0x7)); -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + (ra & ~0x7) + 8); -# OBSOLETE -# OBSOLETE _BRA,10011,00,6.RA,6.**,6.RC:BRA:short:mu:DJSR -# OBSOLETE "djsr r, r" -# OBSOLETE do_djsr(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10011,10,6.RA,_IMM12:BRA:short:mu:DJSR imm -# OBSOLETE "djsr r, " -# OBSOLETE do_djsr(_SD, pcdisp, val_Ra); -# OBSOLETE _BRA,10011,10,6.RA,6.**,_IMM32:BRA:long:mu:DJSR imm long -# OBSOLETE "djsr r, " -# OBSOLETE do_djsr(_SD, pcdisp, val_Ra); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // DJSRI -# OBSOLETE -# OBSOLETE void::function::do_djsri:address_word pcdisp, unsigned32 imm -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_C, 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, pcdisp); -# OBSOLETE WRITE32_QUEUE (&RPT_E, cia + (imm << 3)); -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + (imm << 3) + 8); -# OBSOLETE -# OBSOLETE _BRA,10111,00,6.IMM_6,6.**,6.RC:BRA:short:mu:DJSRI -# OBSOLETE "djsri , r" -# OBSOLETE do_djsri(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10111,10,6.IMM_6,_IMM12:BRA:short:mu:DJSRI imm -# OBSOLETE "djsri , " -# OBSOLETE do_djsri(_SD, pcdisp, IMM_6); -# OBSOLETE _BRA,10111,10,6.IMM_6,6.**,_IMM32:BRA:long:mu:DJSRI imm long -# OBSOLETE "djsri , " -# OBSOLETE do_djsri(_SD, pcdisp, IMM_6); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // JMP -# OBSOLETE -# OBSOLETE _BRA,00001,00,6.**,6.**,6.RC:BRA:short:mu:JMP -# OBSOLETE "jmp r" -# OBSOLETE nia = pcaddr; -# OBSOLETE if (RC == 62 && TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_RETURN; -# OBSOLETE _BRA,00001,10,_IMM18:BRA:short:mu:JMP imm -# OBSOLETE "jmp " -# OBSOLETE nia = pcaddr; -# OBSOLETE _BRA,00001,10,6.**,6.**,_IMM32:BRA:long:mu:JMP imm long -# OBSOLETE "jmp " -# OBSOLETE nia = pcaddr; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // JMPTNZ -# OBSOLETE -# OBSOLETE _BRA,00101,01,6.RA,6.**,6.RC:BRA:short:mu:JMPTNZ -# OBSOLETE "jmptnz r" -# OBSOLETE if (val_Ra != 0) -# OBSOLETE nia = pcaddr; -# OBSOLETE _BRA,00101,11,6.RA,_IMM12:BRA:short:mu:JMPTNZ imm -# OBSOLETE "jmptnz " -# OBSOLETE if (val_Ra != 0) -# OBSOLETE nia = pcaddr; -# OBSOLETE _BRA,00101,11,6.RA,6.**,_IMM32:BRA:long:mu:JMPTNZ imm long -# OBSOLETE "jmptnz " -# OBSOLETE if (val_Ra != 0) -# OBSOLETE nia = pcaddr; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // JMPTZR -# OBSOLETE -# OBSOLETE _BRA,00101,00,6.RA,6.**,6.RC:BRA:short:mu:JMPTZR -# OBSOLETE "jmptzr r" -# OBSOLETE if (val_Ra == 0) -# OBSOLETE nia = pcaddr; -# OBSOLETE _BRA,00101,10,6.RA,_IMM12:BRA:short:mu:JMPTZR imm -# OBSOLETE "jmptzr " -# OBSOLETE if (val_Ra == 0) -# OBSOLETE nia = pcaddr; -# OBSOLETE _BRA,00101,10,6.RA,6.**,_IMM32:BRA:long:mu:JMPTZR imm long -# OBSOLETE "jmptzr " -# OBSOLETE if (val_Ra == 0) -# OBSOLETE nia = pcaddr; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // JOINpp -# OBSOLETE -# OBSOLETE void::function::do_join_pp:int pp, unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE switch (pp) { -# OBSOLETE case 0x0: /* LL */ -# OBSOLETE WRITE32_QUEUE (ra, ((unsigned32)VL2_4(rb) << 16) | VL2_4(src)); -# OBSOLETE break; -# OBSOLETE case 0x1: /* LH */ -# OBSOLETE WRITE32_QUEUE (ra, ((unsigned32)VL2_4(rb) << 16) | VH2_4(src)); -# OBSOLETE break; -# OBSOLETE case 0x2: /* HL */ -# OBSOLETE WRITE32_QUEUE (ra, ((unsigned32)VH2_4(rb) << 16) | VL2_4(src)); -# OBSOLETE break; -# OBSOLETE case 0x3: /* HH */ -# OBSOLETE WRITE32_QUEUE (ra, ((unsigned32)VH2_4(rb) << 16) | VH2_4(src)); -# OBSOLETE break; -# OBSOLETE } -# OBSOLETE -# OBSOLETE ::%s::pp:int pp -# OBSOLETE switch (pp) -# OBSOLETE { -# OBSOLETE case 0x0: return "ll"; -# OBSOLETE case 0x1: return "lh"; -# OBSOLETE case 0x2: return "hl"; -# OBSOLETE case 0x3: return "hh"; -# OBSOLETE default: return "?"; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IALU1,011,pp,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:JOINpp -# OBSOLETE "join%s r, r, r" -# OBSOLETE do_join_pp(_SD, pp, Ra, Rb, Rc); -# OBSOLETE _IALU1,011,pp,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:JOINpp imm -# OBSOLETE "join%s r, r, " -# OBSOLETE do_join_pp(_SD, pp, Ra, Rb, immHL); -# OBSOLETE _IALU1,011,pp,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:JOINpp imm long -# OBSOLETE "join%s r, r, " -# OBSOLETE do_join_pp(_SD, pp, Ra, Rb, immHL); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // JSR -# OBSOLETE -# OBSOLETE _BRA,00011,00,6.**,6.**,6.RC:BRA:short:mu:JSR -# OBSOLETE "jsr r" -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE return pcaddr; -# OBSOLETE _BRA,00011,10,_IMM18:BRA:short:mu:JSR imm -# OBSOLETE "jsr " -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE return pcaddr; -# OBSOLETE _BRA,00011,10,6.**,6.**,_IMM32:BRA:long:mu:JSR imm long -# OBSOLETE "jsr " -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE return pcaddr; -# OBSOLETE -# OBSOLETE -# OBSOLETE // JSRTNZ -# OBSOLETE -# OBSOLETE _BRA,00111,01,6.RA,6.**,6.RC:BRA:short:mu:JSRTNZ -# OBSOLETE "jsrtnz r" -# OBSOLETE if (val_Ra != 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = pcaddr; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE _BRA,00111,11,6.RA,_IMM12:BRA:short:mu:JSRTNZ imm -# OBSOLETE "jsrtnz " -# OBSOLETE if (val_Ra != 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = pcaddr; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE _BRA,00111,11,6.RA,6.**,_IMM32:BRA:long:mu:JSRTNZ imm long -# OBSOLETE "jsrtnz " -# OBSOLETE if (val_Ra != 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = pcaddr; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // JSRTZR -# OBSOLETE -# OBSOLETE _BRA,00111,00,6.RA,6.**,6.RC:BRA:short:mu:JSRTZR -# OBSOLETE "jsrtzr r" -# OBSOLETE if (val_Ra == 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = pcaddr; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE _BRA,00111,10,6.RA,_IMM12:BRA:short:mu:JSRTZR imm -# OBSOLETE "jsrtzr " -# OBSOLETE if (val_Ra == 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = pcaddr; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE _BRA,00111,10,6.RA,6.**,_IMM32:BRA:long:mu:JSRTZR imm long -# OBSOLETE "jsrtzr " -# OBSOLETE if (val_Ra == 0) { -# OBSOLETE if (cia == RPT_E && PSW_VAL (PSW_RP)) -# OBSOLETE WRITE32_QUEUE (&GPR[62], RPT_S); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&GPR[62], cia + 8); -# OBSOLETE nia = pcaddr; -# OBSOLETE if (TRACE_CALL_P) -# OBSOLETE TRACE_ACTION |= TRACE_ACTION_CALL; -# OBSOLETE } -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // Post increment -# OBSOLETE -# OBSOLETE void::function::do_incr:int x, unsigned32 *rb, int delta -# OBSOLETE unsigned32 next_rb; -# OBSOLETE if (x == 1) -# OBSOLETE next_rb = *rb + delta; -# OBSOLETE else if (x == 3) -# OBSOLETE next_rb = *rb - delta; -# OBSOLETE else -# OBSOLETE next_rb = *rb; /* value not used */ -# OBSOLETE /* HW erratum: check value after incrementing */ -# OBSOLETE if (next_rb == MOD_E -# OBSOLETE && (x == 1 || x == 3) -# OBSOLETE && (PSW_VAL(PSW_MD))) { -# OBSOLETE WRITE32_QUEUE (rb, MOD_S); -# OBSOLETE } -# OBSOLETE else if (x == 1 || x == 3) -# OBSOLETE WRITE32_QUEUE (rb, next_rb); -# OBSOLETE -# OBSOLETE // LD2H -# OBSOLETE -# OBSOLETE int::function::make_even_reg:int reg, const char *name -# OBSOLETE if (reg & 1) -# OBSOLETE sim_engine_abort (SD, CPU, cia, -# OBSOLETE "0x%lx:%s odd register (r%d) used in multi-word load/mulx2h", -# OBSOLETE (long) cia, name, reg); -# OBSOLETE return reg; -# OBSOLETE -# OBSOLETE void::function::do_ld2h:int ra, unsigned32 rb, unsigned32 src -# OBSOLETE signed32 mem; -# OBSOLETE ra = make_even_reg(_SD, ra, "LD2H"); -# OBSOLETE mem = MEM(signed, rb + src, 4); -# OBSOLETE if (ra != 0) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 0], SEXT32(EXTRACTED32(mem, 0, 15), 16)); -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 1], SEXT32(EXTRACTED32(mem, 16, 31), 16)); -# OBSOLETE } -# OBSOLETE -# OBSOLETE ::%s::XX:int XX -# OBSOLETE switch (XX) -# OBSOLETE { -# OBSOLETE case 0: return ""; -# OBSOLETE case 1: return "+"; -# OBSOLETE case 3: return "-"; -# OBSOLETE default: return "?"; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IMEM,00011,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LD2H -# OBSOLETE "ld2h r, @(r, )":XX == 0 -# OBSOLETE "ld2h r, @(r%s, r)" -# OBSOLETE do_ld2h(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,00011,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LD2H long -# OBSOLETE "ld2h r, @(r, )" -# OBSOLETE do_ld2h(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LD2W -# OBSOLETE -# OBSOLETE void::function::do_ld2w:int ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned64 mem; -# OBSOLETE ra = make_even_reg(_SD, ra, "LD2W"); -# OBSOLETE mem = MEM(unsigned, rb + src, 8); -# OBSOLETE if (ra != 0) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 0], EXTRACTED64 (mem, 0, 31)); -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 1], EXTRACTED64 (mem, 32, 63)); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IMEM,00110,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:L2W -# OBSOLETE "ld2w r, @(r, )":XX == 0 -# OBSOLETE "ld2w r, @(r%s, r)" -# OBSOLETE do_ld2w(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 8); -# OBSOLETE _IMEM,00110,10,6.RA,6.RB,_IMM32:IMEM:long:mu:L2W long -# OBSOLETE "ld2w r, @(r, )" -# OBSOLETE do_ld2w(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LD4BH -# OBSOLETE -# OBSOLETE void::function::do_ld4bh:unsigned32 ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned16 l1, l2, h1, h2; -# OBSOLETE unsigned32 mem; -# OBSOLETE ra = make_even_reg(_SD, ra, "LD4BH"); -# OBSOLETE mem = MEM(unsigned, rb + src, 4); -# OBSOLETE h1 = SEXT16(EXTRACTED32(mem, 0, 7), 8); -# OBSOLETE l1 = SEXT16(EXTRACTED32(mem, 8, 15), 8); -# OBSOLETE h2 = SEXT16(EXTRACTED32(mem, 16, 23), 8); -# OBSOLETE l2 = SEXT16(EXTRACTED32(mem, 24, 31), 8); -# OBSOLETE if (ra != 0) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 0], (h1 << 16) | l1); -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 1], (h2 << 16) | l2); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IMEM,00101,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LD4BH -# OBSOLETE "ld4bh r, @(r, )":XX == 0 -# OBSOLETE "ld4bh r, @(r%s, r)" -# OBSOLETE do_ld4bh(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,00101,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LD4BH long -# OBSOLETE "ld4bh r, @(r, )" -# OBSOLETE do_ld4bh(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LD4BHU -# OBSOLETE -# OBSOLETE void::function::do_ld4bhu:unsigned32 ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned16 l1, l2, h1, h2; -# OBSOLETE unsigned32 mem; -# OBSOLETE ra = make_even_reg(_SD, ra, "LD4BH"); -# OBSOLETE mem = MEM(signed, rb + src, 4); -# OBSOLETE h1 = EXTRACTED32(mem, 0, 7); -# OBSOLETE l1 = EXTRACTED32(mem, 8, 15); -# OBSOLETE h2 = EXTRACTED32(mem, 16, 23); -# OBSOLETE l2 = EXTRACTED32(mem, 24, 31); -# OBSOLETE if (ra != 0) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 0], (h1 << 16) | l1); -# OBSOLETE WRITE32_QUEUE (&GPR[ra + 1], (h2 << 16) | l2); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IMEM,01101,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LD4BHU -# OBSOLETE "ld4hbu r, @(r, )":XX == 0 -# OBSOLETE "ld4hbu r, @(r%s, r)" -# OBSOLETE do_ld4bhu(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,01101,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LD4BHU long -# OBSOLETE "ld4hbu r, @(r, )" -# OBSOLETE do_ld4bhu(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LDB -# OBSOLETE -# OBSOLETE void::function::do_ldb:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, MEM(signed, rb + src, 1)); -# OBSOLETE -# OBSOLETE _IMEM,00000,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LDB -# OBSOLETE "ldb r, @(r, )":XX == 0 -# OBSOLETE "ldb r, @(r%s, r)" -# OBSOLETE do_ldb(_SD, Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 1); -# OBSOLETE _IMEM,00000,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LDB long -# OBSOLETE "ldb r, @(r, )" -# OBSOLETE do_ldb(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LDBU -# OBSOLETE -# OBSOLETE void::function::do_ldbu:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, MEM(unsigned, rb + src, 1)); -# OBSOLETE -# OBSOLETE _IMEM,01001,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LDBU -# OBSOLETE "ldbu r, @(r, )":XX == 0 -# OBSOLETE "ldbu r, @(r%s, r)" -# OBSOLETE do_ldbu(_SD, Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 1); -# OBSOLETE _IMEM,01001,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LDBU long -# OBSOLETE "ldbu r, @(r, )" -# OBSOLETE do_ldbu(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LDH -# OBSOLETE -# OBSOLETE void::function::do_ldh:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, MEM(signed, rb + src, 2)); -# OBSOLETE -# OBSOLETE _IMEM,00010,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LDH -# OBSOLETE "ldh r, @(r, )":XX == 0 -# OBSOLETE "ldh r, @(r%s, r)" -# OBSOLETE do_ldh(_SD, Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 2); -# OBSOLETE _IMEM,00010,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LDH long -# OBSOLETE "ldh r, @(r, )" -# OBSOLETE do_ldh(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LDHH -# OBSOLETE -# OBSOLETE void::function::do_ldhh:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, MEM(signed, rb + src, 2) << 16); -# OBSOLETE -# OBSOLETE _IMEM,00001,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LDHH -# OBSOLETE "ldhh r, @(r, )":XX == 0 -# OBSOLETE "ldhh r, @(r%s, r)" -# OBSOLETE do_ldhh(_SD, Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 2); -# OBSOLETE _IMEM,00001,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LDHH long -# OBSOLETE "ldhh r, @(r, )" -# OBSOLETE do_ldhh(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LDHU -# OBSOLETE -# OBSOLETE void::function::do_ldhu:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, MEM(unsigned, rb + src, 2)); -# OBSOLETE -# OBSOLETE _IMEM,01010,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LDHU -# OBSOLETE "ldhu r, @(r, )":XX == 0 -# OBSOLETE "ldhu r, @(r%s, r)" -# OBSOLETE do_ldhu(_SD, Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 2); -# OBSOLETE _IMEM,01010,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LDHU long -# OBSOLETE "ldhu r, @(r, )" -# OBSOLETE do_ldhu(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // LDW -# OBSOLETE -# OBSOLETE void::function::do_ldw:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, MEM(signed, rb + src, 4)); -# OBSOLETE -# OBSOLETE _IMEM,00100,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:LDW -# OBSOLETE "ldw r, @(r, )":XX == 0 -# OBSOLETE "ldw r, @(r%s, r)" -# OBSOLETE do_ldw(_SD, Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,00100,10,6.RA,6.RB,_IMM32:IMEM:long:mu:LDW long -# OBSOLETE "ldw r, @(r, )" -# OBSOLETE do_ldw(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MACa -# OBSOLETE -# OBSOLETE void::function::do_mac:unsigned64 *aa, unsigned32 *ra, signed32 rb, signed32 src -# OBSOLETE unsigned64 accum = *aa; -# OBSOLETE accum += (signed64) (rb) * (signed64) (src); -# OBSOLETE WRITE64_QUEUE (aa, accum); -# OBSOLETE WRITE32_QUEUE (ra, EXTRACTED64(accum, 32, 63)); -# OBSOLETE -# OBSOLETE _IALU2,10100,0,1.AA,6.RA,6.RB,6.RC:IALU2:short:iu:MACa -# OBSOLETE "mac r, r, r" -# OBSOLETE do_mac(_SD, Aa, Ra, Rb, Rc); -# OBSOLETE _IALU2,10100,1,1.AA,6.RA,6.RB,_IMM6:IALU2:short:iu:MACa imm -# OBSOLETE "mac r, r, " -# OBSOLETE do_mac(_SD, Aa, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MACSa -# OBSOLETE -# OBSOLETE void::function::do_macs:unsigned64 *aa, unsigned32 *ra, signed32 rb, signed32 src -# OBSOLETE unsigned64 accum = *aa; -# OBSOLETE accum += ((signed64) (rb) * (signed64) (src)) << 1; -# OBSOLETE WRITE64_QUEUE (aa, accum); -# OBSOLETE WRITE32_QUEUE (ra, EXTRACTED64(accum, 0, 31)); -# OBSOLETE -# OBSOLETE _IALU2,10101,0,1.AA,6.RA,6.RB,6.RC:IALU2:short:iu:MACSa -# OBSOLETE "macs r, r, r" -# OBSOLETE do_macs(_SD, Aa, Ra, Rb, Rc); -# OBSOLETE _IALU2,10101,1,1.AA,6.RA,6.RB,_IMM6:IALU2:short:iu:MACSa imm -# OBSOLETE "macs r, r, " -# OBSOLETE do_macs(_SD, Aa, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MODDEC | MODINC -# OBSOLETE -# OBSOLETE _IMEM,00111,11,6.**,6.RB,_IMM6:IMEM:short:mu:MODDEC -# OBSOLETE "moddec r, " -# OBSOLETE do_incr(_SD, 3/*0b11*/, &GPR[RB], imm_5); -# OBSOLETE _IMEM,00111,01,6.**,6.RB,_IMM6:IMEM:short:mu:MODINC -# OBSOLETE "modinc r, " -# OBSOLETE do_incr(_SD, 1/*0b01*/, &GPR[RB], imm_5); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MSUBa -# OBSOLETE -# OBSOLETE void::function::do_msub:unsigned64 *aa, unsigned32 *ra, signed32 rb, signed32 src -# OBSOLETE unsigned64 accum = *aa; -# OBSOLETE accum -= (signed64) (rb) * (signed64) (src); -# OBSOLETE WRITE64_QUEUE (aa, accum); -# OBSOLETE WRITE32_QUEUE (ra, EXTRACTED64(accum, 32, 63)); -# OBSOLETE -# OBSOLETE _IALU2,10110,0,1.AA,6.RA,6.RB,6.RC:IALU2:short:iu:MSUBa -# OBSOLETE "msub r, r, r" -# OBSOLETE do_msub(_SD, Aa, Ra, Rb, Rc); -# OBSOLETE _IALU2,10110,1,1.AA,6.RA,6.RB,_IMM6:IALU2:short:iu:MSUBa imm -# OBSOLETE "msub r, r, " -# OBSOLETE do_msub(_SD, Aa, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MSUBSa -# OBSOLETE -# OBSOLETE void::function::do_msubs:unsigned64 *aa, unsigned32 *ra, signed32 rb, signed32 src -# OBSOLETE unsigned64 accum = *aa; -# OBSOLETE accum -= ((signed64) (rb) * (signed64) (src)) << 1; -# OBSOLETE WRITE64_QUEUE (aa, accum); -# OBSOLETE WRITE32_QUEUE (ra, EXTRACTED64(accum, 0, 31)); -# OBSOLETE -# OBSOLETE _IALU2,10111,0,1.AA,6.RA,6.RB,6.RC:IALU2:short:iu:MSUBSa -# OBSOLETE "msubs r, r, r" -# OBSOLETE do_msubs(_SD, Aa, Ra, Rb, Rc); -# OBSOLETE _IALU2,10111,1,1.AA,6.RA,6.RB,_IMM6:IALU2:short:iu:MSUBSa imm -# OBSOLETE "msubs r, r, " -# OBSOLETE do_msubs(_SD, Aa, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MUL -# OBSOLETE -# OBSOLETE void::function::do_mul:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE WRITE32_QUEUE (ra, rb * src); -# OBSOLETE -# OBSOLETE _IALU2,10000,00,6.RA,6.RB,6.RC:IALU2:short:iu:MUL -# OBSOLETE "mul r, r, r" -# OBSOLETE do_mul(_SD, Ra, Rb, Rc); -# OBSOLETE _IALU2,10000,10,6.RA,6.RB,_IMM6:IALU2:short:iu:MUL imm -# OBSOLETE "mul r, r, " -# OBSOLETE do_mul(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MUL2H -# OBSOLETE -# OBSOLETE void::function::do_mul2h:unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned16 high = VH2_4(rb) * VH2_4(src); -# OBSOLETE unsigned16 low = VL2_4(rb) * VL2_4(src); -# OBSOLETE WRITE32_QUEUE (ra, (high << 16) | low); -# OBSOLETE -# OBSOLETE _IALU2,00000,00,6.RA,6.RB,6.RC:IALU2:short:iu:MUL2H -# OBSOLETE "mul2h r, r, r" -# OBSOLETE do_mul2h(_SD, Ra, Rb, Rc); -# OBSOLETE _IALU2,00000,10,6.RA,6.RB,_IMM6:IALU2:short:iu:MUL2H imm -# OBSOLETE "mul2h r, r, " -# OBSOLETE do_mul2h(_SD, Ra, Rb, immHL); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MULX -# OBSOLETE -# OBSOLETE void::function::do_mulx:unsigned64 *aa, signed32 rb, signed32 src -# OBSOLETE WRITE64_QUEUE (aa, (signed64) (rb) * (signed64) (src)); -# OBSOLETE -# OBSOLETE _IALU2,11000,00,5.*,1.AA,6.RB,6.RC:IALU2:short:iu:MULX -# OBSOLETE "mulx a, r, r" -# OBSOLETE do_mulx(_SD, Aa, Rb, Rc); -# OBSOLETE _IALU2,11000,10,5.*,1.AA,6.RB,_IMM6:IALU2:short:iu:MULX imm -# OBSOLETE "mulx a, r, " -# OBSOLETE do_mulx(_SD, Aa, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE // MULX2H -# OBSOLETE -# OBSOLETE void::function::do_mulx2h:int ra, signed32 rb, signed32 src, int high -# OBSOLETE signed32 result = rb * src; -# OBSOLETE if (!high) -# OBSOLETE { -# OBSOLETE ra = make_even_reg(_SD, ra, "MULX2H"); -# OBSOLETE if (ra != 0) -# OBSOLETE WRITE32_QUEUE (&GPR[ra+1], result); -# OBSOLETE } -# OBSOLETE else if (ra != 0) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&GPR[ra+0], result); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IALU2,00001,00,6.RA,6.RB,6.RC:IALU2:short:iu:MULX2H -# OBSOLETE "mul2h r, r, r" -# OBSOLETE do_mulx2h(_SD, RA, RbH, RcH, 1); -# OBSOLETE do_mulx2h(_SD, RA, RbL, RcL, 0); -# OBSOLETE _IALU2,00001,10,6.RA,6.RB,_IMM6:IALU2:short:iu:MULX2H imm -# OBSOLETE "mul2h r, r, " -# OBSOLETE do_mulx2h(_SD, RA, RbH, imm, 1); -# OBSOLETE do_mulx2h(_SD, RA, RbL, imm, 0); -# OBSOLETE -# OBSOLETE // MULHXpp -# OBSOLETE -# OBSOLETE void::function::do_mulhx:int pp, unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE signed32 value = 0; -# OBSOLETE switch (pp) { -# OBSOLETE case 0: /* LL */ -# OBSOLETE value = SEXT32(VL2_4(rb), 16) * SEXT32(VL2_4(src), 16); -# OBSOLETE break; -# OBSOLETE case 1: /* LH */ -# OBSOLETE value = SEXT32(VL2_4(rb), 16) * SEXT32(VH2_4(src), 16); -# OBSOLETE break; -# OBSOLETE case 2: /* HL */ -# OBSOLETE value = SEXT32(VH2_4(rb), 16) * SEXT32(VL2_4(src), 16); -# OBSOLETE break; -# OBSOLETE case 3: /* HH */ -# OBSOLETE value = SEXT32(VH2_4(rb), 16) * SEXT32(VH2_4(src), 16); -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "do_mulhx - internal error - bad switch"); -# OBSOLETE } -# OBSOLETE WRITE32_QUEUE (ra, value); -# OBSOLETE -# OBSOLETE _IALU2,001,pp,00,6.RA,6.RB,6.RC:IALU2:short:iu:MULHXpp -# OBSOLETE "mulhx%s r, r, r" -# OBSOLETE do_mulhx(_SD, pp, Ra, Rb, Rc); -# OBSOLETE _IALU2,001,pp,10,6.RA,6.RB,_IMM6:IALU2:short:iu:MULHXpp imm -# OBSOLETE "mulhx%s r, r, " -# OBSOLETE do_mulhx(_SD, pp, Ra, Rb, immHL); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MULXS -# OBSOLETE -# OBSOLETE void::function::do_mulxs:unsigned64 *aa, signed32 rb, signed32 src -# OBSOLETE WRITE64_QUEUE (aa, ((signed64) (rb) * (signed64) (src)) << 1); -# OBSOLETE -# OBSOLETE _IALU2,11001,00,5.*,1.AA,6.RB,6.RC:IALU2:short:iu:MULXS -# OBSOLETE "mulxs a, r, r" -# OBSOLETE do_mulxs(_SD, Aa, Rb, Rc); -# OBSOLETE _IALU2,11001,10,5.*,1.AA,6.RB,_IMM6:IALU2:short:iu:MULXS imm -# OBSOLETE "mulxs a, r, " -# OBSOLETE do_mulxs(_SD, Aa, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MVFACC -# OBSOLETE -# OBSOLETE void::function::do_mvfacc:unsigned32 *ra, unsigned64 ab, unsigned32 src -# OBSOLETE while (src > 63) src -= 64; -# OBSOLETE WRITE32_QUEUE (ra, ((signed64)ab) >> src); -# OBSOLETE -# OBSOLETE _IALU2,11111,00,6.RA,5.*,1.AB,6.RC:IALU2:short:iu:MVFACC -# OBSOLETE "mvfacc r, a, r" -# OBSOLETE do_mvfacc(_SD, Ra, *Ab, Rc); -# OBSOLETE _IALU2,11111,10,6.RA,5.*,1.AB,_IMM6:IALU2:short:iu:MVFACC imm -# OBSOLETE "mvfacc r, a, " -# OBSOLETE do_mvfacc(_SD, Ra, *Ab, imm_6u); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MVFSYS -# OBSOLETE -# OBSOLETE _BRA,11110,00,6.RA,6.CR,6.ID:BRA:short:mu:MVFSYS -# OBSOLETE "mvfsys r, cr" -# OBSOLETE switch (ID) { -# OBSOLETE case 0: -# OBSOLETE if (CR >= NR_CONTROL_REGISTERS) -# OBSOLETE sim_engine_abort (SD, CPU, cia, "FIXME - illegal CR"); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (Ra, (CPU)->regs.control[CR]); -# OBSOLETE break; -# OBSOLETE case 1: -# OBSOLETE WRITE32_QUEUE (Ra, PSWL); -# OBSOLETE break; -# OBSOLETE case 2: -# OBSOLETE WRITE32_QUEUE (Ra, EXTRACTED32(PSWH, 16, 31)); -# OBSOLETE break; -# OBSOLETE case 3: -# OBSOLETE WRITE32_QUEUE (Ra, PSW_FLAG_VAL(CR)); -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "FIXME - illegal ID"); -# OBSOLETE } -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MVTACC -# OBSOLETE -# OBSOLETE _IALU2,01111,00,5.*,1.AA,6.RB,6.RC:IALU2:short:iu:MVTACC -# OBSOLETE "mvtacc a, r, r" -# OBSOLETE WRITE64_QUEUE (Aa, INSERTED64(RbU, 0, 31) | (RcU)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // MVTSYS -# OBSOLETE -# OBSOLETE _BRA,01110,00,6.CR,6.RB,6.ID:BRA:short:mu:MVTSYS -# OBSOLETE "mvtsys cr, r" -# OBSOLETE switch (ID) { -# OBSOLETE case 0: /* control register */ -# OBSOLETE if (CR >= NR_CONTROL_REGISTERS) -# OBSOLETE sim_engine_abort (SD, CPU, cia, "FIXME - illegal CR"); -# OBSOLETE else -# OBSOLETE { -# OBSOLETE unsigned32 value = Rb; -# OBSOLETE CPU->mvtsys_left_p = 1; -# OBSOLETE if (CR == processor_status_word_cr) -# OBSOLETE { -# OBSOLETE unsigned32 ds = PSW & BIT32 (PSW_DS); /* preserve ds */ -# OBSOLETE value = ds | (value & PSW_VALID); -# OBSOLETE } -# OBSOLETE else if (CR == backup_processor_status_word_cr -# OBSOLETE || CR == debug_backup_processor_status_word_cr) -# OBSOLETE value &= DPSW_VALID; -# OBSOLETE else if (CR == eit_vector_base_cr) -# OBSOLETE value &= EIT_VALID; -# OBSOLETE WRITE32_QUEUE (&(CPU)->regs.control[CR], value); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 1: /* PSWL */ -# OBSOLETE WRITE32_QUEUE_MASK (&PSW, EXTRACTED32(Rb, 16, 31), -# OBSOLETE PSW_VALID & 0x0000ffff); -# OBSOLETE break; -# OBSOLETE case 2: /* PSWH */ -# OBSOLETE { -# OBSOLETE unsigned32 ds = PSW & BIT32 (PSW_DS); /* preserve ds */ -# OBSOLETE WRITE32_QUEUE_MASK (&PSW, (EXTRACTED32(Rb, 16, 31) << 16) | ds, -# OBSOLETE (PSW_VALID | ds) & 0xffff0000); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 3: /* FLAG */ -# OBSOLETE PSW_FLAG_SET_QUEUE(CR, Rb & 1); -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "FIXME - illegal ID"); -# OBSOLETE } -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // NOP -# OBSOLETE -# OBSOLETE _BRA,01111,00,6.**,6.**,6.**:BRA:short:iu,mu:NOP -# OBSOLETE "nop" -# OBSOLETE /* NOP */; -# OBSOLETE -# OBSOLETE -# OBSOLETE // NOT -# OBSOLETE -# OBSOLETE _LOGIC,11001,00,6.RA,6.RB,6.*:LOGIC:short:iu,mu:NOT -# OBSOLETE "not r, r" -# OBSOLETE WRITE32_QUEUE (Ra, ~Rb); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // NOTFG -# OBSOLETE -# OBSOLETE _LOGIC,01001,00,***,3.FA,***,3.FB,***,3.FC:LOGIC:short:iu,mu:NOTFG -# OBSOLETE "notfg f, f" -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, !PSW_FLAG_VAL(FB)); -# OBSOLETE -# OBSOLETE -# OBSOLETE // OR -# OBSOLETE -# OBSOLETE _LOGIC,11010,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:OR -# OBSOLETE "or r, r, r" -# OBSOLETE WRITE32_QUEUE (Ra, Rb | Rc); -# OBSOLETE _LOGIC,11010,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:OR imm -# OBSOLETE "or r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb | imm); -# OBSOLETE _LOGIC,11010,10,6.RA,6.RB,_IMM32:LOGIC:long:iu,mu:OR imm long -# OBSOLETE "or r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb | imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ORFG -# OBSOLETE -# OBSOLETE _LOGIC,01010,00,***,3.FA,***,3.FB,***,3.FC:LOGIC:short:iu,mu:ORFG -# OBSOLETE "orfg f, f, f" -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, PSW_FLAG_VAL(FB) | PSW_FLAG_VAL(FC)); -# OBSOLETE _LOGIC,01010,10,***,3.FA,***,3.FB,_IMM6:LOGIC:short:iu,mu:ORFG imm -# OBSOLETE "orfg f, f, " -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, PSW_FLAG_VAL(FB) | (imm_6 & 1)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // REIT -# OBSOLETE -# OBSOLETE _BRA,01000,00,6.**,6.**,6.**:BRA:short:mu:REIT -# OBSOLETE "reit" -# OBSOLETE WRITE32_QUEUE (&PSW, bPSW); -# OBSOLETE nia = bPC; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // REPEAT -# OBSOLETE -# OBSOLETE void::function::do_repeat:unsigned32 count, address_word pcaddr -# OBSOLETE address_word rpt_s = cia + 8; -# OBSOLETE address_word rpt_e = cia + pcaddr; -# OBSOLETE -# OBSOLETE if (count == 0) -# OBSOLETE sim_engine_abort (SD, CPU, cia, "REPEAT with ra=0 and REPEATI with imm = 0 is forbidden."); -# OBSOLETE if (count > 1) -# OBSOLETE PSW_SET_QUEUE (PSW_RP, 1); -# OBSOLETE if (rpt_e < rpt_s + 0x10) -# OBSOLETE sim_io_eprintf (sd, "warning: 0x%lx: REPEAT or REPEATI loop is too small\n", (long) cia); -# OBSOLETE WRITE32_QUEUE (&RPT_C, count - 1); -# OBSOLETE WRITE32_QUEUE (&RPT_S, rpt_s); -# OBSOLETE WRITE32_QUEUE (&RPT_E, rpt_e); -# OBSOLETE -# OBSOLETE _BRA,11000,00,6.RA,6.**,6.RC:BRA:short:mu:REPEAT -# OBSOLETE "repeat r, r" -# OBSOLETE do_repeat(_SD, val_Ra, pcaddr); -# OBSOLETE _BRA,11000,10,6.RA,_IMM12:BRA:short:mu:REPEAT imm -# OBSOLETE "repeat r, " -# OBSOLETE do_repeat(_SD, val_Ra, pcaddr); -# OBSOLETE _BRA,11000,10,6.RA,6.**,_IMM32:BRA:long:mu:REPEAT imm long -# OBSOLETE "repeat r, " -# OBSOLETE do_repeat(_SD, val_Ra, pcaddr); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // REPEATI -# OBSOLETE -# OBSOLETE _BRA,11010,00,6.IMM_6,6.**,6.RC:BRA:short:mu:REPEATI -# OBSOLETE "repeati , r" -# OBSOLETE do_repeat(_SD, IMM_6, pcaddr); -# OBSOLETE _BRA,11010,10,6.IMM_6,_IMM12:BRA:short:mu:REPEATI imm -# OBSOLETE "repeati , " -# OBSOLETE do_repeat(_SD, IMM_6, pcaddr); -# OBSOLETE _BRA,11010,10,6.IMM_6,6.**,_IMM32:BRA:long:mu:REPEATI imm long -# OBSOLETE "repeati , " -# OBSOLETE do_repeat(_SD, IMM_6, pcaddr); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // RTD -# OBSOLETE -# OBSOLETE _BRA,01010,00,6.*,6.*,6.*:BRA:short:mu:RTD -# OBSOLETE "rtd" -# OBSOLETE WRITE32_QUEUE (&PSW, DPSW); -# OBSOLETE nia = DPC; -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ROT -# OBSOLETE -# OBSOLETE _LOGIC,10100,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:ROT -# OBSOLETE "rot r, r, r" -# OBSOLETE WRITE32_QUEUE (Ra, ROT32(Rb, Rc & 0x1f)); -# OBSOLETE _LOGIC,10100,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:ROT imm -# OBSOLETE "rot r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, ROT32(Rb, imm & 0x1f)); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ROT2H -# OBSOLETE -# OBSOLETE void::function::do_rot2h:unsigned32 *ra, unsigned32 rb, signed32 src -# OBSOLETE unsigned16 high = ROTR16(VH2_4(rb), VH2_4(src) & 0xf); -# OBSOLETE unsigned16 low = ROTR16(VL2_4(rb), VL2_4(src) & 0xf); -# OBSOLETE WRITE32_QUEUE (ra, (high << 16) | low); -# OBSOLETE -# OBSOLETE _LOGIC,10101,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:ROT2H -# OBSOLETE "rot2h r, r, r" -# OBSOLETE do_rot2h(_SD, Ra, Rb, Rc); -# OBSOLETE _LOGIC,10101,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:ROT2H imm -# OBSOLETE "rot2h r, r, " -# OBSOLETE do_rot2h(_SD, Ra, Rb, immHL); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SAT -# OBSOLETE -# OBSOLETE void::function::do_sat:signed32 *ra, signed32 rb, signed32 src -# OBSOLETE int bits = LSMASKED32(src, 4, 0); /* 5 */ -# OBSOLETE signed32 sat = LSMASK32(bits, 0) >> 2; -# OBSOLETE signed32 nsat = ~sat; -# OBSOLETE signed32 value; -# OBSOLETE if (bits != src) -# OBSOLETE sim_io_eprintf (sd, "warning: 0x%lx:SAT bit overflow\n", (long) cia); -# OBSOLETE if (bits == 0) -# OBSOLETE value = rb; -# OBSOLETE else if (rb >= sat) -# OBSOLETE value = sat; -# OBSOLETE else if (rb <= nsat) -# OBSOLETE value = nsat; -# OBSOLETE else -# OBSOLETE value = rb; -# OBSOLETE WRITE32_QUEUE (ra, value); -# OBSOLETE -# OBSOLETE _IALU2,01000,00,6.RA,6.RB,6.RC:IALU2:short:iu:SAT -# OBSOLETE "sat r, r, r" -# OBSOLETE do_sat(_SD, Ra, Rb, Rc); -# OBSOLETE _IALU2,01000,10,6.RA,6.RB,_IMM6:IALU2:short:iu:SAT imm -# OBSOLETE "sat r, r, " -# OBSOLETE do_sat(_SD, Ra, Rb, imm_5); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SAT2H -# OBSOLETE -# OBSOLETE void::function::do_sath:signed32 *ra, signed32 rb, signed32 src, int high, int updates_f4 -# OBSOLETE int bits = LSMASKED32(src, 4, 0); /* 5 */ -# OBSOLETE signed32 sat = LSMASK32(bits, 0) >> 2; -# OBSOLETE signed32 nsat = ~sat; -# OBSOLETE signed32 value; -# OBSOLETE if (bits != src) -# OBSOLETE sim_io_eprintf (sd, "warning: 0x%lx:SAT bit overflow\n", (long) cia); -# OBSOLETE if (bits == 0) -# OBSOLETE value = rb; -# OBSOLETE else if (rb >= sat) -# OBSOLETE value = sat; -# OBSOLETE else if (rb <= nsat) -# OBSOLETE value = nsat; -# OBSOLETE else -# OBSOLETE value = rb; -# OBSOLETE if (high) -# OBSOLETE WRITE32_QUEUE_MASK (ra, value << 16, 0xffff0000); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE_MASK (ra, value, 0x0000ffff); -# OBSOLETE if (updates_f4) -# OBSOLETE { -# OBSOLETE /* if MU instruction was a MVTSYS (lkr), unqueue register writes now */ -# OBSOLETE if(STATE_CPU (sd, 0)->mvtsys_left_p) -# OBSOLETE unqueue_writes (sd, STATE_CPU (sd, 0), cia); -# OBSOLETE PSW_FLAG_SET_QUEUE(PSW_S_FLAG, PSW_FLAG_VAL(PSW_S_FLAG) ^ (value & 1)); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IALU2,01001,00,6.RA,6.RB,6.RC:IALU2:short:iu:SAT2H -# OBSOLETE "sat2h r, r, r" -# OBSOLETE do_sath(_SD, Ra, RbH, RcH, 1, 0); -# OBSOLETE do_sath(_SD, Ra, RbL, RcL, 0, 0); -# OBSOLETE _IALU2,01001,10,6.RA,6.RB,_IMM6:IALU2:short:iu:SAT2H imm -# OBSOLETE "sat2h r, r, " -# OBSOLETE do_sath(_SD, Ra, RbH, imm_5, 1, 0); -# OBSOLETE do_sath(_SD, Ra, RbL, imm_5, 0, 0); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SATHp -# OBSOLETE -# OBSOLETE ::%s::p:int p -# OBSOLETE switch (p) -# OBSOLETE { -# OBSOLETE case 0: return "l"; -# OBSOLETE case 1: return "h"; -# OBSOLETE default: return "?"; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IALU2,1110,p,00,6.RA,6.RB,6.RC:IALU2:short:iu:SATHP -# OBSOLETE "sath%s

r, r, r" -# OBSOLETE do_sath(_SD, Ra, Rb, Rc, p, 1); -# OBSOLETE _IALU2,1110,p,10,6.RA,6.RB,_IMM6:IALU2:short:iu:SATHP imm -# OBSOLETE "sath%s

r, r, " -# OBSOLETE do_sath(_SD, Ra, Rb, imm_5, p, 1); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SATZ -# OBSOLETE -# OBSOLETE void::function::do_satz:signed32 *ra, signed32 rb, signed32 src -# OBSOLETE if (rb < 0) -# OBSOLETE WRITE32_QUEUE (ra, 0); -# OBSOLETE else -# OBSOLETE do_sat (_SD, ra, rb, src); -# OBSOLETE -# OBSOLETE _IALU2,01010,00,6.RA,6.RB,6.RC:IALU2:short:iu:SATZ -# OBSOLETE "satz r, r, r" -# OBSOLETE do_satz(_SD, Ra, Rb, Rc); -# OBSOLETE _IALU2,01010,10,6.RA,6.RB,_IMM6:IALU2:short:iu:SATZ imm -# OBSOLETE "satz r, r, " -# OBSOLETE do_satz(_SD, Ra, Rb, imm_5); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SATZ2H -# OBSOLETE -# OBSOLETE void::function::do_satzh:signed32 *ra, signed16 rb, signed32 src, int high -# OBSOLETE int bits = LSMASKED32(src, 3, 0); /*4*/ -# OBSOLETE signed16 sat = LSMASK16(bits, 0) >> 2; -# OBSOLETE signed16 nsat = 0; -# OBSOLETE signed16 value; -# OBSOLETE if (bits != src) -# OBSOLETE sim_io_eprintf (sd, "warning: 0x%lx:SATZ2H bit overflow\n", (long) cia); -# OBSOLETE if (bits == 0 && rb > sat) -# OBSOLETE value = rb; -# OBSOLETE else if (rb > sat) -# OBSOLETE value = sat; -# OBSOLETE else if (rb < nsat) -# OBSOLETE value = nsat; -# OBSOLETE else -# OBSOLETE value = rb; -# OBSOLETE if (high) -# OBSOLETE WRITE32_QUEUE_MASK (ra, value << 16, 0xffff0000); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE_MASK (ra, value, 0x0000ffff); -# OBSOLETE -# OBSOLETE -# OBSOLETE _IALU2,01011,00,6.RA,6.RB,6.RC:IALU2:short:iu:SATZ2H -# OBSOLETE "satz2h r, r, r" -# OBSOLETE do_satzh(_SD, Ra, RbH, RcH, 1); -# OBSOLETE do_satzh(_SD, Ra, RbL, RcL, 0); -# OBSOLETE _IALU2,01011,10,6.RA,6.RB,_IMM6:IALU2:short:iu:SATZ2H imm -# OBSOLETE "satz2h r, r, " -# OBSOLETE do_satzh(_SD, Ra, RbH, imm, 1); -# OBSOLETE do_satzh(_SD, Ra, RbL, imm, 0); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRA -# OBSOLETE -# OBSOLETE void::function::do_sra:unsigned32 *ra, unsigned32 rb, signed32 src -# OBSOLETE unsigned32 value; -# OBSOLETE while (src > 31) src -= 32; -# OBSOLETE while (src < -32) src += 32; -# OBSOLETE if (src >= 0) -# OBSOLETE value = (signed32)rb >> src; -# OBSOLETE else if (src == -32) -# OBSOLETE value = 0; -# OBSOLETE else -# OBSOLETE value = rb << -src; -# OBSOLETE WRITE32_QUEUE (ra, value); -# OBSOLETE -# OBSOLETE _LOGIC,10000,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRA -# OBSOLETE "sra r, r, r" -# OBSOLETE do_sra(_SD, Ra, Rb, Rc); -# OBSOLETE _LOGIC,10000,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRA imm -# OBSOLETE "sra r, r, " -# OBSOLETE do_sra(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRAHp -# OBSOLETE -# OBSOLETE void::function::do_srah:unsigned32 *ra, unsigned32 rb, int src, int high -# OBSOLETE unsigned32 value; -# OBSOLETE while (src > 31) src -= 32; -# OBSOLETE while (src < -32) src += 32; -# OBSOLETE if (src >= 0) -# OBSOLETE value = (signed32)rb >> src; -# OBSOLETE else if (src == -32) -# OBSOLETE value = 0; -# OBSOLETE else -# OBSOLETE value = rb << -src; -# OBSOLETE if (high) -# OBSOLETE WRITE32_QUEUE_MASK (ra, value << 16, 0xffff0000); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE_MASK (ra, value, 0x0000ffff); -# OBSOLETE -# OBSOLETE _LOGIC,0010,p,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRAHP -# OBSOLETE "srah%s

r, r, r" -# OBSOLETE do_srah(_SD, Ra, Rb, Rc, p); -# OBSOLETE _LOGIC,0010,p,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRAHP imm -# OBSOLETE "srah%s

r, r, " -# OBSOLETE do_srah(_SD, Ra, Rb, imm, p); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRA2H -# OBSOLETE -# OBSOLETE _LOGIC,10001,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRA2H -# OBSOLETE "sra2h r, r, r" -# OBSOLETE signed32 srcH = RcH; -# OBSOLETE signed32 srcL = RcL; -# OBSOLETE while (srcH > 15) srcH -= 16; -# OBSOLETE while (srcH < -16) srcH += 16; -# OBSOLETE while (srcL > 15) srcL -= 16; -# OBSOLETE while (srcL < -16) srcL += 16; -# OBSOLETE do_srah(_SD, Ra, RbH, srcH, 1); -# OBSOLETE do_srah(_SD, Ra, RbL, srcL, 0); -# OBSOLETE _LOGIC,10001,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRA2H imm -# OBSOLETE "sra2h r, r, " -# OBSOLETE signed32 src = imm; -# OBSOLETE while (src > 15) src -= 16; -# OBSOLETE while (src < -16) src += 16; -# OBSOLETE do_srah(_SD, Ra, RbH, src, 1); -# OBSOLETE do_srah(_SD, Ra, RbL, src, 0); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRC -# OBSOLETE -# OBSOLETE void::function::do_src:unsigned32 *ra, unsigned32 rb, int src -# OBSOLETE unsigned32 value; -# OBSOLETE unsigned64 operand; -# OBSOLETE unsigned64 shifted; -# OBSOLETE while (src > 31) src -= 32; -# OBSOLETE while (src < -32) src += 32; -# OBSOLETE if (src >= 0) -# OBSOLETE { -# OBSOLETE operand = (INSERTED64(rb, 0, 31) | INSERTED64(*ra, 32, 63)); -# OBSOLETE shifted = operand >> src; -# OBSOLETE value = EXTRACTED64(shifted, 32, 63); -# OBSOLETE } -# OBSOLETE else -# OBSOLETE { -# OBSOLETE operand = (INSERTED64(*ra, 0, 31) | INSERTED64(rb, 32, 63)); -# OBSOLETE shifted = operand << -src; -# OBSOLETE value = EXTRACTED64(shifted, 0, 31); -# OBSOLETE } -# OBSOLETE WRITE32_QUEUE (ra, value); -# OBSOLETE -# OBSOLETE _LOGIC,10110,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRC -# OBSOLETE "src r, r, r" -# OBSOLETE do_src(_SD, Ra, Rb, Rc); -# OBSOLETE _LOGIC,10110,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRC imm -# OBSOLETE "src r, r, " -# OBSOLETE do_src(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRL -# OBSOLETE -# OBSOLETE void::function::do_srl:unsigned32 *ra, unsigned32 rb, int src -# OBSOLETE unsigned32 value; -# OBSOLETE while (src > 31) src -= 32; -# OBSOLETE while (src < -32) src += 32; -# OBSOLETE if (src >= 0) -# OBSOLETE value = (unsigned32)rb >> src; -# OBSOLETE else if (src == -32) -# OBSOLETE value = 0; -# OBSOLETE else -# OBSOLETE value = (unsigned32)rb << -src; -# OBSOLETE WRITE32_QUEUE (ra, value); -# OBSOLETE -# OBSOLETE _LOGIC,10010,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRL -# OBSOLETE "srl r, r, r" -# OBSOLETE do_srl(_SD, Ra, Rb, Rc); -# OBSOLETE _LOGIC,10010,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRL imm -# OBSOLETE "srl r, r, " -# OBSOLETE do_srl(_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRLHp -# OBSOLETE -# OBSOLETE void::function::do_srlh:unsigned32 *ra, unsigned32 rb, int src, int high -# OBSOLETE unsigned32 value; -# OBSOLETE while (src > 31) src -= 32; -# OBSOLETE while (src < -32) src += 32; -# OBSOLETE if (src >= 0) -# OBSOLETE value = rb >> src; -# OBSOLETE else if (src == -32) -# OBSOLETE value = 0; -# OBSOLETE else -# OBSOLETE value = rb << -src; -# OBSOLETE if (high) -# OBSOLETE WRITE32_QUEUE_MASK (ra, value << 16, 0xffff0000); -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE_MASK (ra, value, 0x0000ffff); -# OBSOLETE -# OBSOLETE _LOGIC,0011,p,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRLHP -# OBSOLETE "srlh%s

r, r, r" -# OBSOLETE do_srlh(_SD, Ra, Rb, Rc, p); -# OBSOLETE _LOGIC,0011,p,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRLHP imm -# OBSOLETE "srlh%s

r, r, " -# OBSOLETE do_srlh(_SD, Ra, Rb, imm, p); -# OBSOLETE -# OBSOLETE -# OBSOLETE // SRL2H -# OBSOLETE -# OBSOLETE _LOGIC,10011,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:SRL2H -# OBSOLETE "srl2h r, r, r" -# OBSOLETE signed32 srcH = RcH; -# OBSOLETE signed32 srcL = RcL; -# OBSOLETE while (srcH > 15) srcH -= 16; -# OBSOLETE while (srcH < -16) srcH += 16; -# OBSOLETE while (srcL > 15) srcL -= 16; -# OBSOLETE while (srcL < -16) srcL += 16; -# OBSOLETE do_srlh(_SD, Ra, RbHU, srcH, 1); -# OBSOLETE do_srlh(_SD, Ra, RbLU, srcL, 0); -# OBSOLETE _LOGIC,10011,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:SRL2H imm -# OBSOLETE "srl2h r, r, " -# OBSOLETE signed32 src = imm; -# OBSOLETE while (src > 15) src -= 16; -# OBSOLETE while (src < -16) src += 16; -# OBSOLETE do_srlh(_SD, Ra, RbHU, src, 1); -# OBSOLETE do_srlh(_SD, Ra, RbLU, src, 0); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ST2H -# OBSOLETE -# OBSOLETE void::function::get_even_reg:int *reg, unsigned32 *r0, const char *name -# OBSOLETE if (*reg & 1) -# OBSOLETE sim_engine_abort (SD, CPU, cia, -# OBSOLETE "0x%lx:%s odd register (r%d) used in multi-word store", -# OBSOLETE (long) cia, name, *reg); -# OBSOLETE if (*reg == 0) -# OBSOLETE *r0 = 0; -# OBSOLETE else -# OBSOLETE *r0 = GPR[*reg]; -# OBSOLETE -# OBSOLETE void::function::do_st2h:int ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned32 val_ra; -# OBSOLETE unsigned32 mem; -# OBSOLETE get_even_reg(_SD, &ra, &val_ra, "ST2H"); -# OBSOLETE mem = INSERTED32(val_ra, 0, 15) | -# OBSOLETE INSERTED32(GPR[ra + 1], 16, 31); -# OBSOLETE STORE(rb + src, 4, mem); -# OBSOLETE -# OBSOLETE _IMEM,10011,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:ST2H -# OBSOLETE "st2h r, @(r, )":XX == 0 -# OBSOLETE "st2h r, @(r%s, r)" -# OBSOLETE do_st2h(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,10011,10,6.RA,6.RB,_IMM32:IMEM:long:mu:ST2H long -# OBSOLETE "st2h r, @(r, )" -# OBSOLETE do_st2h(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ST2W -# OBSOLETE -# OBSOLETE void::function::do_st2w:int ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned32 val_ra; -# OBSOLETE unsigned64 mem; -# OBSOLETE get_even_reg(_SD, &ra, &val_ra, "ST2W"); -# OBSOLETE mem = INSERTED64(val_ra, 0, 31) | INSERTED64(GPR[ra + 1], 32, 63); -# OBSOLETE STORE(rb + src, 8, mem); -# OBSOLETE -# OBSOLETE _IMEM,10110,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:ST2W -# OBSOLETE "st2w r, @(r, )":XX == 0 -# OBSOLETE "st2w r, @(r%s, r)" -# OBSOLETE do_st2w(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 8); -# OBSOLETE _IMEM,10110,10,6.RA,6.RB,_IMM32:IMEM:long:mu:ST2W long -# OBSOLETE "st2w r, @(r, )" -# OBSOLETE do_st2w(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // ST4HB -# OBSOLETE -# OBSOLETE void::function::do_st4hb:int ra, unsigned32 rb, unsigned32 src -# OBSOLETE unsigned32 val_ra; -# OBSOLETE unsigned32 mem; -# OBSOLETE get_even_reg(_SD, &ra, &val_ra, "ST4HB"); -# OBSOLETE mem = INSERTED32(EXTRACTED32(val_ra, 8, 15), 0, 7) | -# OBSOLETE INSERTED32(EXTRACTED32(val_ra, 24, 31), 8, 15) | -# OBSOLETE INSERTED32(EXTRACTED32(GPR[ra + 1], 8, 15), 16, 23) | -# OBSOLETE INSERTED32(EXTRACTED32(GPR[ra + 1], 24, 31), 24, 31); -# OBSOLETE STORE(rb + src, 4, mem); -# OBSOLETE -# OBSOLETE _IMEM,10101,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:ST4HB -# OBSOLETE "st4hb r, @(r, )":XX == 0 -# OBSOLETE "st4hb r, @(r%s, r)" -# OBSOLETE do_st4hb(_SD, RA, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,10101,10,6.RA,6.RB,_IMM32:IMEM:long:mu:ST4HB long -# OBSOLETE "st4hb r, @(r, )" -# OBSOLETE do_st4hb(_SD, RA, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // STB -# OBSOLETE -# OBSOLETE void::function::do_stb:unsigned32 ra, unsigned32 rb, unsigned32 src -# OBSOLETE STORE(rb + src, 1, EXTRACTED32(ra, 24, 31)); -# OBSOLETE -# OBSOLETE _IMEM,10000,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:STB -# OBSOLETE "stb r, @(r, )":XX == 0 -# OBSOLETE "stb r, @(r%s, r)" -# OBSOLETE do_stb(_SD, val_Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 1); -# OBSOLETE _IMEM,10000,10,6.RA,6.RB,_IMM32:IMEM:long:mu:STB long -# OBSOLETE "stb r, @(r, )" -# OBSOLETE do_stb(_SD, val_Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // STH -# OBSOLETE -# OBSOLETE void::function::do_sth:unsigned32 ra, unsigned32 rb, unsigned32 src -# OBSOLETE STORE(rb + src, 2, EXTRACTED32(ra, 16, 31)); -# OBSOLETE -# OBSOLETE _IMEM,10010,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:STH -# OBSOLETE "sth r, @(r, )":XX == 0 -# OBSOLETE "sth r, @(r%s, r)" -# OBSOLETE do_sth(_SD, val_Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 2); -# OBSOLETE _IMEM,10010,10,6.RA,6.RB,_IMM32:IMEM:long:mu:STH long -# OBSOLETE "sth r, @(r, )" -# OBSOLETE do_sth(_SD, val_Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // STHH -# OBSOLETE -# OBSOLETE void::function::do_sthh:unsigned32 ra, unsigned32 rb, unsigned32 src -# OBSOLETE STORE(rb + src, 2, EXTRACTED32(ra, 0, 15)); -# OBSOLETE -# OBSOLETE _IMEM,10001,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:STHH -# OBSOLETE "sthh r, @(r, )":XX == 0 -# OBSOLETE "sthh r, @(r%s, r)" -# OBSOLETE do_sthh(_SD, val_Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 2); -# OBSOLETE _IMEM,10001,10,6.RA,6.RB,_IMM32:IMEM:long:mu:STHH long -# OBSOLETE "sthh r, @(r, )" -# OBSOLETE do_sthh(_SD, val_Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // STW -# OBSOLETE -# OBSOLETE void::function::do_stw:unsigned32 ra, unsigned32 rb, unsigned32 src -# OBSOLETE STORE(rb + src, 4, ra); -# OBSOLETE -# OBSOLETE _IMEM,10100,XX,6.RA,6.RB,6.SRC_6:IMEM:short:mu:STW -# OBSOLETE "stw r, @(r, )":XX == 0 -# OBSOLETE "stw r, @(r%s, r)" -# OBSOLETE do_stw(_SD, val_Ra, Rb, src); -# OBSOLETE do_incr(_SD, XX, &GPR[RB], 4); -# OBSOLETE _IMEM,10100,10,6.RA,6.RB,_IMM32:IMEM:long:mu:STW long -# OBSOLETE "stw r, @(r, )" -# OBSOLETE do_stw(_SD, val_Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SUB -# OBSOLETE -# OBSOLETE void::function::do_sub:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE ALU_BEGIN(rb); -# OBSOLETE ALU_SUBB(imm); -# OBSOLETE ALU_END(ra); -# OBSOLETE -# OBSOLETE _IALU1,00010,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:SUB -# OBSOLETE "sub r, r, r" -# OBSOLETE do_sub (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00010,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:SUB imm -# OBSOLETE "sub r, r, " -# OBSOLETE do_sub (_SD, Ra, Rb, imm); -# OBSOLETE _IALU1,00010,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:SUB imm long -# OBSOLETE "sub r, r, " -# OBSOLETE do_sub (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SUB2H -# OBSOLETE -# OBSOLETE void::function::do_sub2h:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE unsigned16 high = VH2_4(rb) - VH2_4(imm); -# OBSOLETE unsigned16 low = VL2_4(rb) - VL2_4(imm); -# OBSOLETE WRITE32_QUEUE (ra, (high << 16) | low); -# OBSOLETE -# OBSOLETE _IALU1,00011,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:SUB2H -# OBSOLETE "sub2h r, r, r" -# OBSOLETE do_sub2h (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00011,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:SUB2H imm -# OBSOLETE "sub2h r, r, " -# OBSOLETE do_sub2h (_SD, Ra, Rb, immHL); -# OBSOLETE _IALU1,00011,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:SUB2H imm long -# OBSOLETE "sub2h r, r, " -# OBSOLETE do_sub2h (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SUBB -# OBSOLETE -# OBSOLETE void::function::do_subb:unsigned32 *ra, unsigned32 rb, unsigned32 imm -# OBSOLETE ALU_BEGIN(rb); -# OBSOLETE ALU_SUBB_B(imm, ALU_CARRY); -# OBSOLETE ALU_END(ra); -# OBSOLETE -# OBSOLETE _IALU1,00101,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:SUBB -# OBSOLETE "subb r, r, r" -# OBSOLETE do_subb (_SD, Ra, Rb, Rc); -# OBSOLETE _IALU1,00101,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:SUBB imm -# OBSOLETE "subb r, r, " -# OBSOLETE do_subb (_SD, Ra, Rb, imm); -# OBSOLETE _IALU1,00101,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:SUBB imm long -# OBSOLETE "subb r, r, " -# OBSOLETE do_subb (_SD, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // SUBHppp -# OBSOLETE -# OBSOLETE void::function::do_subh_ppp:int ppp, unsigned32 *ra, unsigned32 rb, unsigned32 src -# OBSOLETE switch (ppp) { -# OBSOLETE case 0x0: /* LLL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_SUBB(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x1: /* LLH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_SUBB(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x2: /* LHL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_SUBB(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x3: /* LHH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_SUBB(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 0); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x4: /* HLL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_SUBB(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x5: /* HLH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VL2_4(rb)); -# OBSOLETE ALU16_SUBB(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x6: /* HHL */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_SUBB(VL2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE case 0x7: /* HHH */ -# OBSOLETE { -# OBSOLETE ALU16_BEGIN(VH2_4(rb)); -# OBSOLETE ALU16_SUBB(VH2_4(src)); -# OBSOLETE ALU16_END(ra, 1); -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE default: -# OBSOLETE sim_engine_abort (SD, CPU, cia, "do_subh_ppp - internal error - bad switch"); -# OBSOLETE } -# OBSOLETE -# OBSOLETE _IALU1,11,ppp,00,6.RA,6.RB,6.RC:IALU1:short:iu,mu:SUBHppp -# OBSOLETE "subh%s r, r, r" -# OBSOLETE do_subh_ppp(_SD, ppp, Ra, Rb, Rc); -# OBSOLETE _IALU1,11,ppp,10,6.RA,6.RB,_IMM6:IALU1:short:iu,mu:SUBHppp imm -# OBSOLETE "subh%s r, r, " -# OBSOLETE do_subh_ppp(_SD, ppp, Ra, Rb, immHL); -# OBSOLETE _IALU1,11,ppp,10,6.RA,6.RB,_IMM32:IALU1:long:iu,mu:SUBHppp imm long -# OBSOLETE "subh%s r, r, " -# OBSOLETE do_subh_ppp(_SD, ppp, Ra, Rb, imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // TRAP -# OBSOLETE -# OBSOLETE address_word::function::do_trap:address_word trap_vector, address_word nia -# OBSOLETE /* Steal trap 31 for doing system calls */ -# OBSOLETE /* System calls are defined in libgloss/d30v/syscall.h. */ -# OBSOLETE if (trap_vector == EIT_VB + 0x20 + (31 << 3)) -# OBSOLETE { -# OBSOLETE enum { PARM1 = 2, PARM2, PARM3, PARM4, FUNC }; -# OBSOLETE if (GPR[FUNC] == 1) /* exit */ -# OBSOLETE { -# OBSOLETE sim_engine_halt (sd, STATE_CPU (sd, 0), NULL, cia, sim_exited, -# OBSOLETE GPR[PARM1]); -# OBSOLETE return -1; /* dummy */ -# OBSOLETE } -# OBSOLETE else -# OBSOLETE { -# OBSOLETE CB_SYSCALL syscall; -# OBSOLETE -# OBSOLETE CB_SYSCALL_INIT (&syscall); -# OBSOLETE syscall.arg1 = GPR[PARM1]; -# OBSOLETE syscall.arg2 = GPR[PARM2]; -# OBSOLETE syscall.arg3 = GPR[PARM3]; -# OBSOLETE syscall.arg4 = GPR[PARM4]; -# OBSOLETE syscall.func = GPR[FUNC]; -# OBSOLETE syscall.p1 = (PTR) SD; -# OBSOLETE syscall.read_mem = d30v_read_mem; -# OBSOLETE syscall.write_mem = d30v_write_mem; -# OBSOLETE -# OBSOLETE WRITE32_QUEUE (&GPR[PARM1], -# OBSOLETE ((cb_syscall (STATE_CALLBACK (SD), &syscall) -# OBSOLETE == CB_RC_OK) -# OBSOLETE ? syscall.result -# OBSOLETE : -syscall.errcode)); -# OBSOLETE return nia; -# OBSOLETE } -# OBSOLETE } -# OBSOLETE else if (TRACE_TRAP_P) -# OBSOLETE { -# OBSOLETE int reg, i; -# OBSOLETE sim_io_eprintf (sd, "\nTrap %ld:\n", (long) ((trap_vector - (EIT_VB + 0x20)) >> 3)); -# OBSOLETE for (reg = 0; reg < NR_GENERAL_PURPOSE_REGISTERS; reg += 8) -# OBSOLETE { -# OBSOLETE sim_io_eprintf (sd, "r%.2d - r%.2d: ", reg, reg+7); -# OBSOLETE for (i = 0; i < 8; i++) -# OBSOLETE sim_io_eprintf (sd, " 0x%.8lx", (long) GPR[reg+i]); -# OBSOLETE sim_io_eprintf (sd, "\n"); -# OBSOLETE } -# OBSOLETE -# OBSOLETE for (reg = 0; reg < 16; reg += 8) -# OBSOLETE { -# OBSOLETE sim_io_eprintf (sd, "cr%.2d - cr%.2d:", reg, reg+7); -# OBSOLETE for (i = 0; i < 8; i++) -# OBSOLETE sim_io_eprintf (sd, " 0x%.8lx", (long) CREG[reg+i]); -# OBSOLETE sim_io_eprintf (sd, "\n"); -# OBSOLETE } -# OBSOLETE -# OBSOLETE sim_io_eprintf (sd, "a0 - a1: "); -# OBSOLETE for (reg = 0; reg < NR_ACCUMULATORS; reg++) -# OBSOLETE sim_io_eprintf (sd, " 0x%.8lx 0x%.8lx", -# OBSOLETE (long)EXTRACTED64(ACC[reg], 0, 31), -# OBSOLETE (long)EXTRACTED64(ACC[reg], 32, 63)); -# OBSOLETE sim_io_eprintf (sd, "\n"); -# OBSOLETE -# OBSOLETE sim_io_eprintf (sd, "f0 - f7: "); -# OBSOLETE sim_io_eprintf (sd, " (f0) %d", (int) PSW_VAL(PSW_F0)); -# OBSOLETE sim_io_eprintf (sd, " (f1) %d", (int) PSW_VAL(PSW_F1)); -# OBSOLETE sim_io_eprintf (sd, " (f2) %d", (int) PSW_VAL(PSW_F2)); -# OBSOLETE sim_io_eprintf (sd, " (f3) %d", (int) PSW_VAL(PSW_F3)); -# OBSOLETE sim_io_eprintf (sd, " (s) %d", (int) PSW_VAL(PSW_S)); -# OBSOLETE sim_io_eprintf (sd, " (v) %d", (int) PSW_VAL(PSW_V)); -# OBSOLETE sim_io_eprintf (sd, " (va) %d", (int) PSW_VAL(PSW_VA)); -# OBSOLETE sim_io_eprintf (sd, " (c) %d\n", (int) PSW_VAL(PSW_C)); -# OBSOLETE -# OBSOLETE sim_io_eprintf (sd, "pswh: "); -# OBSOLETE sim_io_eprintf (sd, " (sm) %d", (int) PSW_VAL(PSW_SM)); -# OBSOLETE sim_io_eprintf (sd, " (ea) %d", (int) PSW_VAL(PSW_EA)); -# OBSOLETE sim_io_eprintf (sd, " (ie) %d", (int) PSW_VAL(PSW_IE)); -# OBSOLETE sim_io_eprintf (sd, " (rp) %d", (int) PSW_VAL(PSW_RP)); -# OBSOLETE sim_io_eprintf (sd, " (md) %d", (int) PSW_VAL(PSW_MD)); -# OBSOLETE -# OBSOLETE if (PSW_VAL(PSW_DB)) -# OBSOLETE sim_io_eprintf (sd, " (db) %d", (int) PSW_VAL(PSW_DB)); -# OBSOLETE -# OBSOLETE if (PSW_VAL(PSW_DS)) -# OBSOLETE sim_io_eprintf (sd, " (ds) %d", (int) PSW_VAL(PSW_DS)); -# OBSOLETE -# OBSOLETE sim_io_eprintf (sd, "\n"); -# OBSOLETE return nia; -# OBSOLETE } -# OBSOLETE else -# OBSOLETE { -# OBSOLETE if(PSW_VAL(PSW_RP) && RPT_E == cia) -# OBSOLETE { -# OBSOLETE WRITE32_QUEUE (&bPC, RPT_S); -# OBSOLETE if (RPT_C == 0) -# OBSOLETE PSW_SET (PSW_RP, 0); -# OBSOLETE } -# OBSOLETE else -# OBSOLETE WRITE32_QUEUE (&bPC, cia + 8); -# OBSOLETE DID_TRAP = 1; -# OBSOLETE return trap_vector; -# OBSOLETE } -# OBSOLETE -# OBSOLETE _BRA,01001,00,6.**,6.**,6.RC:BRA:short:mu:TRAP -# OBSOLETE "trap r" -# OBSOLETE nia = do_trap (_SD, EIT_VB + 0x20 + MASKED32(Rc, 24, 28), nia); -# OBSOLETE _BRA,01001,10,6.**,6.**,_IMM6:BRA:short:mu:TRAP imm -# OBSOLETE "trap " -# OBSOLETE nia = do_trap (_SD, EIT_VB + 0x20 + (imm_5 << 3), nia); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // XOR -# OBSOLETE -# OBSOLETE _LOGIC,11011,00,6.RA,6.RB,6.RC:LOGIC:short:iu,mu:XOR -# OBSOLETE "xor r, r, r" -# OBSOLETE WRITE32_QUEUE (Ra, Rb ^ Rc); -# OBSOLETE _LOGIC,11011,10,6.RA,6.RB,_IMM6:LOGIC:short:iu,mu:XOR imm -# OBSOLETE "xor r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb ^ imm); -# OBSOLETE _LOGIC,11011,10,6.RA,6.RB,_IMM32:LOGIC:long:iu,mu:XOR imm long -# OBSOLETE "xor r, r, " -# OBSOLETE WRITE32_QUEUE (Ra, Rb ^ imm); -# OBSOLETE -# OBSOLETE -# OBSOLETE -# OBSOLETE // XORFG -# OBSOLETE -# OBSOLETE _LOGIC,01011,00,***,3.FA,***,3.FB,***,3.FC:LOGIC:short:iu,mu:XORFG -# OBSOLETE "xorfg f, f, f" -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, PSW_FLAG_VAL(FB) ^ PSW_FLAG_VAL(FC)); -# OBSOLETE _LOGIC,01011,10,***,3.FA,***,3.FB,_IMM6:LOGIC:short:iu,mu:XORFG imm -# OBSOLETE "xorfg f, f, " -# OBSOLETE PSW_FLAG_SET_QUEUE(FA, PSW_FLAG_VAL(FB) ^ (imm_6 & 1)); diff --git a/sim/d30v/dc-short b/sim/d30v/dc-short deleted file mode 100644 index 95887ec4a07..00000000000 --- a/sim/d30v/dc-short +++ /dev/null @@ -1,22 +0,0 @@ -# OBSOLETE // -# OBSOLETE // Mitsubishi Electric Corp. D30V Simulator. -# OBSOLETE // Copyright (C) 1997, Free Software Foundation, Inc. -# OBSOLETE // Contributed by Cygnus Solutions Inc. -# OBSOLETE // -# OBSOLETE // This file is part of GDB, the GNU debugger. -# OBSOLETE // -# OBSOLETE // This program is free software; you can redistribute it and/or modify -# OBSOLETE // it under the terms of the GNU General Public License as published by -# OBSOLETE // the Free Software Foundation; either version 2 of the License, or -# OBSOLETE // (at your option) any later version. -# OBSOLETE // -# OBSOLETE // This program is distributed in the hope that it will be useful, -# OBSOLETE // but WITHOUT ANY WARRANTY; without even the implied warranty of -# OBSOLETE // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# OBSOLETE // GNU General Public License for more details. -# OBSOLETE // -# OBSOLETE // You should have received a copy of the GNU General Public License -# OBSOLETE // along with this program; if not, write to the Free Software -# OBSOLETE // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# OBSOLETE // -# OBSOLETE switch: 4: 13: 4: 13 diff --git a/sim/d30v/engine.c b/sim/d30v/engine.c deleted file mode 100644 index 0f4a02519f4..00000000000 --- a/sim/d30v/engine.c +++ /dev/null @@ -1,496 +0,0 @@ -/* OBSOLETE /* This file is part of the program psim. */ -/* OBSOLETE */ -/* OBSOLETE Copyright (C) 1994-1997, Andrew Cagney */ -/* OBSOLETE Copyright (C) 1996, 1997, Free Software Foundation */ -/* OBSOLETE */ -/* OBSOLETE This program is free software; you can redistribute it and/or modify */ -/* OBSOLETE it under the terms of the GNU General Public License as published by */ -/* OBSOLETE the Free Software Foundation; either version 2 of the License, or */ -/* OBSOLETE (at your option) any later version. */ -/* OBSOLETE */ -/* OBSOLETE This program is distributed in the hope that it will be useful, */ -/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* OBSOLETE GNU General Public License for more details. */ -/* OBSOLETE */ -/* OBSOLETE You should have received a copy of the GNU General Public License */ -/* OBSOLETE along with this program; if not, write to the Free Software */ -/* OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* OBSOLETE */ -/* OBSOLETE */ */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #ifndef ENGINE_C */ -/* OBSOLETE #define ENGINE_C */ -/* OBSOLETE */ -/* OBSOLETE #include "sim-main.h" */ -/* OBSOLETE */ -/* OBSOLETE #include */ -/* OBSOLETE #include */ -/* OBSOLETE */ -/* OBSOLETE #ifdef HAVE_STDLIB_H */ -/* OBSOLETE #include */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE #ifdef HAVE_STRING_H */ -/* OBSOLETE #include */ -/* OBSOLETE #else */ -/* OBSOLETE #ifdef HAVE_STRINGS_H */ -/* OBSOLETE #include */ -/* OBSOLETE #endif */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE static void */ -/* OBSOLETE do_stack_swap (SIM_DESC sd) */ -/* OBSOLETE { */ -/* OBSOLETE sim_cpu *cpu = STATE_CPU (sd, 0); */ -/* OBSOLETE unsigned new_sp = (PSW_VAL(PSW_SM) != 0); */ -/* OBSOLETE if (cpu->regs.current_sp != new_sp) */ -/* OBSOLETE { */ -/* OBSOLETE cpu->regs.sp[cpu->regs.current_sp] = SP; */ -/* OBSOLETE cpu->regs.current_sp = new_sp; */ -/* OBSOLETE SP = cpu->regs.sp[cpu->regs.current_sp]; */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE #if WITH_TRACE */ -/* OBSOLETE /* Implement ALU tracing of 32-bit registers. */ */ -/* OBSOLETE static void */ -/* OBSOLETE trace_alu32 (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE unsigned32 *ptr) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned32 value = *ptr; */ -/* OBSOLETE */ -/* OBSOLETE if (ptr >= &GPR[0] && ptr <= &GPR[NR_GENERAL_PURPOSE_REGISTERS]) */ -/* OBSOLETE trace_one_insn (sd, cpu, cia, 1, "engine.c", __LINE__, "alu", */ -/* OBSOLETE "Set register r%-2d = 0x%.8lx (%ld)", */ -/* OBSOLETE ptr - &GPR[0], (long)value, (long)value); */ -/* OBSOLETE */ -/* OBSOLETE else if (ptr == &PSW || ptr == &bPSW || ptr == &DPSW) */ -/* OBSOLETE trace_one_insn (sd, cpu, cia, 1, "engine.c", __LINE__, "alu", */ -/* OBSOLETE "Set register %s = 0x%.8lx%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", */ -/* OBSOLETE (ptr == &PSW) ? "psw" : ((ptr == &bPSW) ? "bpsw" : "dpsw"), */ -/* OBSOLETE (long)value, */ -/* OBSOLETE (value & (0x80000000 >> PSW_SM)) ? ", sm" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_EA)) ? ", ea" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_DB)) ? ", db" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_DS)) ? ", ds" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_IE)) ? ", ie" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_RP)) ? ", rp" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_MD)) ? ", md" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_F0)) ? ", f0" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_F1)) ? ", f1" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_F2)) ? ", f2" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_F3)) ? ", f3" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_S)) ? ", s" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_V)) ? ", v" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_VA)) ? ", va" : "", */ -/* OBSOLETE (value & (0x80000000 >> PSW_C)) ? ", c" : ""); */ -/* OBSOLETE */ -/* OBSOLETE else if (ptr >= &CREG[0] && ptr <= &CREG[NR_CONTROL_REGISTERS]) */ -/* OBSOLETE trace_one_insn (sd, cpu, cia, 1, "engine.c", __LINE__, "alu", */ -/* OBSOLETE "Set register cr%d = 0x%.8lx (%ld)", */ -/* OBSOLETE ptr - &CREG[0], (long)value, (long)value); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* Implement ALU tracing of 32-bit registers. */ */ -/* OBSOLETE static void */ -/* OBSOLETE trace_alu64 (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia, */ -/* OBSOLETE unsigned64 *ptr) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned64 value = *ptr; */ -/* OBSOLETE */ -/* OBSOLETE if (ptr >= &ACC[0] && ptr <= &ACC[NR_ACCUMULATORS]) */ -/* OBSOLETE trace_one_insn (sd, cpu, cia, 1, "engine.c", __LINE__, "alu", */ -/* OBSOLETE "Set register a%-2d = 0x%.8lx 0x%.8lx", */ -/* OBSOLETE ptr - &ACC[0], */ -/* OBSOLETE (unsigned long)(unsigned32)(value >> 32), */ -/* OBSOLETE (unsigned long)(unsigned32)value); */ -/* OBSOLETE */ -/* OBSOLETE } */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE /* Process all of the queued up writes in order now */ */ -/* OBSOLETE void */ -/* OBSOLETE unqueue_writes (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE address_word cia) */ -/* OBSOLETE { */ -/* OBSOLETE int i, num; */ -/* OBSOLETE int did_psw = 0; */ -/* OBSOLETE unsigned32 *psw_addr = &PSW; */ -/* OBSOLETE */ -/* OBSOLETE num = WRITE32_NUM; */ -/* OBSOLETE for (i = 0; i < num; i++) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned32 mask = WRITE32_MASK (i); */ -/* OBSOLETE unsigned32 *ptr = WRITE32_PTR (i); */ -/* OBSOLETE unsigned32 value = (*ptr & ~mask) | (WRITE32_VALUE (i) & mask); */ -/* OBSOLETE int j; */ -/* OBSOLETE */ -/* OBSOLETE if (ptr == psw_addr) */ -/* OBSOLETE { */ -/* OBSOLETE /* If MU instruction was not a MVTSYS, resolve PSW */ -/* OBSOLETE contention in favour of IU. */ */ -/* OBSOLETE if(! STATE_CPU (sd, 0)->mvtsys_left_p) */ -/* OBSOLETE { */ -/* OBSOLETE /* Detect contention in parallel writes to the same PSW flags. */ -/* OBSOLETE The hardware allows the updates from IU to prevail over */ -/* OBSOLETE those from MU. */ */ -/* OBSOLETE */ -/* OBSOLETE unsigned32 flag_bits = */ -/* OBSOLETE BIT32 (PSW_F0) | BIT32 (PSW_F1) | */ -/* OBSOLETE BIT32 (PSW_F2) | BIT32 (PSW_F3) | */ -/* OBSOLETE BIT32 (PSW_S) | BIT32 (PSW_V) | */ -/* OBSOLETE BIT32 (PSW_VA) | BIT32 (PSW_C); */ -/* OBSOLETE unsigned32 my_flag_bits = mask & flag_bits; */ -/* OBSOLETE */ -/* OBSOLETE for (j = i + 1; j < num; j++) */ -/* OBSOLETE if (WRITE32_PTR (j) == psw_addr && /* write to PSW */ */ -/* OBSOLETE WRITE32_MASK (j) & my_flag_bits) /* some of the same flags */ */ -/* OBSOLETE { */ -/* OBSOLETE /* Recompute local mask & value, to suppress this */ -/* OBSOLETE earlier write to the same flag bits. */ */ -/* OBSOLETE */ -/* OBSOLETE unsigned32 new_mask = mask & ~(WRITE32_MASK (j) & my_flag_bits); */ -/* OBSOLETE */ -/* OBSOLETE /* There is a special case for the VA (accumulated */ -/* OBSOLETE overflow) flag, in that it is only included in the */ -/* OBSOLETE second instruction's mask if the overflow */ -/* OBSOLETE occurred. Yet the hardware still suppresses the */ -/* OBSOLETE first instruction's update to VA. So we kludge */ -/* OBSOLETE this by inferring PSW_V -> PSW_VA for the second */ -/* OBSOLETE instruction. */ */ -/* OBSOLETE */ -/* OBSOLETE if (WRITE32_MASK (j) & BIT32 (PSW_V)) */ -/* OBSOLETE { */ -/* OBSOLETE new_mask &= ~BIT32 (PSW_VA); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE value = (*ptr & ~new_mask) | (WRITE32_VALUE (i) & new_mask); */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE did_psw = 1; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE *ptr = value; */ -/* OBSOLETE */ -/* OBSOLETE #if WITH_TRACE */ -/* OBSOLETE if (TRACE_ALU_P (cpu)) */ -/* OBSOLETE trace_alu32 (sd, cpu, cia, ptr); */ -/* OBSOLETE #endif */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE num = WRITE64_NUM; */ -/* OBSOLETE for (i = 0; i < num; i++) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned64 *ptr = WRITE64_PTR (i); */ -/* OBSOLETE *ptr = WRITE64_VALUE (i); */ -/* OBSOLETE */ -/* OBSOLETE #if WITH_TRACE */ -/* OBSOLETE if (TRACE_ALU_P (cpu)) */ -/* OBSOLETE trace_alu64 (sd, cpu, cia, ptr); */ -/* OBSOLETE #endif */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE WRITE32_NUM = 0; */ -/* OBSOLETE WRITE64_NUM = 0; */ -/* OBSOLETE */ -/* OBSOLETE if (DID_TRAP == 1) /* ordinary trap */ */ -/* OBSOLETE { */ -/* OBSOLETE bPSW = PSW; */ -/* OBSOLETE PSW &= (BIT32 (PSW_DB) | BIT32 (PSW_SM)); */ -/* OBSOLETE did_psw = 1; */ -/* OBSOLETE } */ -/* OBSOLETE else if (DID_TRAP == 2) /* debug trap */ */ -/* OBSOLETE { */ -/* OBSOLETE DPSW = PSW; */ -/* OBSOLETE PSW &= BIT32 (PSW_DS); */ -/* OBSOLETE PSW |= BIT32 (PSW_DS); */ -/* OBSOLETE did_psw = 1; */ -/* OBSOLETE } */ -/* OBSOLETE DID_TRAP = 0; */ -/* OBSOLETE */ -/* OBSOLETE if (did_psw) */ -/* OBSOLETE do_stack_swap (sd); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE /* SIMULATE INSTRUCTIONS, various different ways of achieving the same */ -/* OBSOLETE thing */ */ -/* OBSOLETE */ -/* OBSOLETE static address_word */ -/* OBSOLETE do_long (SIM_DESC sd, */ -/* OBSOLETE l_instruction_word instruction, */ -/* OBSOLETE address_word cia) */ -/* OBSOLETE { */ -/* OBSOLETE address_word nia = l_idecode_issue(sd, */ -/* OBSOLETE instruction, */ -/* OBSOLETE cia); */ -/* OBSOLETE */ -/* OBSOLETE unqueue_writes (sd, STATE_CPU (sd, 0), cia); */ -/* OBSOLETE return nia; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE static address_word */ -/* OBSOLETE do_2_short (SIM_DESC sd, */ -/* OBSOLETE s_instruction_word insn1, */ -/* OBSOLETE s_instruction_word insn2, */ -/* OBSOLETE cpu_units unit, */ -/* OBSOLETE address_word cia) */ -/* OBSOLETE { */ -/* OBSOLETE address_word nia; */ -/* OBSOLETE */ -/* OBSOLETE /* run the first instruction */ */ -/* OBSOLETE STATE_CPU (sd, 0)->unit = unit; */ -/* OBSOLETE STATE_CPU (sd, 0)->left_kills_right_p = 0; */ -/* OBSOLETE STATE_CPU (sd, 0)->mvtsys_left_p = 0; */ -/* OBSOLETE nia = s_idecode_issue(sd, */ -/* OBSOLETE insn1, */ -/* OBSOLETE cia); */ -/* OBSOLETE */ -/* OBSOLETE unqueue_writes (sd, STATE_CPU (sd, 0), cia); */ -/* OBSOLETE */ -/* OBSOLETE /* Only do the second instruction if the PC has not changed */ */ -/* OBSOLETE if ((nia == INVALID_INSTRUCTION_ADDRESS) && */ -/* OBSOLETE (! STATE_CPU (sd, 0)->left_kills_right_p)) { */ -/* OBSOLETE STATE_CPU (sd, 0)->unit = any_unit; */ -/* OBSOLETE nia = s_idecode_issue (sd, */ -/* OBSOLETE insn2, */ -/* OBSOLETE cia); */ -/* OBSOLETE */ -/* OBSOLETE unqueue_writes (sd, STATE_CPU (sd, 0), cia); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE STATE_CPU (sd, 0)->left_kills_right_p = 0; */ -/* OBSOLETE STATE_CPU (sd, 0)->mvtsys_left_p = 0; */ -/* OBSOLETE return nia; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE static address_word */ -/* OBSOLETE do_parallel (SIM_DESC sd, */ -/* OBSOLETE s_instruction_word left_insn, */ -/* OBSOLETE s_instruction_word right_insn, */ -/* OBSOLETE address_word cia) */ -/* OBSOLETE { */ -/* OBSOLETE address_word nia_left; */ -/* OBSOLETE address_word nia_right; */ -/* OBSOLETE address_word nia; */ -/* OBSOLETE */ -/* OBSOLETE /* run the first instruction */ */ -/* OBSOLETE STATE_CPU (sd, 0)->unit = memory_unit; */ -/* OBSOLETE STATE_CPU (sd, 0)->left_kills_right_p = 0; */ -/* OBSOLETE STATE_CPU (sd, 0)->mvtsys_left_p = 0; */ -/* OBSOLETE nia_left = s_idecode_issue(sd, */ -/* OBSOLETE left_insn, */ -/* OBSOLETE cia); */ -/* OBSOLETE */ -/* OBSOLETE /* run the second instruction */ */ -/* OBSOLETE STATE_CPU (sd, 0)->unit = integer_unit; */ -/* OBSOLETE nia_right = s_idecode_issue(sd, */ -/* OBSOLETE right_insn, */ -/* OBSOLETE cia); */ -/* OBSOLETE */ -/* OBSOLETE /* merge the PC's */ */ -/* OBSOLETE if (nia_left == INVALID_INSTRUCTION_ADDRESS) { */ -/* OBSOLETE if (nia_right == INVALID_INSTRUCTION_ADDRESS) */ -/* OBSOLETE nia = INVALID_INSTRUCTION_ADDRESS; */ -/* OBSOLETE else */ -/* OBSOLETE nia = nia_right; */ -/* OBSOLETE } */ -/* OBSOLETE else { */ -/* OBSOLETE if (nia_right == INVALID_INSTRUCTION_ADDRESS) */ -/* OBSOLETE nia = nia_left; */ -/* OBSOLETE else { */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, "parallel jumps"); */ -/* OBSOLETE nia = INVALID_INSTRUCTION_ADDRESS; */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE unqueue_writes (sd, STATE_CPU (sd, 0), cia); */ -/* OBSOLETE return nia; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE typedef enum { */ -/* OBSOLETE p_insn = 0, */ -/* OBSOLETE long_insn = 3, */ -/* OBSOLETE l_r_insn = 1, */ -/* OBSOLETE r_l_insn = 2, */ -/* OBSOLETE } instruction_types; */ -/* OBSOLETE */ -/* OBSOLETE STATIC_INLINE instruction_types */ -/* OBSOLETE instruction_type(l_instruction_word insn) */ -/* OBSOLETE { */ -/* OBSOLETE int fm0 = MASKED64(insn, 0, 0) != 0; */ -/* OBSOLETE int fm1 = MASKED64(insn, 32, 32) != 0; */ -/* OBSOLETE return ((fm0 << 1) | fm1); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE void */ -/* OBSOLETE sim_engine_run (SIM_DESC sd, */ -/* OBSOLETE int last_cpu_nr, */ -/* OBSOLETE int nr_cpus, */ -/* OBSOLETE int siggnal) */ -/* OBSOLETE { */ -/* OBSOLETE while (1) */ -/* OBSOLETE { */ -/* OBSOLETE address_word cia = PC; */ -/* OBSOLETE address_word nia; */ -/* OBSOLETE l_instruction_word insn = IMEM(cia); */ -/* OBSOLETE int rp_was_set; */ -/* OBSOLETE int rpt_c_was_nonzero; */ -/* OBSOLETE */ -/* OBSOLETE /* Before executing the instruction, we need to test whether or */ -/* OBSOLETE not RPT_C is greater than zero, and save that state for use */ -/* OBSOLETE after executing the instruction. In particular, we need to */ -/* OBSOLETE not care whether the instruction changes RPT_C itself. */ */ -/* OBSOLETE */ -/* OBSOLETE rpt_c_was_nonzero = (RPT_C > 0); */ -/* OBSOLETE */ -/* OBSOLETE /* Before executing the instruction, we need to check to see if */ -/* OBSOLETE we have to decrement RPT_C, the repeat count register. Do this */ -/* OBSOLETE if PC == RPT_E, but only if we are in an active repeat block. */ */ -/* OBSOLETE */ -/* OBSOLETE if (PC == RPT_E && */ -/* OBSOLETE (RPT_C > 0 || PSW_VAL (PSW_RP) != 0)) */ -/* OBSOLETE { */ -/* OBSOLETE RPT_C --; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* Now execute the instruction at PC */ */ -/* OBSOLETE */ -/* OBSOLETE switch (instruction_type (insn)) */ -/* OBSOLETE { */ -/* OBSOLETE case long_insn: */ -/* OBSOLETE nia = do_long (sd, insn, cia); */ -/* OBSOLETE break; */ -/* OBSOLETE case r_l_insn: */ -/* OBSOLETE /* L <- R */ */ -/* OBSOLETE nia = do_2_short (sd, insn, insn >> 32, integer_unit, cia); */ -/* OBSOLETE break; */ -/* OBSOLETE case l_r_insn: */ -/* OBSOLETE /* L -> R */ */ -/* OBSOLETE nia = do_2_short (sd, insn >> 32, insn, memory_unit, cia); */ -/* OBSOLETE break; */ -/* OBSOLETE case p_insn: */ -/* OBSOLETE nia = do_parallel (sd, insn >> 32, insn, cia); */ -/* OBSOLETE break; */ -/* OBSOLETE default: */ -/* OBSOLETE sim_engine_abort (sd, STATE_CPU (sd, 0), cia, */ -/* OBSOLETE "internal error - engine_run_until_stop - bad switch"); */ -/* OBSOLETE nia = -1; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE if (TRACE_ACTION) */ -/* OBSOLETE { */ -/* OBSOLETE if (TRACE_ACTION & TRACE_ACTION_CALL) */ -/* OBSOLETE call_occurred (sd, STATE_CPU (sd, 0), cia, nia); */ -/* OBSOLETE */ -/* OBSOLETE if (TRACE_ACTION & TRACE_ACTION_RETURN) */ -/* OBSOLETE return_occurred (sd, STATE_CPU (sd, 0), cia, nia); */ -/* OBSOLETE */ -/* OBSOLETE TRACE_ACTION = 0; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* Check now to see if we need to reset the RP bit in the PSW. */ -/* OBSOLETE There are three conditions for this, the RP bit is already */ -/* OBSOLETE set (just a speed optimization), the instruction we just */ -/* OBSOLETE executed is the last instruction in the loop, and the repeat */ -/* OBSOLETE count is currently zero. */ */ -/* OBSOLETE */ -/* OBSOLETE rp_was_set = PSW_VAL (PSW_RP); */ -/* OBSOLETE if (rp_was_set && (PC == RPT_E) && RPT_C == 0) */ -/* OBSOLETE { */ -/* OBSOLETE PSW_SET (PSW_RP, 0); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* Now update the PC. If we just executed a jump instruction, */ -/* OBSOLETE that takes precedence over everything else. Next comes */ -/* OBSOLETE branching back to RPT_S as a result of a loop. Finally, the */ -/* OBSOLETE default is to simply advance to the next inline */ -/* OBSOLETE instruction. */ */ -/* OBSOLETE */ -/* OBSOLETE if (nia != INVALID_INSTRUCTION_ADDRESS) */ -/* OBSOLETE { */ -/* OBSOLETE PC = nia; */ -/* OBSOLETE } */ -/* OBSOLETE else if (rp_was_set && rpt_c_was_nonzero && (PC == RPT_E)) */ -/* OBSOLETE { */ -/* OBSOLETE PC = RPT_S; */ -/* OBSOLETE } */ -/* OBSOLETE else */ -/* OBSOLETE { */ -/* OBSOLETE PC = cia + 8; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* Check for DDBT (debugger debug trap) condition. Do this after */ -/* OBSOLETE the repeat block checks so the excursion to the trap handler does */ -/* OBSOLETE not alter looping state. */ */ -/* OBSOLETE */ -/* OBSOLETE if (cia == IBA && PSW_VAL (PSW_DB)) */ -/* OBSOLETE { */ -/* OBSOLETE DPC = PC; */ -/* OBSOLETE PSW_SET (PSW_EA, 1); */ -/* OBSOLETE DPSW = PSW; */ -/* OBSOLETE /* clear all bits in PSW except SM */ */ -/* OBSOLETE PSW &= BIT32 (PSW_SM); */ -/* OBSOLETE /* add DS bit */ */ -/* OBSOLETE PSW |= BIT32 (PSW_DS); */ -/* OBSOLETE /* dispatch to DDBT handler */ */ -/* OBSOLETE PC = 0xfffff128; /* debugger_debug_trap_address */ */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* process any events */ */ -/* OBSOLETE /* FIXME - should L->R or L<-R insns count as two cycles? */ */ -/* OBSOLETE if (sim_events_tick (sd)) */ -/* OBSOLETE { */ -/* OBSOLETE sim_events_process (sd); */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE /* d30v external interrupt handler. */ -/* OBSOLETE */ -/* OBSOLETE Note: This should be replaced by a proper interrupt delivery */ -/* OBSOLETE mechanism. This interrupt mechanism discards later interrupts if */ -/* OBSOLETE an earlier interrupt hasn't been delivered. */ -/* OBSOLETE */ -/* OBSOLETE Note: This interrupt mechanism does not reset its self when the */ -/* OBSOLETE simulator is re-opened. */ */ -/* OBSOLETE */ -/* OBSOLETE void */ -/* OBSOLETE d30v_interrupt_event (SIM_DESC sd, */ -/* OBSOLETE void *data) */ -/* OBSOLETE { */ -/* OBSOLETE if (PSW_VAL (PSW_IE)) */ -/* OBSOLETE /* interrupts not masked */ */ -/* OBSOLETE { */ -/* OBSOLETE /* scrub any pending interrupt */ */ -/* OBSOLETE if (sd->pending_interrupt != NULL) */ -/* OBSOLETE sim_events_deschedule (sd, sd->pending_interrupt); */ -/* OBSOLETE /* deliver */ */ -/* OBSOLETE bPSW = PSW; */ -/* OBSOLETE bPC = PC; */ -/* OBSOLETE PSW = 0; */ -/* OBSOLETE PC = 0xfffff138; /* external interrupt */ */ -/* OBSOLETE do_stack_swap (sd); */ -/* OBSOLETE } */ -/* OBSOLETE else if (sd->pending_interrupt == NULL) */ -/* OBSOLETE /* interrupts masked and no interrupt pending */ */ -/* OBSOLETE { */ -/* OBSOLETE sd->pending_interrupt = sim_events_schedule (sd, 1, */ -/* OBSOLETE d30v_interrupt_event, */ -/* OBSOLETE data); */ -/* OBSOLETE } */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE #endif */ diff --git a/sim/d30v/ic-d30v b/sim/d30v/ic-d30v deleted file mode 100644 index bdf7ea2b52d..00000000000 --- a/sim/d30v/ic-d30v +++ /dev/null @@ -1,80 +0,0 @@ -# OBSOLETE # Instruction cache rules -# OBSOLETE # -# OBSOLETE # This file is part of the program psim. -# OBSOLETE # -# OBSOLETE # Copyright (C) 1994-1995, Andrew Cagney -# OBSOLETE # -# OBSOLETE # This program is free software; you can redistribute it and/or modify -# OBSOLETE # it under the terms of the GNU General Public License as published by -# OBSOLETE # the Free Software Foundation; either version 2 of the License, or -# OBSOLETE # (at your option) any later version. -# OBSOLETE # -# OBSOLETE # This program is distributed in the hope that it will be useful, -# OBSOLETE # but WITHOUT ANY WARRANTY; without even the implied warranty of -# OBSOLETE # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# OBSOLETE # GNU General Public License for more details. -# OBSOLETE # -# OBSOLETE # You should have received a copy of the GNU General Public License -# OBSOLETE # along with this program; if not, write to the Free Software -# OBSOLETE # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# OBSOLETE # -# OBSOLETE compute:RA:RA:: -# OBSOLETE compute:RA:Ra:signed32 *:(&GPR[RA]) -# OBSOLETE compute:RA:RaH:signed16 *:AH2_4(Ra) -# OBSOLETE compute:RA:RaL:signed16 *:AL2_4(Ra) -# OBSOLETE compute:RA:val_Ra:signed32:(RA == 0 ? 0 : GPR[RA]) -# OBSOLETE # -# OBSOLETE compute:RB:RB:: -# OBSOLETE compute:RB:Rb:signed32:(RB == 0 ? 0 : GPR[RB]) -# OBSOLETE compute:RB:RbU:unsigned32:(RB == 0 ? 0 : GPR[RB]) -# OBSOLETE compute:RB:RbH:signed16:VH2_4(Rb) -# OBSOLETE compute:RB:RbL:signed16:VL2_4(Rb) -# OBSOLETE compute:RB:RbHU:unsigned16:VH2_4(Rb) -# OBSOLETE compute:RB:RbLU:unsigned16:VL2_4(Rb) -# OBSOLETE # -# OBSOLETE compute:RC:RC:: -# OBSOLETE compute:RC:Rc:signed32:(RC == 0 ? 0 : GPR[RC]) -# OBSOLETE compute:RC:RcU:unsigned32:(RC == 0 ? 0 : GPR[RC]) -# OBSOLETE compute:RC:RcH:signed16:VH2_4(Rc) -# OBSOLETE compute:RC:RcL:signed16:VL2_4(Rc) -# OBSOLETE # -# OBSOLETE # -# OBSOLETE compute:IMM_6S:IMM_6S:: -# OBSOLETE compute:IMM_6S:imm:signed32:SEXT32(IMM_6S, 32 - 6) -# OBSOLETE # NB - for short imm[HL] are the same value -# OBSOLETE compute:IMM_6S:immHL:signed32:((imm << 16) | MASKED32(imm, 16, 31)) -# OBSOLETE compute:IMM_6S:immH:signed32:imm -# OBSOLETE compute:IMM_6S:immL:signed32:imm -# OBSOLETE compute:IMM_6S:imm_6:signed32:IMM_6S -# OBSOLETE compute:IMM_6S:imm_5:signed32:LSMASKED32(IMM_6S, 4, 0) -# OBSOLETE compute:IMM_6S:imm_6u:unsigned32:(IMM_6S & 0x3f) -# OBSOLETE # -# OBSOLETE compute:RC:pcdisp:signed32:(Rc & ~0x7) -# OBSOLETE compute:RC:pcaddr:signed32:pcdisp -# OBSOLETE # -# OBSOLETE compute:IMM_18S:IMM_18S:: -# OBSOLETE compute:IMM_18S:pcdisp:signed32:(SEXT32(IMM_18S, 32 - 18) << 3) -# OBSOLETE compute:IMM_18S:pcaddr:signed32:pcdisp -# OBSOLETE compute:IMM_12S:IMM_12S:: -# OBSOLETE compute:IMM_12S:pcdisp:signed32:(SEXT32(IMM_12S, 32 - 12) << 3) -# OBSOLETE compute:IMM_12S:pcaddr:signed32:pcdisp -# OBSOLETE # -# OBSOLETE compute:IMM_8L:IMM_8L:: -# OBSOLETE compute:IMM_18L:IMM_18L:: -# OBSOLETE compute:IMM_6L:IMM_6L:: -# OBSOLETE compute:IMM_6L:imm:signed32:((((IMM_6L << 8) | IMM_8L) << 18) | IMM_18L) -# OBSOLETE compute:IMM_6L:immHL:signed32:imm -# OBSOLETE compute:IMM_6L:immH:signed32:EXTRACTED32(imm, 0, 15) -# OBSOLETE compute:IMM_6L:immL:signed32:EXTRACTED32(imm, 16, 31) -# OBSOLETE compute:IMM_6L:pcdisp:signed32:(imm & ~0x7) -# OBSOLETE compute:IMM_6L:pcaddr:signed32:pcdisp -# OBSOLETE # -# OBSOLETE # -# OBSOLETE compute:SRC_6:SRC_6:: -# OBSOLETE compute:SRC_6:src:unsigned32:(XX == 2 ? SEXT32(SRC_6, 32 - 6) : GPR[SRC_6]) -# OBSOLETE # -# OBSOLETE # -# OBSOLETE compute:AA:AA:: -# OBSOLETE compute:AA:Aa:unsigned64*:((CPU)->regs.accumulator + AA) -# OBSOLETE compute:AB:AB:: -# OBSOLETE compute:AB:Ab:unsigned64*:((CPU)->regs.accumulator + AB) diff --git a/sim/d30v/sim-calls.c b/sim/d30v/sim-calls.c deleted file mode 100644 index 9384376651d..00000000000 --- a/sim/d30v/sim-calls.c +++ /dev/null @@ -1,364 +0,0 @@ -/* OBSOLETE /* This file is part of the program psim. */ -/* OBSOLETE */ -/* OBSOLETE Copyright (C) 1994-1996, Andrew Cagney */ -/* OBSOLETE Copyright (C) 1997, Free Software Foundation */ -/* OBSOLETE */ -/* OBSOLETE This program is free software; you can redistribute it and/or modify */ -/* OBSOLETE it under the terms of the GNU General Public License as published by */ -/* OBSOLETE the Free Software Foundation; either version 2 of the License, or */ -/* OBSOLETE (at your option) any later version. */ -/* OBSOLETE */ -/* OBSOLETE This program is distributed in the hope that it will be useful, */ -/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* OBSOLETE GNU General Public License for more details. */ -/* OBSOLETE */ -/* OBSOLETE You should have received a copy of the GNU General Public License */ -/* OBSOLETE along with this program; if not, write to the Free Software */ -/* OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* OBSOLETE */ -/* OBSOLETE */ */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #include */ -/* OBSOLETE #include */ -/* OBSOLETE */ -/* OBSOLETE #include "sim-main.h" */ -/* OBSOLETE #include "sim-options.h" */ -/* OBSOLETE */ -/* OBSOLETE #include "bfd.h" */ -/* OBSOLETE #include "sim-utils.h" */ -/* OBSOLETE */ -/* OBSOLETE #ifdef HAVE_STDLIB_H */ -/* OBSOLETE #include */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE static unsigned long extmem_size = 1024*1024*8; /* 8 meg is the maximum listed in the arch. manual */ */ -/* OBSOLETE */ -/* OBSOLETE static const char * get_insn_name (sim_cpu *, int); */ -/* OBSOLETE */ -/* OBSOLETE #define SIM_ADDR unsigned */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #define OPTION_TRACE_CALL 200 */ -/* OBSOLETE #define OPTION_TRACE_TRAPDUMP 201 */ -/* OBSOLETE #define OPTION_EXTMEM_SIZE 202 */ -/* OBSOLETE */ -/* OBSOLETE static SIM_RC */ -/* OBSOLETE d30v_option_handler (SIM_DESC sd, */ -/* OBSOLETE sim_cpu *cpu, */ -/* OBSOLETE int opt, */ -/* OBSOLETE char *arg, */ -/* OBSOLETE int command_p) */ -/* OBSOLETE { */ -/* OBSOLETE char *suffix; */ -/* OBSOLETE */ -/* OBSOLETE switch (opt) */ -/* OBSOLETE { */ -/* OBSOLETE default: */ -/* OBSOLETE break; */ -/* OBSOLETE */ -/* OBSOLETE case OPTION_TRACE_CALL: */ -/* OBSOLETE if (arg == NULL || strcmp (arg, "yes") == 0 || strcmp (arg, "on") == 0) */ -/* OBSOLETE TRACE_CALL_P = 1; */ -/* OBSOLETE else if (strcmp (arg, "no") == 0 || strcmp (arg, "off") == 0) */ -/* OBSOLETE TRACE_CALL_P = 0; */ -/* OBSOLETE else */ -/* OBSOLETE { */ -/* OBSOLETE sim_io_eprintf (sd, "Unreconized --trace-call option `%s'\n", arg); */ -/* OBSOLETE return SIM_RC_FAIL; */ -/* OBSOLETE } */ -/* OBSOLETE return SIM_RC_OK; */ -/* OBSOLETE */ -/* OBSOLETE case OPTION_TRACE_TRAPDUMP: */ -/* OBSOLETE if (arg == NULL || strcmp (arg, "yes") == 0 || strcmp (arg, "on") == 0) */ -/* OBSOLETE TRACE_TRAP_P = 1; */ -/* OBSOLETE else if (strcmp (arg, "no") == 0 || strcmp (arg, "off") == 0) */ -/* OBSOLETE TRACE_TRAP_P = 0; */ -/* OBSOLETE else */ -/* OBSOLETE { */ -/* OBSOLETE sim_io_eprintf (sd, "Unreconized --trace-call option `%s'\n", arg); */ -/* OBSOLETE return SIM_RC_FAIL; */ -/* OBSOLETE } */ -/* OBSOLETE return SIM_RC_OK; */ -/* OBSOLETE */ -/* OBSOLETE case OPTION_EXTMEM_SIZE: */ -/* OBSOLETE if (arg == NULL || !isdigit (*arg)) */ -/* OBSOLETE { */ -/* OBSOLETE sim_io_eprintf (sd, "Invalid memory size `%s'", arg); */ -/* OBSOLETE return SIM_RC_FAIL; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE suffix = arg; */ -/* OBSOLETE extmem_size = strtol (arg, &suffix, 0); */ -/* OBSOLETE if (*suffix == 'm' || *suffix == 'M') */ -/* OBSOLETE extmem_size <<= 20; */ -/* OBSOLETE else if (*suffix == 'k' || *suffix == 'K') */ -/* OBSOLETE extmem_size <<= 10; */ -/* OBSOLETE sim_do_commandf (sd, "memory delete 0x80000000"); */ -/* OBSOLETE sim_do_commandf (sd, "memory region 0x80000000,0x%lx", extmem_size); */ -/* OBSOLETE */ -/* OBSOLETE return SIM_RC_OK; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE sim_io_eprintf (sd, "Unknown option (%d)\n", opt); */ -/* OBSOLETE return SIM_RC_FAIL; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE static const OPTION d30v_options[] = */ -/* OBSOLETE { */ -/* OBSOLETE { {"trace-call", optional_argument, NULL, OPTION_TRACE_CALL}, */ -/* OBSOLETE '\0', "on|off", "Enable tracing of calls and returns, checking saved registers", */ -/* OBSOLETE d30v_option_handler }, */ -/* OBSOLETE { {"trace-trapdump", optional_argument, NULL, OPTION_TRACE_TRAPDUMP}, */ -/* OBSOLETE '\0', "on|off", */ -/* OBSOLETE #if TRAPDUMP */ -/* OBSOLETE "Traps 0..30 dump out all of the registers (defaults on)", */ -/* OBSOLETE #else */ -/* OBSOLETE "Traps 0..30 dump out all of the registers", */ -/* OBSOLETE #endif */ -/* OBSOLETE d30v_option_handler }, */ -/* OBSOLETE { {"extmem-size", required_argument, NULL, OPTION_EXTMEM_SIZE}, */ -/* OBSOLETE '\0', "size", "Change size of external memory, default 8 meg", */ -/* OBSOLETE d30v_option_handler }, */ -/* OBSOLETE { {NULL, no_argument, NULL, 0}, '\0', NULL, NULL, NULL } */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE /* Return name of an insn, used by insn profiling. */ */ -/* OBSOLETE */ -/* OBSOLETE static const char * */ -/* OBSOLETE get_insn_name (sim_cpu *cpu, int i) */ -/* OBSOLETE { */ -/* OBSOLETE return itable[i].name; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* Structures used by the simulator, for gdb just have static structures */ */ -/* OBSOLETE */ -/* OBSOLETE SIM_DESC */ -/* OBSOLETE sim_open (SIM_OPEN_KIND kind, */ -/* OBSOLETE host_callback *callback, */ -/* OBSOLETE struct _bfd *abfd, */ -/* OBSOLETE char **argv) */ -/* OBSOLETE { */ -/* OBSOLETE SIM_DESC sd = sim_state_alloc (kind, callback); */ -/* OBSOLETE */ -/* OBSOLETE /* FIXME: watchpoints code shouldn't need this */ */ -/* OBSOLETE STATE_WATCHPOINTS (sd)->pc = &(PC); */ -/* OBSOLETE STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC); */ -/* OBSOLETE STATE_WATCHPOINTS (sd)->interrupt_handler = d30v_interrupt_event; */ -/* OBSOLETE */ -/* OBSOLETE /* Initialize the mechanism for doing insn profiling. */ */ -/* OBSOLETE CPU_INSN_NAME (STATE_CPU (sd, 0)) = get_insn_name; */ -/* OBSOLETE CPU_MAX_INSNS (STATE_CPU (sd, 0)) = nr_itable_entries; */ -/* OBSOLETE */ -/* OBSOLETE #ifdef TRAPDUMP */ -/* OBSOLETE TRACE_TRAP_P = TRAPDUMP; */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK) */ -/* OBSOLETE return 0; */ -/* OBSOLETE sim_add_option_table (sd, NULL, d30v_options); */ -/* OBSOLETE */ -/* OBSOLETE /* Memory and EEPROM */ */ -/* OBSOLETE /* internal instruction RAM - fixed */ */ -/* OBSOLETE sim_do_commandf (sd, "memory region 0,0x10000"); */ -/* OBSOLETE /* internal data RAM - fixed */ */ -/* OBSOLETE sim_do_commandf (sd, "memory region 0x20000000,0x8000"); */ -/* OBSOLETE /* control register dummy area */ */ -/* OBSOLETE sim_do_commandf (sd, "memory region 0x40000000,0x10000"); */ -/* OBSOLETE /* external RAM */ */ -/* OBSOLETE sim_do_commandf (sd, "memory region 0x80000000,0x%lx", extmem_size); */ -/* OBSOLETE /* EIT RAM */ */ -/* OBSOLETE sim_do_commandf (sd, "memory region 0xfffff000,0x1000"); */ -/* OBSOLETE */ -/* OBSOLETE /* getopt will print the error message so we just have to exit if this fails. */ -/* OBSOLETE FIXME: Hmmm... in the case of gdb we need getopt to call */ -/* OBSOLETE print_filtered. */ */ -/* OBSOLETE if (sim_parse_args (sd, argv) != SIM_RC_OK) */ -/* OBSOLETE { */ -/* OBSOLETE /* Uninstall the modules to avoid memory leaks, */ -/* OBSOLETE file descriptor leaks, etc. */ */ -/* OBSOLETE sim_module_uninstall (sd); */ -/* OBSOLETE return 0; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* check for/establish the a reference program image */ */ -/* OBSOLETE if (sim_analyze_program (sd, */ -/* OBSOLETE (STATE_PROG_ARGV (sd) != NULL */ -/* OBSOLETE ? *STATE_PROG_ARGV (sd) */ -/* OBSOLETE : NULL), */ -/* OBSOLETE abfd) != SIM_RC_OK) */ -/* OBSOLETE { */ -/* OBSOLETE sim_module_uninstall (sd); */ -/* OBSOLETE return 0; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* establish any remaining configuration options */ */ -/* OBSOLETE if (sim_config (sd) != SIM_RC_OK) */ -/* OBSOLETE { */ -/* OBSOLETE sim_module_uninstall (sd); */ -/* OBSOLETE return 0; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE if (sim_post_argv_init (sd) != SIM_RC_OK) */ -/* OBSOLETE { */ -/* OBSOLETE /* Uninstall the modules to avoid memory leaks, */ -/* OBSOLETE file descriptor leaks, etc. */ */ -/* OBSOLETE sim_module_uninstall (sd); */ -/* OBSOLETE return 0; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE return sd; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE void */ -/* OBSOLETE sim_close (SIM_DESC sd, int quitting) */ -/* OBSOLETE { */ -/* OBSOLETE /* Uninstall the modules to avoid memory leaks, */ -/* OBSOLETE file descriptor leaks, etc. */ */ -/* OBSOLETE sim_module_uninstall (sd); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE SIM_RC */ -/* OBSOLETE sim_create_inferior (SIM_DESC sd, */ -/* OBSOLETE struct _bfd *abfd, */ -/* OBSOLETE char **argv, */ -/* OBSOLETE char **envp) */ -/* OBSOLETE { */ -/* OBSOLETE /* clear all registers */ */ -/* OBSOLETE memset (&STATE_CPU (sd, 0)->regs, 0, sizeof (STATE_CPU (sd, 0)->regs)); */ -/* OBSOLETE EIT_VB = EIT_VB_DEFAULT; */ -/* OBSOLETE STATE_CPU (sd, 0)->unit = any_unit; */ -/* OBSOLETE sim_module_init (sd); */ -/* OBSOLETE if (abfd != NULL) */ -/* OBSOLETE PC = bfd_get_start_address (abfd); */ -/* OBSOLETE else */ -/* OBSOLETE PC = 0xfffff000; /* reset value */ */ -/* OBSOLETE return SIM_RC_OK; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE void */ -/* OBSOLETE sim_do_command (SIM_DESC sd, char *cmd) */ -/* OBSOLETE { */ -/* OBSOLETE if (sim_args_command (sd, cmd) != SIM_RC_OK) */ -/* OBSOLETE sim_io_printf (sd, "Unknown command `%s'\n", cmd); */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE /* The following register definitions were ripped off from */ -/* OBSOLETE gdb/config/tm-d30v.h. If any of those defs changes, this table needs to */ -/* OBSOLETE be updated. */ */ -/* OBSOLETE */ -/* OBSOLETE #define NUM_REGS 86 */ -/* OBSOLETE */ -/* OBSOLETE #define R0_REGNUM 0 */ -/* OBSOLETE #define FP_REGNUM 11 */ -/* OBSOLETE #define LR_REGNUM 62 */ -/* OBSOLETE #define SP_REGNUM 63 */ -/* OBSOLETE #define SPI_REGNUM 64 /* Interrupt stack pointer */ */ -/* OBSOLETE #define SPU_REGNUM 65 /* User stack pointer */ */ -/* OBSOLETE #define CREGS_START 66 */ -/* OBSOLETE */ -/* OBSOLETE #define PSW_REGNUM (CREGS_START + 0) /* psw, bpsw, or dpsw??? */ */ -/* OBSOLETE #define PSW_SM 0x80000000 /* Stack mode: 0 == interrupt (SPI), */ -/* OBSOLETE 1 == user (SPU) */ */ -/* OBSOLETE #define BPSW_REGNUM (CREGS_START + 1) /* Backup PSW (on interrupt) */ */ -/* OBSOLETE #define PC_REGNUM (CREGS_START + 2) /* pc, bpc, or dpc??? */ */ -/* OBSOLETE #define BPC_REGNUM (CREGS_START + 3) /* Backup PC (on interrupt) */ */ -/* OBSOLETE #define DPSW_REGNUM (CREGS_START + 4) /* Backup PSW (on debug trap) */ */ -/* OBSOLETE #define DPC_REGNUM (CREGS_START + 5) /* Backup PC (on debug trap) */ */ -/* OBSOLETE #define RPT_C_REGNUM (CREGS_START + 7) /* Loop count */ */ -/* OBSOLETE #define RPT_S_REGNUM (CREGS_START + 8) /* Loop start address*/ */ -/* OBSOLETE #define RPT_E_REGNUM (CREGS_START + 9) /* Loop end address */ */ -/* OBSOLETE #define MOD_S_REGNUM (CREGS_START + 10) */ -/* OBSOLETE #define MOD_E_REGNUM (CREGS_START + 11) */ -/* OBSOLETE #define IBA_REGNUM (CREGS_START + 14) /* Instruction break address */ */ -/* OBSOLETE #define EIT_VB_REGNUM (CREGS_START + 15) /* Vector base address */ */ -/* OBSOLETE #define INT_S_REGNUM (CREGS_START + 16) /* Interrupt status */ */ -/* OBSOLETE #define INT_M_REGNUM (CREGS_START + 17) /* Interrupt mask */ */ -/* OBSOLETE #define A0_REGNUM 84 */ -/* OBSOLETE #define A1_REGNUM 85 */ -/* OBSOLETE */ -/* OBSOLETE int */ -/* OBSOLETE sim_fetch_register (sd, regno, buf, length) */ -/* OBSOLETE SIM_DESC sd; */ -/* OBSOLETE int regno; */ -/* OBSOLETE unsigned char *buf; */ -/* OBSOLETE int length; */ -/* OBSOLETE { */ -/* OBSOLETE if (regno < A0_REGNUM) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned32 reg; */ -/* OBSOLETE */ -/* OBSOLETE if (regno <= R0_REGNUM + 63) */ -/* OBSOLETE reg = sd->cpu[0].regs.general_purpose[regno]; */ -/* OBSOLETE else if (regno <= SPU_REGNUM) */ -/* OBSOLETE reg = sd->cpu[0].regs.sp[regno - SPI_REGNUM]; */ -/* OBSOLETE else */ -/* OBSOLETE reg = sd->cpu[0].regs.control[regno - CREGS_START]; */ -/* OBSOLETE */ -/* OBSOLETE buf[0] = reg >> 24; */ -/* OBSOLETE buf[1] = reg >> 16; */ -/* OBSOLETE buf[2] = reg >> 8; */ -/* OBSOLETE buf[3] = reg; */ -/* OBSOLETE } */ -/* OBSOLETE else if (regno < NUM_REGS) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned32 reg; */ -/* OBSOLETE */ -/* OBSOLETE reg = sd->cpu[0].regs.accumulator[regno - A0_REGNUM] >> 32; */ -/* OBSOLETE */ -/* OBSOLETE buf[0] = reg >> 24; */ -/* OBSOLETE buf[1] = reg >> 16; */ -/* OBSOLETE buf[2] = reg >> 8; */ -/* OBSOLETE buf[3] = reg; */ -/* OBSOLETE */ -/* OBSOLETE reg = sd->cpu[0].regs.accumulator[regno - A0_REGNUM]; */ -/* OBSOLETE */ -/* OBSOLETE buf[4] = reg >> 24; */ -/* OBSOLETE buf[5] = reg >> 16; */ -/* OBSOLETE buf[6] = reg >> 8; */ -/* OBSOLETE buf[7] = reg; */ -/* OBSOLETE } */ -/* OBSOLETE else */ -/* OBSOLETE abort (); */ -/* OBSOLETE return -1; */ -/* OBSOLETE } */ -/* OBSOLETE */ -/* OBSOLETE int */ -/* OBSOLETE sim_store_register (sd, regno, buf, length) */ -/* OBSOLETE SIM_DESC sd; */ -/* OBSOLETE int regno; */ -/* OBSOLETE unsigned char *buf; */ -/* OBSOLETE int length; */ -/* OBSOLETE { */ -/* OBSOLETE if (regno < A0_REGNUM) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned32 reg; */ -/* OBSOLETE */ -/* OBSOLETE reg = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; */ -/* OBSOLETE */ -/* OBSOLETE if (regno <= R0_REGNUM + 63) */ -/* OBSOLETE sd->cpu[0].regs.general_purpose[regno] = reg; */ -/* OBSOLETE else if (regno <= SPU_REGNUM) */ -/* OBSOLETE sd->cpu[0].regs.sp[regno - SPI_REGNUM] = reg; */ -/* OBSOLETE else */ -/* OBSOLETE sd->cpu[0].regs.control[regno - CREGS_START] = reg; */ -/* OBSOLETE } */ -/* OBSOLETE else if (regno < NUM_REGS) */ -/* OBSOLETE { */ -/* OBSOLETE unsigned32 reg; */ -/* OBSOLETE */ -/* OBSOLETE reg = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; */ -/* OBSOLETE */ -/* OBSOLETE sd->cpu[0].regs.accumulator[regno - A0_REGNUM] = (unsigned64)reg << 32; */ -/* OBSOLETE */ -/* OBSOLETE reg = (buf[4] << 24) | (buf[5] << 16) | (buf[6] << 8) | buf[7]; */ -/* OBSOLETE */ -/* OBSOLETE sd->cpu[0].regs.accumulator[regno - A0_REGNUM] |= reg; */ -/* OBSOLETE } */ -/* OBSOLETE else */ -/* OBSOLETE abort (); */ -/* OBSOLETE return -1; */ -/* OBSOLETE } */ diff --git a/sim/d30v/sim-main.h b/sim/d30v/sim-main.h deleted file mode 100644 index d1764da4979..00000000000 --- a/sim/d30v/sim-main.h +++ /dev/null @@ -1,82 +0,0 @@ -/* OBSOLETE /* This file is part of the program psim. */ -/* OBSOLETE */ -/* OBSOLETE Copyright (C) 1994-1997, Andrew Cagney */ -/* OBSOLETE Copyright (C) 1997, 1998, Free Software Foundation */ -/* OBSOLETE */ -/* OBSOLETE This program is free software; you can redistribute it and/or modify */ -/* OBSOLETE it under the terms of the GNU General Public License as published by */ -/* OBSOLETE the Free Software Foundation; either version 2 of the License, or */ -/* OBSOLETE (at your option) any later version. */ -/* OBSOLETE */ -/* OBSOLETE This program is distributed in the hope that it will be useful, */ -/* OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of */ -/* OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ -/* OBSOLETE GNU General Public License for more details. */ -/* OBSOLETE */ -/* OBSOLETE You should have received a copy of the GNU General Public License */ -/* OBSOLETE along with this program; if not, write to the Free Software */ -/* OBSOLETE Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/* OBSOLETE */ -/* OBSOLETE */ */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #ifndef _SIM_MAIN_H_ */ -/* OBSOLETE #define _SIM_MAIN_H_ */ -/* OBSOLETE */ -/* OBSOLETE /* This simulator suports watchpoints */ */ -/* OBSOLETE #define WITH_WATCHPOINTS 1 */ -/* OBSOLETE */ -/* OBSOLETE #include "sim-basics.h" */ -/* OBSOLETE #include "sim-signal.h" */ -/* OBSOLETE */ -/* OBSOLETE /* needed */ */ -/* OBSOLETE typedef address_word sim_cia; */ -/* OBSOLETE #define INVALID_INSTRUCTION_ADDRESS ((address_word) 0 - 1) */ -/* OBSOLETE */ -/* OBSOLETE /* This simulator doesn't cache anything so no saving of context is */ -/* OBSOLETE needed during either of a halt or restart */ */ -/* OBSOLETE #define SIM_ENGINE_HALT_HOOK(SD,CPU,CIA) while (0) */ -/* OBSOLETE #define SIM_ENGINE_RESTART_HOOK(SD,CPU,CIA) while (0) */ -/* OBSOLETE */ -/* OBSOLETE #include "sim-base.h" */ -/* OBSOLETE */ -/* OBSOLETE /* These are generated files. */ */ -/* OBSOLETE #include "itable.h" */ -/* OBSOLETE #include "s_idecode.h" */ -/* OBSOLETE #include "l_idecode.h" */ -/* OBSOLETE */ -/* OBSOLETE #include "cpu.h" */ -/* OBSOLETE #include "alu.h" */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE struct sim_state { */ -/* OBSOLETE */ -/* OBSOLETE sim_event *pending_interrupt; */ -/* OBSOLETE */ -/* OBSOLETE /* the processors proper */ */ -/* OBSOLETE sim_cpu cpu[MAX_NR_PROCESSORS]; */ -/* OBSOLETE #if (WITH_SMP) */ -/* OBSOLETE #define STATE_CPU(sd, n) (&(sd)->cpu[n]) */ -/* OBSOLETE #else */ -/* OBSOLETE #define STATE_CPU(sd, n) (&(sd)->cpu[0]) */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE /* The base class. */ */ -/* OBSOLETE sim_state_base base; */ -/* OBSOLETE */ -/* OBSOLETE }; */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE /* deliver an interrupt */ */ -/* OBSOLETE sim_event_handler d30v_interrupt_event; */ -/* OBSOLETE */ -/* OBSOLETE */ -/* OBSOLETE #ifdef HAVE_STRING_H */ -/* OBSOLETE #include */ -/* OBSOLETE #else */ -/* OBSOLETE #ifdef HAVE_STRINGS_H */ -/* OBSOLETE #include */ -/* OBSOLETE #endif */ -/* OBSOLETE #endif */ -/* OBSOLETE */ -/* OBSOLETE #endif /* _SIM_MAIN_H_ */ */ diff --git a/sim/d30v/tconfig.in b/sim/d30v/tconfig.in deleted file mode 100644 index 4efbb915212..00000000000 --- a/sim/d30v/tconfig.in +++ /dev/null @@ -1,8 +0,0 @@ -/* D30V target configuration file. -*- C -*- */ - -/* Define this to enable the intrinsic breakpoint mechanism. */ -#define SIM_HAVE_BREAKPOINTS - -/* See sim-hload.c. We properly handle LMA. */ -#define SIM_HANDLES_LMA 1 - diff --git a/sim/fr30/ChangeLog b/sim/fr30/ChangeLog deleted file mode 100644 index f8f4c5e8068..00000000000 --- a/sim/fr30/ChangeLog +++ /dev/null @@ -1,440 +0,0 @@ -2002-07-16 Andrew Cagney - - * Makefile.in: Make file obsolete. - * cpu.c, arch.h, arch.c, cpu.h, decode.h: Ditto. - * decode.c, fr30-sim.h, devices.c, fr30.c: Ditto. - * model.c, sem-switch.c, sim-if.c: Ditto. - * sim-main.h, traps.c, sem.c: Ditto. - * TODO, README: Ditto. - * configure.in: Ditto. - * configure: Regenerate. - -2002-06-16 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -2001-11-14 Dave Brolley - - * arch.c: Regenerate. - * arch.h: Regenerate. - * cpu.c: Regenerate. - * cpu.h: Regenerate. - * cpuall.h: Regenerate. - * decode.c: Regenerate. - * decode.h: Regenerate. - * model.c: Regenerate. - * sem-switch.c: Regenerate. - * sem.c: Regenerate. - -2001-07-05 Ben Elliston - - * Makefile.in (stamp-arch): Use $(CGEN_CPU_DIR). - (stamp-cpu): Likewise. - -2001-03-05 Dave Brolley - - * arch.c: Regenerate. - * arch.h: Regenerate. - * cpu.c: Regenerate. - * cpu.h: Regenerate. - * cpuall.h: Regenerate. - * decode.c: Regenerate. - * decode.h: Regenerate. - * model.c: Regenerate. - * sem-switch.c: Regenerate. - * sem.c: Regenerate. - -2001-01-12 Frank Ch. Eigler - - * configure: Regenerated with sim_scache fix. - -2000-11-18 Greg McGary - - * Makefile.in: remove `@true' commands for rules that have - $(CGEN_MAINT) as a prerequisite. - -2000-10-06 Dave Brolley - - * sem.c: Regenerated. - * sem-switch.c: Regenerated. - -2000-08-28 Dave Brolley - - * cpu.h: Regenerated. - * decode.c: Regenerated. - -2000-08-21 Frank Ch. Eigler - - * Makefile.in (fr30-clean): Add stamp-arch, stamp-cpu. - (stamp-arch, stamp-cpu): New targets. - -Tue May 23 21:39:23 2000 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -2000-03-30 Dave Brolley - - * configure: Regenerated. - -1999-10-04 Doug Evans - - * sem.c,sem-switch.c: Rebuild. - * traps.c (sim_engine_invalid_insn): New arg `vpc'. Change type of - result to SEM_PC. Return vpc. - -Wed Sep 29 14:45:32 1999 Dave Brolley - - * traps.c (sim_engine_invalid_insn): Return PC. - -Thu Sep 2 18:15:53 1999 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -1999-08-31 Doug Evans - - * sem.c: Rebuild. - -1999-08-09 Doug Evans - - * cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild. - -1999-08-04 Doug Evans - - * cpu.h,cpuall.h,decode.c,model.c,sem-switch.c,sem.c: Rebuild. - -1999-07-06 Doug Evans - - * cpu.h,decode.h,model.c,sem-switch.c,sem.c: Rebuild. - -1999-05-08 Felix Lee - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Apr 16 16:50:31 1999 Doug Evans - - * devices.c (device_io_read_buffer): New arg `sd'. - (device_io_write_buffer): New arg `sd'. - (device_error): Give proper arg spec. - -1999-04-10 Doug Evans - - * cpu.h,sem-switch.c,sem.c: Rebuild. - -1999-03-27 Doug Evans - - * decode.c: Rebuild. - -1999-03-22 Doug Evans - - * arch.c,arch.h,model.c: Rebuild. - * fr30.c (fr30bf_fetch_register): Replace calls to a_fr30_h_* with - calls to fr30bf_h_*. - (fr30bf_store_register): Ditto. - * traps.c (setup_int): Ditto. - * sim-if.c (sim_open): Update call to fr30_cgen_cpu_open. - -Mon Mar 22 13:13:05 1999 Dave Brolley - - * configure.in: Use SIM_AC_OPTION_ALIGNMENT(FORCED_ALIGNMENT). - * configure: Regenerate. - * cpu.h: Regenerate. - -1999-03-11 Doug Evans - - * arch.c,arch.h,cpu.c,cpu.h: Rebuild. - * fr30-sim.h (GET_H_SBIT,SET_H_SBIT): Delete. - (GET_H_CCR,SET_H_CCR,GET_H_SCR,SET_H_SCR,GET_H_ILM,SET_H_ILM): Delete. - (GET_H_PS,SET_H_PS,GET_H_DR,SET_H_DR): Delete. - * sim-if.c (sim_open): Update call to fr30_cgen_cpu_open. - -1999-02-25 Doug Evans - - * cpu.h: Rebuild. - -1999-02-09 Doug Evans - - * Makefile.in (SIM_EXTRA_DEPS): Add fr30-desc.h, delete cpu-opc.h. - * configure.in (sim_link_files,sim_link_links): Delete. - * configure: Rebuild. - * decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild. - * fr30.c (fr30bf_model_fr30_1_u_cti): CGEN_INSN_ATTR renamed to - CGEN_INSN_ATTR_VALUE. - * mloop.in (extract-pbb): Ditto. Use idesc->length to get insn length. - * sim-if.c (sim_open): fr30_cgen_cpu_open renamed from - fr30_cgen_opcode_open. Set disassembler. - (sim_close): fr30_cgen_cpu_open renamed from fr30_cgen_opcode_open. - * sim-main.h: Don't include cpu-opc.h,cpu-sim.h. Include - fr30-desc.h,fr30-opc.h,fr30-sim.h. - -1999-01-27 Doug Evans - - * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Rebuild. - -1999-01-15 Doug Evans - - * cpu.h,decode.h,model.c: Regenerate. - * fr30.c (fr30bf_model_insn_before): Clear load_regs_pending. - (fr30bf_model_insn_after): Copy load_regs_pending to load_regs. - (fr30bf_model_fr30_1_u_exec): Check for load stalls. - (fr30bf_model_fr30_1_u_{cti,load,store}): Ditto. - -1999-01-14 Doug Evans - - * arch.c,arch.h,cpuall.h: Regenerate. - * cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate. - * devices.c (device_io_write_buffer): Remove some m32r cruft. - * fr30-sim.h (FR30_MISC_PROFILE): Delete, plus supporting macros. - (EIT_*,MSPR_*,MLCR_*,MPMR_*): Delete, m32r cruft. - * fr30.c (fr30bf_model_insn_after): Update cycle counts. - (check_load_stall): New function. - (fr30bf_model_fr30_1_u_exec): Update argument list. - (fr30bf_model_fr30_1_u_{cti,load,store,ldm,stm}): New functions. - * sim-if.c (sim_open): Comment out memory mapped device allocation. - Delete FR30_MISC_PROFILE handling. - (print_fr30_misc_cpu): Delete. - * sim-main.h (_sim_cpu): Delete member fr30_misc_profile. - * traps.c (sim_engine_invalid_insn): PCADDR->IADDR. - -1999-01-11 Doug Evans - - * Makefile.in (fr30-clean): rm eng.h. - - * sim-main.h: Delete inclusion of ansidecl.h. - Include sim-basics.h before cgen-types.h. - Delete inclusion of cgen-scache.h,cgen-cpu.h,cgen-trace.h,cpuall.h. - * cpu.h,sem-switch.c,sem.c: Regenerate. - -1999-01-05 Doug Evans - - * Makefile.in (MAIN_INCLUDE_DEPS): Delete. - (INCLUDE_DEPS,OPS_INCLUDE_DEPS): Delete. - (sim-if.o,arch.o,devices.o): Use SIM_MAIN_DEPS. - (FR30BF_INCLUDE_DEPS): Use CGEN_MAIN_CPU_DEPS. - (mloop.o,cpu.o,decode.o,sem.o,model.o): Simplify dependencies. - * cpu.c,cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate. - * fr30-sim.h (fr30bf_h_sbit_[gs]et_handler): Declare. - ([GS]ET_H_SBIT): Define. - (fr30bf_h_ccr_[gs]et_handler): Declare. - ([GS]ET_H_CCR): Define. - (fr30bf_h_scr_[gs]et_handler): Declare. - ([GS]ET_H_SCR): Define. - (fr30bf_h_ilm_[gs]et_handler): Declare. - ([GS]ET_H_ILM): Define. - (fr30bf_h_ps_[gs]et_handler): Declare. - ([GS]ET_H_PS): Define. - (fr30bf_h_dr_[gs]et_handler): Declare. - ([GS]ET_H_DR): Define. - * fr30.c (all register access fns): Rename to ..._handler. - (fr30bf_h_*_get_handler,fr30bf_h_*_set_handler): Rewrite to use - CPU or GET_H_FOO/SET_H_FOO access macros as appropriate. - * sim-if.c (sim_open): Model probing code moved to sim-model.c. - -Fri Dec 18 17:09:34 1998 Dave Brolley - - * fr30.c (fr30bf_store_register): Call a_fr30_h_dr_set for - dedicated registers. - -Thu Dec 17 17:17:48 1998 Dave Brolley - - * sem-switch.c,sem.c: Regenerate. - -Tue Dec 15 17:39:59 1998 Dave Brolley - - * traps.c (setup_int): Correct calls to SETMEMSI. - (fr30_int): Must calculate new pc after saving old one. - * fr30.c (fr30bf_h_sbit_get): New function. - (fr30bf_h_sbit_set): New function. - (fr30bf_h_ccr_set): Use fr30bf_h_sbit_set and move stack switching - logic to that function. - * cpu.[ch],decode.c,model.c,sem-switch.c,sem.c: Regenerate. - -1998-12-14 Doug Evans - - * configure.in: --enable-cgen-maint moved to common/aclocal.m4. - * configure: Regenerate. - - * sem-switch.c,sem.c: Regenerate. - - * traps.c (setup_int): Use enums for register numbers. - (fr30_int): Ditto. - -1998-12-14 Dave Brolley - - * cpu.h,decode.[ch],model.c,sem-switch.c,sem.c: Regenerate. - -Thu Dec 10 18:43:13 1998 Dave Brolley - - * arch.[ch],cpu.[ch],decode.c,model.c,sem-switch.c,sem.c: Regenerate. - * fr30.c (fr30bf_h_scr_get): Implement as separate bits. - (fr30bf_h_scr_set): Implement as separate bits. - -Wed Dec 9 13:25:37 1998 Doug Evans - - * cpu.h,decode.c,sem-switch.c,sem.c: Regenerate. - -Tue Dec 8 13:15:23 1998 Dave Brolley - - * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate. - -Mon Dec 7 14:35:23 1998 Dave Brolley - - * traps.c (fr30_inte): New function. - * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate. - -1998-12-05 Doug Evans - - * cpu.h,cpuall.h,decode.c,sem-switch.c,sem.c: Regenerate. - * mloop.in (extract): Make static inline. Rewrite. - (execute): Check ARGBUF_PROFILE_P before profiling. - Update calls to TRACE_INSN_INIT,TRACE_INSN_FINI. - -Fri Dec 4 16:18:25 1998 Doug Evans - - * sem.c,sem-switch.c: Regenerate. - * cpu.h,decode.c: Regenerate. - -Fri Dec 4 17:09:27 1998 Dave Brolley - - * cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate. - -Fri Dec 4 00:22:43 1998 Doug Evans - - * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate. - -Thu Dec 3 17:33:16 1998 Dave Brolley - - * fr30.c (fr30bf_h_ccr_get): New function. - (fr30bf_h_ccr_set): New function. - (fr30bf_h_ps_get): Use ccr access function. - (fr30bf_h_ps_set): Use ccr access function. - (fr30bf_h_scr_get): New function. - (fr30bf_h_scr_set): New function. - (fr30bf_h_ilm_get): New function. - (fr30bf_h_ilm_set): New function - (fr30bf_h_ps_get): Implement src and ilm. - (fr30bf_h_ps_set): Implement src and ilm. - - * arch.c,arch.h,cpu.h,decode.c,decode.h,model.c, - sem-switch.c,sem.c: Regenerate. - -Thu Dec 3 00:15:11 1998 Doug Evans - - * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerate. - -1998-11-30 Doug Evans - - * mloop.in (extract-pbb): Add delay slot support. - * cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Regenerate. - -Thu Nov 26 11:28:30 1998 Dave Brolley - - * cpu.h,decode.c,model.c,sem.c,sem-switch.c: Regenerated. - -Mon Nov 23 18:30:36 1998 Dave Brolley - - * cpu.h,decode.c,model.c,sem-switch.c,sem.c: Regenerated. - -1998-11-20 Doug Evans - - * fr30-sim.h (*-REGNUM): Sync up with gdb. - * fr30.c (decode_gdb_dr_regnum): New function. - (fr30bf_fetch_register): Implement. - (fr30bf_store_register): Ditto. - (fr30bf_h_ps_get,fr30bf_h_ps_set): Ditto. - (fr30bf_h_dr_get,fr30bf_h_dr_set): New functions. - * sem-switch.c,sem.c: Rebuild. - * traps.c (setup_int): New function - (fr30_int): Handle all int insn processing here. - Don't save ps,pc if breakpoint trap. - * cpu.c,cpu.h,decode.c,sem-switch.c,sem.c: Regenerate. - -Thu Nov 19 16:05:09 1998 Dave Brolley - - * traps.c (fr30_int): Correct register usage. - * arch.c: Regenerated. - * arch.h: Regenerated. - * cpu.c: Regenerated. - * cpu.h: Regenerated. - * decode.c: Regenerated. - * decode.h: Regenerated. - * model.c: Regenerated. - * sem-switch.c: Regenerated. - * sem.c: Regenerated. - -Wed Nov 18 21:39:37 1998 Dave Brolley - - * fr30-sim.h (TRAP_SYSCALL, TRAP_BREAKPOINT): Redefine for fr30. - * fr30.c (fr30bf_h_ps_get): New function. - (fr30bf_h_ps_set): New function. - * mloop.in: Set up fast-pbb model for fr30. - * traps.c (fr30_int): New function. - * arch.c: Regenerated. - * arch.h: Regenerated. - * cpu.c: Regenerated. - * cpu.h: Regenerated. - * decode.c: Regenerated. - * model.c: Regenerated. - * sem-switch.c: Regenerated. - * sem.c: Regenerated. - -1998-11-18 Doug Evans - - * Makefile.in (FR30_OBJS): Delete extract.o. - (FR30BF_INCLUDE_DEPS): Add cgen-engine.h. - (extract.o): Delete rule for. - * mloop.in: Rewrite. - * cpu.c,cpu.h,decode.c,decode.h,model.c,sem-switch.c,sem.c: Rebuild. - -Wed Nov 18 11:31:21 1998 Dave Brolley - - * sem-switch.c: Regenerated. - * sem.c: Regenerated. - -Mon Nov 16 19:23:44 1998 Dave Brolley - - * arch.c: Regenerated. - * arch.h: Regenerated. - * cpu.c: Regenerated. - * cpu.h: Regenerated. - * decode.c: Regenerated. - * decode.h: Regenerated. - * extract.c: Regenerated. - * model.c: Regenerated. - * sem-switch.c: Regenerated. - * sem.c: Regenerated. - -Thu Nov 12 19:27:50 1998 Dave Brolley - - * arch.c: Regenerated. - * arch.h: Regenerated. - * cpu.c: Regenerated. - * cpu.h: Regenerated. - * decode.c: Regenerated. - * decode.h: Regenerated. - * extract.c: Regenerated. - * model.c: Regenerated. - * sem-switch.c: Regenerated. - * sem.c: Regenerated. - * fr30.c: Get rid of unused functions. - -Mon Nov 9 18:25:47 1998 Dave Brolley - - * arch.c: Regenerated. - * arch.h: Regenerated. - * cpu.c: Regenerated. - * cpu.h: Regenerated. - * decode.c: Regenerated. - * decode.h: Regenerated. - * extract.c: Regenerated. - * model.c: Regenerated. - * sem-switch.c: Regenerated. - * sem.c: Regenerated. - * fr30.c: Get rid of m32r stuff. Flesh out fr30 stuff. - -Thu Nov 5 15:26:22 1998 Dave Brolley - - * cpu.h: Regenerated. - -Tue Oct 27 15:39:48 1996 Dave Brolley - - * Directory created. diff --git a/sim/fr30/Makefile.in b/sim/fr30/Makefile.in deleted file mode 100644 index 43d70e2e886..00000000000 --- a/sim/fr30/Makefile.in +++ /dev/null @@ -1,107 +0,0 @@ -# OBSOLETE # Makefile template for Configure for the fr30 simulator -# OBSOLETE # Copyright (C) 1998, 2000 Free Software Foundation, Inc. -# OBSOLETE # Contributed by Cygnus Support. -# OBSOLETE # -# OBSOLETE # This program is free software; you can redistribute it and/or modify -# OBSOLETE # it under the terms of the GNU General Public License as published by -# OBSOLETE # the Free Software Foundation; either version 2 of the License, or -# OBSOLETE # (at your option) any later version. -# OBSOLETE # -# OBSOLETE # This program is distributed in the hope that it will be useful, -# OBSOLETE # but WITHOUT ANY WARRANTY; without even the implied warranty of -# OBSOLETE # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# OBSOLETE # GNU General Public License for more details. -# OBSOLETE # -# OBSOLETE # You should have received a copy of the GNU General Public License along -# OBSOLETE # with this program; if not, write to the Free Software Foundation, Inc., -# OBSOLETE # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# OBSOLETE -# OBSOLETE ## COMMON_PRE_CONFIG_FRAG -# OBSOLETE -# OBSOLETE FR30_OBJS = fr30.o cpu.o decode.o sem.o model.o arch.o mloop.o -# OBSOLETE -# OBSOLETE CONFIG_DEVICES = dv-sockser.o -# OBSOLETE CONFIG_DEVICES = -# OBSOLETE -# OBSOLETE SIM_OBJS = \ -# OBSOLETE $(SIM_NEW_COMMON_OBJS) \ -# OBSOLETE sim-cpu.o \ -# OBSOLETE sim-hload.o \ -# OBSOLETE sim-hrw.o \ -# OBSOLETE sim-model.o \ -# OBSOLETE sim-reg.o \ -# OBSOLETE cgen-utils.o cgen-trace.o cgen-scache.o \ -# OBSOLETE cgen-run.o sim-reason.o sim-engine.o sim-stop.o \ -# OBSOLETE sim-if.o \ -# OBSOLETE $(FR30_OBJS) \ -# OBSOLETE traps.o devices.o \ -# OBSOLETE $(CONFIG_DEVICES) -# OBSOLETE -# OBSOLETE # Extra headers included by sim-main.h. -# OBSOLETE SIM_EXTRA_DEPS = \ -# OBSOLETE $(CGEN_INCLUDE_DEPS) \ -# OBSOLETE arch.h cpuall.h fr30-sim.h $(srcdir)/../../opcodes/fr30-desc.h -# OBSOLETE -# OBSOLETE SIM_EXTRA_CFLAGS = -# OBSOLETE -# OBSOLETE SIM_RUN_OBJS = nrun.o -# OBSOLETE SIM_EXTRA_CLEAN = fr30-clean -# OBSOLETE -# OBSOLETE # This selects the fr30 newlib/libgloss syscall definitions. -# OBSOLETE NL_TARGET = -DNL_TARGET_fr30 -# OBSOLETE -# OBSOLETE ## COMMON_POST_CONFIG_FRAG -# OBSOLETE -# OBSOLETE arch = fr30 -# OBSOLETE -# OBSOLETE sim-if.o: sim-if.c $(SIM_MAIN_DEPS) $(srcdir)/../common/sim-core.h -# OBSOLETE -# OBSOLETE arch.o: arch.c $(SIM_MAIN_DEPS) -# OBSOLETE -# OBSOLETE devices.o: devices.c $(SIM_MAIN_DEPS) -# OBSOLETE -# OBSOLETE # FR30 objs -# OBSOLETE -# OBSOLETE FR30BF_INCLUDE_DEPS = \ -# OBSOLETE $(CGEN_MAIN_CPU_DEPS) \ -# OBSOLETE cpu.h decode.h eng.h -# OBSOLETE -# OBSOLETE fr30.o: fr30.c $(FR30BF_INCLUDE_DEPS) -# OBSOLETE -# OBSOLETE # FIXME: Use of `mono' is wip. -# OBSOLETE mloop.c eng.h: stamp-mloop -# OBSOLETE stamp-mloop: $(srcdir)/../common/genmloop.sh mloop.in Makefile -# OBSOLETE $(SHELL) $(srccom)/genmloop.sh \ -# OBSOLETE -mono -fast -pbb -switch sem-switch.c \ -# OBSOLETE -cpu fr30bf -infile $(srcdir)/mloop.in -# OBSOLETE $(SHELL) $(srcroot)/move-if-change eng.hin eng.h -# OBSOLETE $(SHELL) $(srcroot)/move-if-change mloop.cin mloop.c -# OBSOLETE touch stamp-mloop -# OBSOLETE mloop.o: mloop.c sem-switch.c $(FR30BF_INCLUDE_DEPS) -# OBSOLETE -# OBSOLETE cpu.o: cpu.c $(FR30BF_INCLUDE_DEPS) -# OBSOLETE decode.o: decode.c $(FR30BF_INCLUDE_DEPS) -# OBSOLETE sem.o: sem.c $(FR30BF_INCLUDE_DEPS) -# OBSOLETE model.o: model.c $(FR30BF_INCLUDE_DEPS) -# OBSOLETE -# OBSOLETE fr30-clean: -# OBSOLETE rm -f mloop.c eng.h stamp-mloop -# OBSOLETE rm -f tmp-* -# OBSOLETE rm -f stamp-arch stamp-cpu -# OBSOLETE -# OBSOLETE # cgen support, enable with --enable-cgen-maint -# OBSOLETE CGEN_MAINT = ; @true -# OBSOLETE # The following line is commented in or out depending upon --enable-cgen-maint. -# OBSOLETE @CGEN_MAINT@CGEN_MAINT = -# OBSOLETE -# OBSOLETE stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(CGEN_CPU_DIR)/fr30.cpu -# OBSOLETE $(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all \ -# OBSOLETE FLAGS="with-scache with-profile=fn" -# OBSOLETE touch stamp-arch -# OBSOLETE arch.h arch.c cpuall.h: $(CGEN_MAINT) stamp-arch -# OBSOLETE -# OBSOLETE stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CGEN_CPU_DIR)/fr30.cpu -# OBSOLETE $(MAKE) cgen-cpu-decode $(CGEN_FLAGS_TO_PASS) \ -# OBSOLETE cpu=fr30bf mach=fr30 SUFFIX= FLAGS="with-scache with-profile=fn" EXTRAFILES="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)" -# OBSOLETE touch stamp-cpu -# OBSOLETE cpu.h sem.c sem-switch.c model.c decode.c decode.h: $(CGEN_MAINT) stamp-cpu diff --git a/sim/fr30/README b/sim/fr30/README deleted file mode 100644 index da607ec4f41..00000000000 --- a/sim/fr30/README +++ /dev/null @@ -1,14 +0,0 @@ -OBSOLETE This is the fr30 simulator directory. -OBSOLETE -OBSOLETE It is still work-in-progress. The current sources are reasonably -OBSOLETE well tested and lots of features are in. However, there's lots -OBSOLETE more yet to come. -OBSOLETE -OBSOLETE There are lots of machine generated files in the source directory! -OBSOLETE They are only generated if you configure with --enable-cgen-maint, -OBSOLETE similar in behaviour to Makefile.in, configure under automake/autoconf. -OBSOLETE -OBSOLETE For details on the generator, see ../../cgen. -OBSOLETE -OBSOLETE devo/cgen isn't part of the comp-tools module yet. -OBSOLETE You'll need to check it out manually (also akin to automake/autoconf). diff --git a/sim/fr30/TODO b/sim/fr30/TODO deleted file mode 100644 index da9103b3d86..00000000000 --- a/sim/fr30/TODO +++ /dev/null @@ -1,14 +0,0 @@ -OBSOLETE m32r-inherited stuff? -OBSOLETE ---------------------- -OBSOLETE - header file dependencies revisit -OBSOLETE - hooks cleanup -OBSOLETE - testsuites -OBSOLETE - FIXME's -OBSOLETE -OBSOLETE -OBSOLETE m32r stuff? -OBSOLETE ---------------------- -OBSOLETE - memory accesses still test if profiling is on even in fast mode -OBSOLETE - have semantic code use G/SET_H_FOO if not default [incl fun-access] -OBSOLETE - have G/SET_H_FOO macros call function if fun-access -OBSOLETE - --> can always use G/S_H_FOO macros diff --git a/sim/fr30/arch.c b/sim/fr30/arch.c deleted file mode 100644 index 4f1be2e6a3b..00000000000 --- a/sim/fr30/arch.c +++ /dev/null @@ -1,34 +0,0 @@ -// OBSOLETE /* Simulator support for fr30. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #include "bfd.h" -// OBSOLETE -// OBSOLETE const MACH *sim_machs[] = -// OBSOLETE { -// OBSOLETE #ifdef HAVE_CPU_FR30BF -// OBSOLETE & fr30_mach, -// OBSOLETE #endif -// OBSOLETE 0 -// OBSOLETE }; diff --git a/sim/fr30/arch.h b/sim/fr30/arch.h deleted file mode 100644 index 047814a24c7..00000000000 --- a/sim/fr30/arch.h +++ /dev/null @@ -1,45 +0,0 @@ -// OBSOLETE /* Simulator header for fr30. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #ifndef FR30_ARCH_H -// OBSOLETE #define FR30_ARCH_H -// OBSOLETE -// OBSOLETE #define TARGET_BIG_ENDIAN 1 -// OBSOLETE -// OBSOLETE /* Enum declaration for model types. */ -// OBSOLETE typedef enum model_type { -// OBSOLETE MODEL_FR30_1, MODEL_MAX -// OBSOLETE } MODEL_TYPE; -// OBSOLETE -// OBSOLETE #define MAX_MODELS ((int) MODEL_MAX) -// OBSOLETE -// OBSOLETE /* Enum declaration for unit types. */ -// OBSOLETE typedef enum unit_type { -// OBSOLETE UNIT_NONE, UNIT_FR30_1_U_STM, UNIT_FR30_1_U_LDM, UNIT_FR30_1_U_STORE -// OBSOLETE , UNIT_FR30_1_U_LOAD, UNIT_FR30_1_U_CTI, UNIT_FR30_1_U_EXEC, UNIT_MAX -// OBSOLETE } UNIT_TYPE; -// OBSOLETE -// OBSOLETE #define MAX_UNITS (3) -// OBSOLETE -// OBSOLETE #endif /* FR30_ARCH_H */ diff --git a/sim/fr30/config.in b/sim/fr30/config.in deleted file mode 100644 index 9723b8662c9..00000000000 --- a/sim/fr30/config.in +++ /dev/null @@ -1,162 +0,0 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define if your processor stores words with the most significant - byte first (like Motorola and SPARC, unlike Intel and VAX). */ -#undef WORDS_BIGENDIAN - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define if you have the __setfpucw function. */ -#undef HAVE___SETFPUCW - -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the getrusage function. */ -#undef HAVE_GETRUSAGE - -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP - -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV - -/* Define if you have the setenv function. */ -#undef HAVE_SETENV - -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE - -/* Define if you have the sigaction function. */ -#undef HAVE_SIGACTION - -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the time function. */ -#undef HAVE_TIME - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the header file. */ -#undef HAVE_FPU_CONTROL_H - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the header file. */ -#undef HAVE_STRING_H - -/* Define if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_VALUES_H diff --git a/sim/fr30/configure b/sim/fr30/configure deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/sim/fr30/configure.in b/sim/fr30/configure.in deleted file mode 100644 index db5703bf166..00000000000 --- a/sim/fr30/configure.in +++ /dev/null @@ -1,16 +0,0 @@ -dnl OBSOLETE dnl Process this file with autoconf to produce a configure script. -dnl OBSOLETE sinclude(../common/aclocal.m4) -dnl OBSOLETE AC_PREREQ(2.5)dnl -dnl OBSOLETE AC_INIT(Makefile.in) -dnl OBSOLETE -dnl OBSOLETE SIM_AC_COMMON -dnl OBSOLETE -dnl OBSOLETE SIM_AC_OPTION_ENDIAN(BIG_ENDIAN) -dnl OBSOLETE SIM_AC_OPTION_ALIGNMENT(FORCED_ALIGNMENT) -dnl OBSOLETE SIM_AC_OPTION_HOSTENDIAN -dnl OBSOLETE SIM_AC_OPTION_SCACHE(16384) -dnl OBSOLETE SIM_AC_OPTION_DEFAULT_MODEL(fr30-1) -dnl OBSOLETE SIM_AC_OPTION_ENVIRONMENT -dnl OBSOLETE SIM_AC_OPTION_CGEN_MAINT -dnl OBSOLETE -dnl OBSOLETE SIM_AC_OUTPUT diff --git a/sim/fr30/cpu.c b/sim/fr30/cpu.c deleted file mode 100644 index 22cb809d884..00000000000 --- a/sim/fr30/cpu.c +++ /dev/null @@ -1,357 +0,0 @@ -// OBSOLETE /* Misc. support for CPU family fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #define WANT_CPU fr30bf -// OBSOLETE #define WANT_CPU_FR30BF -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #include "cgen-ops.h" -// OBSOLETE -// OBSOLETE /* Get the value of h-pc. */ -// OBSOLETE -// OBSOLETE USI -// OBSOLETE fr30bf_h_pc_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_pc); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-pc. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_pc_set (SIM_CPU *current_cpu, USI newval) -// OBSOLETE { -// OBSOLETE CPU (h_pc) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-gr. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_gr_get (SIM_CPU *current_cpu, UINT regno) -// OBSOLETE { -// OBSOLETE return CPU (h_gr[regno]); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-gr. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_gr_set (SIM_CPU *current_cpu, UINT regno, SI newval) -// OBSOLETE { -// OBSOLETE CPU (h_gr[regno]) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-cr. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_cr_get (SIM_CPU *current_cpu, UINT regno) -// OBSOLETE { -// OBSOLETE return CPU (h_cr[regno]); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-cr. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_cr_set (SIM_CPU *current_cpu, UINT regno, SI newval) -// OBSOLETE { -// OBSOLETE CPU (h_cr[regno]) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-dr. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_dr_get (SIM_CPU *current_cpu, UINT regno) -// OBSOLETE { -// OBSOLETE return GET_H_DR (regno); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-dr. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_dr_set (SIM_CPU *current_cpu, UINT regno, SI newval) -// OBSOLETE { -// OBSOLETE SET_H_DR (regno, newval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-ps. */ -// OBSOLETE -// OBSOLETE USI -// OBSOLETE fr30bf_h_ps_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return GET_H_PS (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-ps. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ps_set (SIM_CPU *current_cpu, USI newval) -// OBSOLETE { -// OBSOLETE SET_H_PS (newval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-r13. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_r13_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_r13); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-r13. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_r13_set (SIM_CPU *current_cpu, SI newval) -// OBSOLETE { -// OBSOLETE CPU (h_r13) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-r14. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_r14_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_r14); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-r14. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_r14_set (SIM_CPU *current_cpu, SI newval) -// OBSOLETE { -// OBSOLETE CPU (h_r14) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-r15. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_r15_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_r15); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-r15. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_r15_set (SIM_CPU *current_cpu, SI newval) -// OBSOLETE { -// OBSOLETE CPU (h_r15) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-nbit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_nbit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_nbit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-nbit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_nbit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_nbit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-zbit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_zbit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_zbit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-zbit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_zbit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_zbit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-vbit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_vbit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_vbit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-vbit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_vbit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_vbit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-cbit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_cbit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_cbit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-cbit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_cbit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_cbit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-ibit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_ibit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_ibit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-ibit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ibit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_ibit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-sbit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_sbit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return GET_H_SBIT (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-sbit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_sbit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE SET_H_SBIT (newval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-tbit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_tbit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_tbit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-tbit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_tbit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_tbit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-d0bit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_d0bit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_d0bit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-d0bit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_d0bit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_d0bit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-d1bit. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_d1bit_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_d1bit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-d1bit. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_d1bit_set (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE CPU (h_d1bit) = newval; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-ccr. */ -// OBSOLETE -// OBSOLETE UQI -// OBSOLETE fr30bf_h_ccr_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return GET_H_CCR (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-ccr. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ccr_set (SIM_CPU *current_cpu, UQI newval) -// OBSOLETE { -// OBSOLETE SET_H_CCR (newval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-scr. */ -// OBSOLETE -// OBSOLETE UQI -// OBSOLETE fr30bf_h_scr_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return GET_H_SCR (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-scr. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_scr_set (SIM_CPU *current_cpu, UQI newval) -// OBSOLETE { -// OBSOLETE SET_H_SCR (newval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Get the value of h-ilm. */ -// OBSOLETE -// OBSOLETE UQI -// OBSOLETE fr30bf_h_ilm_get (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return GET_H_ILM (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Set a value for h-ilm. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ilm_set (SIM_CPU *current_cpu, UQI newval) -// OBSOLETE { -// OBSOLETE SET_H_ILM (newval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Record trace results for INSN. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_record_trace_results (SIM_CPU *current_cpu, CGEN_INSN *insn, -// OBSOLETE int *indices, TRACE_RECORD *tr) -// OBSOLETE { -// OBSOLETE } diff --git a/sim/fr30/cpu.h b/sim/fr30/cpu.h deleted file mode 100644 index 65059204154..00000000000 --- a/sim/fr30/cpu.h +++ /dev/null @@ -1,890 +0,0 @@ -// OBSOLETE /* CPU family header for fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #ifndef CPU_FR30BF_H -// OBSOLETE #define CPU_FR30BF_H -// OBSOLETE -// OBSOLETE /* Maximum number of instructions that are fetched at a time. -// OBSOLETE This is for LIW type instructions sets (e.g. m32r). */ -// OBSOLETE #define MAX_LIW_INSNS 1 -// OBSOLETE -// OBSOLETE /* Maximum number of instructions that can be executed in parallel. */ -// OBSOLETE #define MAX_PARALLEL_INSNS 1 -// OBSOLETE -// OBSOLETE /* CPU state information. */ -// OBSOLETE typedef struct { -// OBSOLETE /* Hardware elements. */ -// OBSOLETE struct { -// OBSOLETE /* program counter */ -// OBSOLETE USI h_pc; -// OBSOLETE #define GET_H_PC() CPU (h_pc) -// OBSOLETE #define SET_H_PC(x) (CPU (h_pc) = (x)) -// OBSOLETE /* general registers */ -// OBSOLETE SI h_gr[16]; -// OBSOLETE #define GET_H_GR(a1) CPU (h_gr)[a1] -// OBSOLETE #define SET_H_GR(a1, x) (CPU (h_gr)[a1] = (x)) -// OBSOLETE /* coprocessor registers */ -// OBSOLETE SI h_cr[16]; -// OBSOLETE #define GET_H_CR(a1) CPU (h_cr)[a1] -// OBSOLETE #define SET_H_CR(a1, x) (CPU (h_cr)[a1] = (x)) -// OBSOLETE /* dedicated registers */ -// OBSOLETE SI h_dr[6]; -// OBSOLETE #define GET_H_DR(index) fr30bf_h_dr_get_handler (current_cpu, index) -// OBSOLETE #define SET_H_DR(index, x) \ -// OBSOLETE do { \ -// OBSOLETE fr30bf_h_dr_set_handler (current_cpu, (index), (x));\ -// OBSOLETE ;} while (0) -// OBSOLETE /* processor status */ -// OBSOLETE USI h_ps; -// OBSOLETE #define GET_H_PS() fr30bf_h_ps_get_handler (current_cpu) -// OBSOLETE #define SET_H_PS(x) \ -// OBSOLETE do { \ -// OBSOLETE fr30bf_h_ps_set_handler (current_cpu, (x));\ -// OBSOLETE ;} while (0) -// OBSOLETE /* General Register 13 explicitly required */ -// OBSOLETE SI h_r13; -// OBSOLETE #define GET_H_R13() CPU (h_r13) -// OBSOLETE #define SET_H_R13(x) (CPU (h_r13) = (x)) -// OBSOLETE /* General Register 14 explicitly required */ -// OBSOLETE SI h_r14; -// OBSOLETE #define GET_H_R14() CPU (h_r14) -// OBSOLETE #define SET_H_R14(x) (CPU (h_r14) = (x)) -// OBSOLETE /* General Register 15 explicitly required */ -// OBSOLETE SI h_r15; -// OBSOLETE #define GET_H_R15() CPU (h_r15) -// OBSOLETE #define SET_H_R15(x) (CPU (h_r15) = (x)) -// OBSOLETE /* negative bit */ -// OBSOLETE BI h_nbit; -// OBSOLETE #define GET_H_NBIT() CPU (h_nbit) -// OBSOLETE #define SET_H_NBIT(x) (CPU (h_nbit) = (x)) -// OBSOLETE /* zero bit */ -// OBSOLETE BI h_zbit; -// OBSOLETE #define GET_H_ZBIT() CPU (h_zbit) -// OBSOLETE #define SET_H_ZBIT(x) (CPU (h_zbit) = (x)) -// OBSOLETE /* overflow bit */ -// OBSOLETE BI h_vbit; -// OBSOLETE #define GET_H_VBIT() CPU (h_vbit) -// OBSOLETE #define SET_H_VBIT(x) (CPU (h_vbit) = (x)) -// OBSOLETE /* carry bit */ -// OBSOLETE BI h_cbit; -// OBSOLETE #define GET_H_CBIT() CPU (h_cbit) -// OBSOLETE #define SET_H_CBIT(x) (CPU (h_cbit) = (x)) -// OBSOLETE /* interrupt enable bit */ -// OBSOLETE BI h_ibit; -// OBSOLETE #define GET_H_IBIT() CPU (h_ibit) -// OBSOLETE #define SET_H_IBIT(x) (CPU (h_ibit) = (x)) -// OBSOLETE /* stack bit */ -// OBSOLETE BI h_sbit; -// OBSOLETE #define GET_H_SBIT() fr30bf_h_sbit_get_handler (current_cpu) -// OBSOLETE #define SET_H_SBIT(x) \ -// OBSOLETE do { \ -// OBSOLETE fr30bf_h_sbit_set_handler (current_cpu, (x));\ -// OBSOLETE ;} while (0) -// OBSOLETE /* trace trap bit */ -// OBSOLETE BI h_tbit; -// OBSOLETE #define GET_H_TBIT() CPU (h_tbit) -// OBSOLETE #define SET_H_TBIT(x) (CPU (h_tbit) = (x)) -// OBSOLETE /* division 0 bit */ -// OBSOLETE BI h_d0bit; -// OBSOLETE #define GET_H_D0BIT() CPU (h_d0bit) -// OBSOLETE #define SET_H_D0BIT(x) (CPU (h_d0bit) = (x)) -// OBSOLETE /* division 1 bit */ -// OBSOLETE BI h_d1bit; -// OBSOLETE #define GET_H_D1BIT() CPU (h_d1bit) -// OBSOLETE #define SET_H_D1BIT(x) (CPU (h_d1bit) = (x)) -// OBSOLETE /* condition code bits */ -// OBSOLETE UQI h_ccr; -// OBSOLETE #define GET_H_CCR() fr30bf_h_ccr_get_handler (current_cpu) -// OBSOLETE #define SET_H_CCR(x) \ -// OBSOLETE do { \ -// OBSOLETE fr30bf_h_ccr_set_handler (current_cpu, (x));\ -// OBSOLETE ;} while (0) -// OBSOLETE /* system condition bits */ -// OBSOLETE UQI h_scr; -// OBSOLETE #define GET_H_SCR() fr30bf_h_scr_get_handler (current_cpu) -// OBSOLETE #define SET_H_SCR(x) \ -// OBSOLETE do { \ -// OBSOLETE fr30bf_h_scr_set_handler (current_cpu, (x));\ -// OBSOLETE ;} while (0) -// OBSOLETE /* interrupt level mask */ -// OBSOLETE UQI h_ilm; -// OBSOLETE #define GET_H_ILM() fr30bf_h_ilm_get_handler (current_cpu) -// OBSOLETE #define SET_H_ILM(x) \ -// OBSOLETE do { \ -// OBSOLETE fr30bf_h_ilm_set_handler (current_cpu, (x));\ -// OBSOLETE ;} while (0) -// OBSOLETE } hardware; -// OBSOLETE #define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware) -// OBSOLETE } FR30BF_CPU_DATA; -// OBSOLETE -// OBSOLETE /* Cover fns for register access. */ -// OBSOLETE USI fr30bf_h_pc_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_pc_set (SIM_CPU *, USI); -// OBSOLETE SI fr30bf_h_gr_get (SIM_CPU *, UINT); -// OBSOLETE void fr30bf_h_gr_set (SIM_CPU *, UINT, SI); -// OBSOLETE SI fr30bf_h_cr_get (SIM_CPU *, UINT); -// OBSOLETE void fr30bf_h_cr_set (SIM_CPU *, UINT, SI); -// OBSOLETE SI fr30bf_h_dr_get (SIM_CPU *, UINT); -// OBSOLETE void fr30bf_h_dr_set (SIM_CPU *, UINT, SI); -// OBSOLETE USI fr30bf_h_ps_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_ps_set (SIM_CPU *, USI); -// OBSOLETE SI fr30bf_h_r13_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_r13_set (SIM_CPU *, SI); -// OBSOLETE SI fr30bf_h_r14_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_r14_set (SIM_CPU *, SI); -// OBSOLETE SI fr30bf_h_r15_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_r15_set (SIM_CPU *, SI); -// OBSOLETE BI fr30bf_h_nbit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_nbit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_zbit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_zbit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_vbit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_vbit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_cbit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_cbit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_ibit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_ibit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_sbit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_sbit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_tbit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_tbit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_d0bit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_d0bit_set (SIM_CPU *, BI); -// OBSOLETE BI fr30bf_h_d1bit_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_d1bit_set (SIM_CPU *, BI); -// OBSOLETE UQI fr30bf_h_ccr_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_ccr_set (SIM_CPU *, UQI); -// OBSOLETE UQI fr30bf_h_scr_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_scr_set (SIM_CPU *, UQI); -// OBSOLETE UQI fr30bf_h_ilm_get (SIM_CPU *); -// OBSOLETE void fr30bf_h_ilm_set (SIM_CPU *, UQI); -// OBSOLETE -// OBSOLETE /* These must be hand-written. */ -// OBSOLETE extern CPUREG_FETCH_FN fr30bf_fetch_register; -// OBSOLETE extern CPUREG_STORE_FN fr30bf_store_register; -// OBSOLETE -// OBSOLETE typedef struct { -// OBSOLETE UINT load_regs; -// OBSOLETE UINT load_regs_pending; -// OBSOLETE } MODEL_FR30_1_DATA; -// OBSOLETE -// OBSOLETE /* Instruction argument buffer. */ -// OBSOLETE -// OBSOLETE union sem_fields { -// OBSOLETE struct { /* no operands */ -// OBSOLETE int empty; -// OBSOLETE } fmt_empty; -// OBSOLETE struct { /* */ -// OBSOLETE IADDR i_label9; -// OBSOLETE } sfmt_brad; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_u8; -// OBSOLETE } sfmt_int; -// OBSOLETE struct { /* */ -// OBSOLETE IADDR i_label12; -// OBSOLETE } sfmt_call; -// OBSOLETE struct { /* */ -// OBSOLETE SI f_s10; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_addsp; -// OBSOLETE struct { /* */ -// OBSOLETE USI f_dir10; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_dmovr15pi; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_dir8; -// OBSOLETE unsigned char in_h_gr_SI_13; -// OBSOLETE unsigned char out_h_gr_SI_13; -// OBSOLETE } sfmt_dmovr13pib; -// OBSOLETE struct { /* */ -// OBSOLETE USI f_dir9; -// OBSOLETE unsigned char in_h_gr_SI_13; -// OBSOLETE unsigned char out_h_gr_SI_13; -// OBSOLETE } sfmt_dmovr13pih; -// OBSOLETE struct { /* */ -// OBSOLETE USI f_dir10; -// OBSOLETE unsigned char in_h_gr_SI_13; -// OBSOLETE unsigned char out_h_gr_SI_13; -// OBSOLETE } sfmt_dmovr13pi; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_Rs2; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_ldr15dr; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_Rs1; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE } sfmt_mov2dr; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_Rs1; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_movdr; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_i32; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldi32; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_i20; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldi20; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_i8; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldi8; -// OBSOLETE struct { /* */ -// OBSOLETE USI f_u10; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_14; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_enter; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_str15gr; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE USI f_udisp6; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE } sfmt_str15; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE INT f_disp8; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE } sfmt_str14b; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI f_disp9; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE } sfmt_str14h; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI f_disp10; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE } sfmt_str14; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_ldr15gr; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE USI f_udisp6; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldr15; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE INT f_disp8; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldr14ub; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI f_disp9; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldr14uh; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI f_disp10; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldr14; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI f_m4; -// OBSOLETE UINT f_Ri; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_add2; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_u4; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_addi; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI* i_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_Rj; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_Rj; -// OBSOLETE unsigned char in_h_gr_SI_13; -// OBSOLETE } sfmt_str13; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI* i_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_Rj; -// OBSOLETE unsigned char in_Rj; -// OBSOLETE unsigned char in_h_gr_SI_13; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_ldr13; -// OBSOLETE struct { /* */ -// OBSOLETE SI* i_Ri; -// OBSOLETE SI* i_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_Rj; -// OBSOLETE unsigned char in_Ri; -// OBSOLETE unsigned char in_Rj; -// OBSOLETE unsigned char out_Ri; -// OBSOLETE } sfmt_add; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_reglist_hi_st; -// OBSOLETE unsigned char in_h_gr_SI_10; -// OBSOLETE unsigned char in_h_gr_SI_11; -// OBSOLETE unsigned char in_h_gr_SI_12; -// OBSOLETE unsigned char in_h_gr_SI_13; -// OBSOLETE unsigned char in_h_gr_SI_14; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char in_h_gr_SI_8; -// OBSOLETE unsigned char in_h_gr_SI_9; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_stm1; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_reglist_hi_ld; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_10; -// OBSOLETE unsigned char out_h_gr_SI_11; -// OBSOLETE unsigned char out_h_gr_SI_12; -// OBSOLETE unsigned char out_h_gr_SI_13; -// OBSOLETE unsigned char out_h_gr_SI_14; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_8; -// OBSOLETE unsigned char out_h_gr_SI_9; -// OBSOLETE } sfmt_ldm1; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_reglist_low_st; -// OBSOLETE unsigned char in_h_gr_SI_0; -// OBSOLETE unsigned char in_h_gr_SI_1; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char in_h_gr_SI_2; -// OBSOLETE unsigned char in_h_gr_SI_3; -// OBSOLETE unsigned char in_h_gr_SI_4; -// OBSOLETE unsigned char in_h_gr_SI_5; -// OBSOLETE unsigned char in_h_gr_SI_6; -// OBSOLETE unsigned char in_h_gr_SI_7; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE } sfmt_stm0; -// OBSOLETE struct { /* */ -// OBSOLETE UINT f_reglist_low_ld; -// OBSOLETE unsigned char in_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_0; -// OBSOLETE unsigned char out_h_gr_SI_1; -// OBSOLETE unsigned char out_h_gr_SI_15; -// OBSOLETE unsigned char out_h_gr_SI_2; -// OBSOLETE unsigned char out_h_gr_SI_3; -// OBSOLETE unsigned char out_h_gr_SI_4; -// OBSOLETE unsigned char out_h_gr_SI_5; -// OBSOLETE unsigned char out_h_gr_SI_6; -// OBSOLETE unsigned char out_h_gr_SI_7; -// OBSOLETE } sfmt_ldm0; -// OBSOLETE #if WITH_SCACHE_PBB -// OBSOLETE /* Writeback handler. */ -// OBSOLETE struct { -// OBSOLETE /* Pointer to argbuf entry for insn whose results need writing back. */ -// OBSOLETE const struct argbuf *abuf; -// OBSOLETE } write; -// OBSOLETE /* x-before handler */ -// OBSOLETE struct { -// OBSOLETE /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/ -// OBSOLETE int first_p; -// OBSOLETE } before; -// OBSOLETE /* x-after handler */ -// OBSOLETE struct { -// OBSOLETE int empty; -// OBSOLETE } after; -// OBSOLETE /* This entry is used to terminate each pbb. */ -// OBSOLETE struct { -// OBSOLETE /* Number of insns in pbb. */ -// OBSOLETE int insn_count; -// OBSOLETE /* Next pbb to execute. */ -// OBSOLETE SCACHE *next; -// OBSOLETE SCACHE *branch_target; -// OBSOLETE } chain; -// OBSOLETE #endif -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* The ARGBUF struct. */ -// OBSOLETE struct argbuf { -// OBSOLETE /* These are the baseclass definitions. */ -// OBSOLETE IADDR addr; -// OBSOLETE const IDESC *idesc; -// OBSOLETE char trace_p; -// OBSOLETE char profile_p; -// OBSOLETE /* ??? Temporary hack for skip insns. */ -// OBSOLETE char skip_count; -// OBSOLETE char unused; -// OBSOLETE /* cpu specific data follows */ -// OBSOLETE union sem semantic; -// OBSOLETE int written; -// OBSOLETE union sem_fields fields; -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* A cached insn. -// OBSOLETE -// OBSOLETE ??? SCACHE used to contain more than just argbuf. We could delete the -// OBSOLETE type entirely and always just use ARGBUF, but for future concerns and as -// OBSOLETE a level of abstraction it is left in. */ -// OBSOLETE -// OBSOLETE struct scache { -// OBSOLETE struct argbuf argbuf; -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* Macros to simplify extraction, reading and semantic code. -// OBSOLETE These define and assign the local vars that contain the insn's fields. */ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_EMPTY_VARS \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_EMPTY_CODE \ -// OBSOLETE length = 0; \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_ADD_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_Rj; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_ADD_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_ADDI_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_u4; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_ADDI_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_ADD2_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE SI f_m4; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_ADD2_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_DIV0S_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_DIV0S_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_DIV3_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_op4; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_DIV3_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_op4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDI8_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_i8; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDI8_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDI20_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_i20_4; \ -// OBSOLETE UINT f_i20_16; \ -// OBSOLETE UINT f_i20; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE /* Contents of trailing part of insn. */ \ -// OBSOLETE UINT word_1; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDI20_CODE \ -// OBSOLETE length = 4; \ -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); \ -// OBSOLETE {\ -// OBSOLETE f_i20 = ((((f_i20_4) << (16))) | (f_i20_16));\ -// OBSOLETE }\ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDI32_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_i32; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE /* Contents of trailing part of insn. */ \ -// OBSOLETE UINT word_1; \ -// OBSOLETE UINT word_2; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDI32_CODE \ -// OBSOLETE length = 6; \ -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); \ -// OBSOLETE word_2 = GETIMEMUHI (current_cpu, pc + 4); \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDR14_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE SI f_disp10; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDR14_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDR14UH_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE SI f_disp9; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDR14UH_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDR14UB_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE INT f_disp8; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDR14UB_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDR15_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE USI f_udisp6; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDR15_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDR15DR_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_Rs2; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDR15DR_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_MOVDR_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_Rs1; \ -// OBSOLETE UINT f_Ri; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_MOVDR_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_CALL_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op5; \ -// OBSOLETE SI f_rel12; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_CALL_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op5 = EXTRACT_MSB0_UINT (insn, 16, 4, 1); \ -// OBSOLETE f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_INT_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_u8; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_INT_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_BRAD_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_cc; \ -// OBSOLETE SI f_rel9; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_BRAD_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_cc = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_DMOVR13_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE USI f_dir10; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_DMOVR13_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_DMOVR13H_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE USI f_dir9; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_DMOVR13H_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_DMOVR13B_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_dir8; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_DMOVR13B_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_COPOP_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_ccc; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_CRj; \ -// OBSOLETE UINT f_u4c; \ -// OBSOLETE UINT f_CRi; \ -// OBSOLETE /* Contents of trailing part of insn. */ \ -// OBSOLETE UINT word_1; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_COPOP_CODE \ -// OBSOLETE length = 4; \ -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \ -// OBSOLETE f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_COPLD_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_ccc; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_Rjc; \ -// OBSOLETE UINT f_u4c; \ -// OBSOLETE UINT f_CRi; \ -// OBSOLETE /* Contents of trailing part of insn. */ \ -// OBSOLETE UINT word_1; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_COPLD_CODE \ -// OBSOLETE length = 4; \ -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_Rjc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \ -// OBSOLETE f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE f_CRi = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_COPST_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_ccc; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_op3; \ -// OBSOLETE UINT f_CRj; \ -// OBSOLETE UINT f_u4c; \ -// OBSOLETE UINT f_Ric; \ -// OBSOLETE /* Contents of trailing part of insn. */ \ -// OBSOLETE UINT word_1; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_COPST_CODE \ -// OBSOLETE length = 4; \ -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_ccc = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 8) << 0)); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_op3 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \ -// OBSOLETE f_CRj = (0|(EXTRACT_MSB0_UINT (word_1, 16, 8, 4) << 0)); \ -// OBSOLETE f_u4c = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \ -// OBSOLETE f_Ric = (0|(EXTRACT_MSB0_UINT (word_1, 16, 12, 4) << 0)); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_ADDSP_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE SI f_s10; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_ADDSP_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDM0_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_reglist_low_ld; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDM0_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_LDM1_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_reglist_hi_ld; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_LDM1_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_STM0_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_reglist_low_st; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_STM0_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_STM1_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE UINT f_reglist_hi_st; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_STM1_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \ -// OBSOLETE -// OBSOLETE #define EXTRACT_IFMT_ENTER_VARS \ -// OBSOLETE UINT f_op1; \ -// OBSOLETE UINT f_op2; \ -// OBSOLETE USI f_u10; \ -// OBSOLETE unsigned int length; -// OBSOLETE #define EXTRACT_IFMT_ENTER_CODE \ -// OBSOLETE length = 2; \ -// OBSOLETE f_op1 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \ -// OBSOLETE f_op2 = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \ -// OBSOLETE f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \ -// OBSOLETE -// OBSOLETE /* Collection of various things for the trace handler to use. */ -// OBSOLETE -// OBSOLETE typedef struct trace_record { -// OBSOLETE IADDR pc; -// OBSOLETE /* FIXME:wip */ -// OBSOLETE } TRACE_RECORD; -// OBSOLETE -// OBSOLETE #endif /* CPU_FR30BF_H */ diff --git a/sim/fr30/cpuall.h b/sim/fr30/cpuall.h deleted file mode 100644 index e0c7c003d8b..00000000000 --- a/sim/fr30/cpuall.h +++ /dev/null @@ -1,66 +0,0 @@ -// OBSOLETE /* Simulator CPU header for fr30. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #ifndef FR30_CPUALL_H -// OBSOLETE #define FR30_CPUALL_H -// OBSOLETE -// OBSOLETE /* Include files for each cpu family. */ -// OBSOLETE -// OBSOLETE #ifdef WANT_CPU_FR30BF -// OBSOLETE #include "eng.h" -// OBSOLETE #include "cgen-engine.h" -// OBSOLETE #include "cpu.h" -// OBSOLETE #include "decode.h" -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE extern const MACH fr30_mach; -// OBSOLETE -// OBSOLETE #ifndef WANT_CPU -// OBSOLETE /* The ARGBUF struct. */ -// OBSOLETE struct argbuf { -// OBSOLETE /* These are the baseclass definitions. */ -// OBSOLETE IADDR addr; -// OBSOLETE const IDESC *idesc; -// OBSOLETE char trace_p; -// OBSOLETE char profile_p; -// OBSOLETE /* ??? Temporary hack for skip insns. */ -// OBSOLETE char skip_count; -// OBSOLETE char unused; -// OBSOLETE /* cpu specific data follows */ -// OBSOLETE }; -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE #ifndef WANT_CPU -// OBSOLETE /* A cached insn. -// OBSOLETE -// OBSOLETE ??? SCACHE used to contain more than just argbuf. We could delete the -// OBSOLETE type entirely and always just use ARGBUF, but for future concerns and as -// OBSOLETE a level of abstraction it is left in. */ -// OBSOLETE -// OBSOLETE struct scache { -// OBSOLETE struct argbuf argbuf; -// OBSOLETE }; -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE #endif /* FR30_CPUALL_H */ diff --git a/sim/fr30/decode.c b/sim/fr30/decode.c deleted file mode 100644 index dbbcce57c21..00000000000 --- a/sim/fr30/decode.c +++ /dev/null @@ -1,3453 +0,0 @@ -// OBSOLETE /* Simulator instruction decoder for fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #define WANT_CPU fr30bf -// OBSOLETE #define WANT_CPU_FR30BF -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #include "sim-assert.h" -// OBSOLETE -// OBSOLETE /* The instruction descriptor array. -// OBSOLETE This is computed at runtime. Space for it is not malloc'd to save a -// OBSOLETE teensy bit of cpu in the decoder. Moving it to malloc space is trivial -// OBSOLETE but won't be done until necessary (we don't currently support the runtime -// OBSOLETE addition of instructions nor an SMP machine with different cpus). */ -// OBSOLETE static IDESC fr30bf_insn_data[FR30BF_INSN_XCHB + 1]; -// OBSOLETE -// OBSOLETE /* Commas between elements are contained in the macros. -// OBSOLETE Some of these are conditionally compiled out. */ -// OBSOLETE -// OBSOLETE static const struct insn_sem fr30bf_insn_sem[] = -// OBSOLETE { -// OBSOLETE { VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY }, -// OBSOLETE { VIRTUAL_INSN_X_AFTER, FR30BF_INSN_X_AFTER, FR30BF_SFMT_EMPTY }, -// OBSOLETE { VIRTUAL_INSN_X_BEFORE, FR30BF_INSN_X_BEFORE, FR30BF_SFMT_EMPTY }, -// OBSOLETE { VIRTUAL_INSN_X_CTI_CHAIN, FR30BF_INSN_X_CTI_CHAIN, FR30BF_SFMT_EMPTY }, -// OBSOLETE { VIRTUAL_INSN_X_CHAIN, FR30BF_INSN_X_CHAIN, FR30BF_SFMT_EMPTY }, -// OBSOLETE { VIRTUAL_INSN_X_BEGIN, FR30BF_INSN_X_BEGIN, FR30BF_SFMT_EMPTY }, -// OBSOLETE { FR30_INSN_ADD, FR30BF_INSN_ADD, FR30BF_SFMT_ADD }, -// OBSOLETE { FR30_INSN_ADDI, FR30BF_INSN_ADDI, FR30BF_SFMT_ADDI }, -// OBSOLETE { FR30_INSN_ADD2, FR30BF_INSN_ADD2, FR30BF_SFMT_ADD2 }, -// OBSOLETE { FR30_INSN_ADDC, FR30BF_INSN_ADDC, FR30BF_SFMT_ADDC }, -// OBSOLETE { FR30_INSN_ADDN, FR30BF_INSN_ADDN, FR30BF_SFMT_ADDN }, -// OBSOLETE { FR30_INSN_ADDNI, FR30BF_INSN_ADDNI, FR30BF_SFMT_ADDNI }, -// OBSOLETE { FR30_INSN_ADDN2, FR30BF_INSN_ADDN2, FR30BF_SFMT_ADDN2 }, -// OBSOLETE { FR30_INSN_SUB, FR30BF_INSN_SUB, FR30BF_SFMT_ADD }, -// OBSOLETE { FR30_INSN_SUBC, FR30BF_INSN_SUBC, FR30BF_SFMT_ADDC }, -// OBSOLETE { FR30_INSN_SUBN, FR30BF_INSN_SUBN, FR30BF_SFMT_ADDN }, -// OBSOLETE { FR30_INSN_CMP, FR30BF_INSN_CMP, FR30BF_SFMT_CMP }, -// OBSOLETE { FR30_INSN_CMPI, FR30BF_INSN_CMPI, FR30BF_SFMT_CMPI }, -// OBSOLETE { FR30_INSN_CMP2, FR30BF_INSN_CMP2, FR30BF_SFMT_CMP2 }, -// OBSOLETE { FR30_INSN_AND, FR30BF_INSN_AND, FR30BF_SFMT_AND }, -// OBSOLETE { FR30_INSN_OR, FR30BF_INSN_OR, FR30BF_SFMT_AND }, -// OBSOLETE { FR30_INSN_EOR, FR30BF_INSN_EOR, FR30BF_SFMT_AND }, -// OBSOLETE { FR30_INSN_ANDM, FR30BF_INSN_ANDM, FR30BF_SFMT_ANDM }, -// OBSOLETE { FR30_INSN_ANDH, FR30BF_INSN_ANDH, FR30BF_SFMT_ANDH }, -// OBSOLETE { FR30_INSN_ANDB, FR30BF_INSN_ANDB, FR30BF_SFMT_ANDB }, -// OBSOLETE { FR30_INSN_ORM, FR30BF_INSN_ORM, FR30BF_SFMT_ANDM }, -// OBSOLETE { FR30_INSN_ORH, FR30BF_INSN_ORH, FR30BF_SFMT_ANDH }, -// OBSOLETE { FR30_INSN_ORB, FR30BF_INSN_ORB, FR30BF_SFMT_ANDB }, -// OBSOLETE { FR30_INSN_EORM, FR30BF_INSN_EORM, FR30BF_SFMT_ANDM }, -// OBSOLETE { FR30_INSN_EORH, FR30BF_INSN_EORH, FR30BF_SFMT_ANDH }, -// OBSOLETE { FR30_INSN_EORB, FR30BF_INSN_EORB, FR30BF_SFMT_ANDB }, -// OBSOLETE { FR30_INSN_BANDL, FR30BF_INSN_BANDL, FR30BF_SFMT_BANDL }, -// OBSOLETE { FR30_INSN_BORL, FR30BF_INSN_BORL, FR30BF_SFMT_BANDL }, -// OBSOLETE { FR30_INSN_BEORL, FR30BF_INSN_BEORL, FR30BF_SFMT_BANDL }, -// OBSOLETE { FR30_INSN_BANDH, FR30BF_INSN_BANDH, FR30BF_SFMT_BANDL }, -// OBSOLETE { FR30_INSN_BORH, FR30BF_INSN_BORH, FR30BF_SFMT_BANDL }, -// OBSOLETE { FR30_INSN_BEORH, FR30BF_INSN_BEORH, FR30BF_SFMT_BANDL }, -// OBSOLETE { FR30_INSN_BTSTL, FR30BF_INSN_BTSTL, FR30BF_SFMT_BTSTL }, -// OBSOLETE { FR30_INSN_BTSTH, FR30BF_INSN_BTSTH, FR30BF_SFMT_BTSTL }, -// OBSOLETE { FR30_INSN_MUL, FR30BF_INSN_MUL, FR30BF_SFMT_MUL }, -// OBSOLETE { FR30_INSN_MULU, FR30BF_INSN_MULU, FR30BF_SFMT_MULU }, -// OBSOLETE { FR30_INSN_MULH, FR30BF_INSN_MULH, FR30BF_SFMT_MULH }, -// OBSOLETE { FR30_INSN_MULUH, FR30BF_INSN_MULUH, FR30BF_SFMT_MULH }, -// OBSOLETE { FR30_INSN_DIV0S, FR30BF_INSN_DIV0S, FR30BF_SFMT_DIV0S }, -// OBSOLETE { FR30_INSN_DIV0U, FR30BF_INSN_DIV0U, FR30BF_SFMT_DIV0U }, -// OBSOLETE { FR30_INSN_DIV1, FR30BF_INSN_DIV1, FR30BF_SFMT_DIV1 }, -// OBSOLETE { FR30_INSN_DIV2, FR30BF_INSN_DIV2, FR30BF_SFMT_DIV2 }, -// OBSOLETE { FR30_INSN_DIV3, FR30BF_INSN_DIV3, FR30BF_SFMT_DIV3 }, -// OBSOLETE { FR30_INSN_DIV4S, FR30BF_INSN_DIV4S, FR30BF_SFMT_DIV4S }, -// OBSOLETE { FR30_INSN_LSL, FR30BF_INSN_LSL, FR30BF_SFMT_LSL }, -// OBSOLETE { FR30_INSN_LSLI, FR30BF_INSN_LSLI, FR30BF_SFMT_LSLI }, -// OBSOLETE { FR30_INSN_LSL2, FR30BF_INSN_LSL2, FR30BF_SFMT_LSLI }, -// OBSOLETE { FR30_INSN_LSR, FR30BF_INSN_LSR, FR30BF_SFMT_LSL }, -// OBSOLETE { FR30_INSN_LSRI, FR30BF_INSN_LSRI, FR30BF_SFMT_LSLI }, -// OBSOLETE { FR30_INSN_LSR2, FR30BF_INSN_LSR2, FR30BF_SFMT_LSLI }, -// OBSOLETE { FR30_INSN_ASR, FR30BF_INSN_ASR, FR30BF_SFMT_LSL }, -// OBSOLETE { FR30_INSN_ASRI, FR30BF_INSN_ASRI, FR30BF_SFMT_LSLI }, -// OBSOLETE { FR30_INSN_ASR2, FR30BF_INSN_ASR2, FR30BF_SFMT_LSLI }, -// OBSOLETE { FR30_INSN_LDI8, FR30BF_INSN_LDI8, FR30BF_SFMT_LDI8 }, -// OBSOLETE { FR30_INSN_LDI20, FR30BF_INSN_LDI20, FR30BF_SFMT_LDI20 }, -// OBSOLETE { FR30_INSN_LDI32, FR30BF_INSN_LDI32, FR30BF_SFMT_LDI32 }, -// OBSOLETE { FR30_INSN_LD, FR30BF_INSN_LD, FR30BF_SFMT_LD }, -// OBSOLETE { FR30_INSN_LDUH, FR30BF_INSN_LDUH, FR30BF_SFMT_LDUH }, -// OBSOLETE { FR30_INSN_LDUB, FR30BF_INSN_LDUB, FR30BF_SFMT_LDUB }, -// OBSOLETE { FR30_INSN_LDR13, FR30BF_INSN_LDR13, FR30BF_SFMT_LDR13 }, -// OBSOLETE { FR30_INSN_LDR13UH, FR30BF_INSN_LDR13UH, FR30BF_SFMT_LDR13UH }, -// OBSOLETE { FR30_INSN_LDR13UB, FR30BF_INSN_LDR13UB, FR30BF_SFMT_LDR13UB }, -// OBSOLETE { FR30_INSN_LDR14, FR30BF_INSN_LDR14, FR30BF_SFMT_LDR14 }, -// OBSOLETE { FR30_INSN_LDR14UH, FR30BF_INSN_LDR14UH, FR30BF_SFMT_LDR14UH }, -// OBSOLETE { FR30_INSN_LDR14UB, FR30BF_INSN_LDR14UB, FR30BF_SFMT_LDR14UB }, -// OBSOLETE { FR30_INSN_LDR15, FR30BF_INSN_LDR15, FR30BF_SFMT_LDR15 }, -// OBSOLETE { FR30_INSN_LDR15GR, FR30BF_INSN_LDR15GR, FR30BF_SFMT_LDR15GR }, -// OBSOLETE { FR30_INSN_LDR15DR, FR30BF_INSN_LDR15DR, FR30BF_SFMT_LDR15DR }, -// OBSOLETE { FR30_INSN_LDR15PS, FR30BF_INSN_LDR15PS, FR30BF_SFMT_LDR15PS }, -// OBSOLETE { FR30_INSN_ST, FR30BF_INSN_ST, FR30BF_SFMT_ST }, -// OBSOLETE { FR30_INSN_STH, FR30BF_INSN_STH, FR30BF_SFMT_STH }, -// OBSOLETE { FR30_INSN_STB, FR30BF_INSN_STB, FR30BF_SFMT_STB }, -// OBSOLETE { FR30_INSN_STR13, FR30BF_INSN_STR13, FR30BF_SFMT_STR13 }, -// OBSOLETE { FR30_INSN_STR13H, FR30BF_INSN_STR13H, FR30BF_SFMT_STR13H }, -// OBSOLETE { FR30_INSN_STR13B, FR30BF_INSN_STR13B, FR30BF_SFMT_STR13B }, -// OBSOLETE { FR30_INSN_STR14, FR30BF_INSN_STR14, FR30BF_SFMT_STR14 }, -// OBSOLETE { FR30_INSN_STR14H, FR30BF_INSN_STR14H, FR30BF_SFMT_STR14H }, -// OBSOLETE { FR30_INSN_STR14B, FR30BF_INSN_STR14B, FR30BF_SFMT_STR14B }, -// OBSOLETE { FR30_INSN_STR15, FR30BF_INSN_STR15, FR30BF_SFMT_STR15 }, -// OBSOLETE { FR30_INSN_STR15GR, FR30BF_INSN_STR15GR, FR30BF_SFMT_STR15GR }, -// OBSOLETE { FR30_INSN_STR15DR, FR30BF_INSN_STR15DR, FR30BF_SFMT_STR15DR }, -// OBSOLETE { FR30_INSN_STR15PS, FR30BF_INSN_STR15PS, FR30BF_SFMT_STR15PS }, -// OBSOLETE { FR30_INSN_MOV, FR30BF_INSN_MOV, FR30BF_SFMT_MOV }, -// OBSOLETE { FR30_INSN_MOVDR, FR30BF_INSN_MOVDR, FR30BF_SFMT_MOVDR }, -// OBSOLETE { FR30_INSN_MOVPS, FR30BF_INSN_MOVPS, FR30BF_SFMT_MOVPS }, -// OBSOLETE { FR30_INSN_MOV2DR, FR30BF_INSN_MOV2DR, FR30BF_SFMT_MOV2DR }, -// OBSOLETE { FR30_INSN_MOV2PS, FR30BF_INSN_MOV2PS, FR30BF_SFMT_MOV2PS }, -// OBSOLETE { FR30_INSN_JMP, FR30BF_INSN_JMP, FR30BF_SFMT_JMP }, -// OBSOLETE { FR30_INSN_JMPD, FR30BF_INSN_JMPD, FR30BF_SFMT_JMP }, -// OBSOLETE { FR30_INSN_CALLR, FR30BF_INSN_CALLR, FR30BF_SFMT_CALLR }, -// OBSOLETE { FR30_INSN_CALLRD, FR30BF_INSN_CALLRD, FR30BF_SFMT_CALLR }, -// OBSOLETE { FR30_INSN_CALL, FR30BF_INSN_CALL, FR30BF_SFMT_CALL }, -// OBSOLETE { FR30_INSN_CALLD, FR30BF_INSN_CALLD, FR30BF_SFMT_CALL }, -// OBSOLETE { FR30_INSN_RET, FR30BF_INSN_RET, FR30BF_SFMT_RET }, -// OBSOLETE { FR30_INSN_RET_D, FR30BF_INSN_RET_D, FR30BF_SFMT_RET }, -// OBSOLETE { FR30_INSN_INT, FR30BF_INSN_INT, FR30BF_SFMT_INT }, -// OBSOLETE { FR30_INSN_INTE, FR30BF_INSN_INTE, FR30BF_SFMT_INTE }, -// OBSOLETE { FR30_INSN_RETI, FR30BF_INSN_RETI, FR30BF_SFMT_RETI }, -// OBSOLETE { FR30_INSN_BRAD, FR30BF_INSN_BRAD, FR30BF_SFMT_BRAD }, -// OBSOLETE { FR30_INSN_BRA, FR30BF_INSN_BRA, FR30BF_SFMT_BRAD }, -// OBSOLETE { FR30_INSN_BNOD, FR30BF_INSN_BNOD, FR30BF_SFMT_BNOD }, -// OBSOLETE { FR30_INSN_BNO, FR30BF_INSN_BNO, FR30BF_SFMT_BNOD }, -// OBSOLETE { FR30_INSN_BEQD, FR30BF_INSN_BEQD, FR30BF_SFMT_BEQD }, -// OBSOLETE { FR30_INSN_BEQ, FR30BF_INSN_BEQ, FR30BF_SFMT_BEQD }, -// OBSOLETE { FR30_INSN_BNED, FR30BF_INSN_BNED, FR30BF_SFMT_BEQD }, -// OBSOLETE { FR30_INSN_BNE, FR30BF_INSN_BNE, FR30BF_SFMT_BEQD }, -// OBSOLETE { FR30_INSN_BCD, FR30BF_INSN_BCD, FR30BF_SFMT_BCD }, -// OBSOLETE { FR30_INSN_BC, FR30BF_INSN_BC, FR30BF_SFMT_BCD }, -// OBSOLETE { FR30_INSN_BNCD, FR30BF_INSN_BNCD, FR30BF_SFMT_BCD }, -// OBSOLETE { FR30_INSN_BNC, FR30BF_INSN_BNC, FR30BF_SFMT_BCD }, -// OBSOLETE { FR30_INSN_BND, FR30BF_INSN_BND, FR30BF_SFMT_BND }, -// OBSOLETE { FR30_INSN_BN, FR30BF_INSN_BN, FR30BF_SFMT_BND }, -// OBSOLETE { FR30_INSN_BPD, FR30BF_INSN_BPD, FR30BF_SFMT_BND }, -// OBSOLETE { FR30_INSN_BP, FR30BF_INSN_BP, FR30BF_SFMT_BND }, -// OBSOLETE { FR30_INSN_BVD, FR30BF_INSN_BVD, FR30BF_SFMT_BVD }, -// OBSOLETE { FR30_INSN_BV, FR30BF_INSN_BV, FR30BF_SFMT_BVD }, -// OBSOLETE { FR30_INSN_BNVD, FR30BF_INSN_BNVD, FR30BF_SFMT_BVD }, -// OBSOLETE { FR30_INSN_BNV, FR30BF_INSN_BNV, FR30BF_SFMT_BVD }, -// OBSOLETE { FR30_INSN_BLTD, FR30BF_INSN_BLTD, FR30BF_SFMT_BLTD }, -// OBSOLETE { FR30_INSN_BLT, FR30BF_INSN_BLT, FR30BF_SFMT_BLTD }, -// OBSOLETE { FR30_INSN_BGED, FR30BF_INSN_BGED, FR30BF_SFMT_BLTD }, -// OBSOLETE { FR30_INSN_BGE, FR30BF_INSN_BGE, FR30BF_SFMT_BLTD }, -// OBSOLETE { FR30_INSN_BLED, FR30BF_INSN_BLED, FR30BF_SFMT_BLED }, -// OBSOLETE { FR30_INSN_BLE, FR30BF_INSN_BLE, FR30BF_SFMT_BLED }, -// OBSOLETE { FR30_INSN_BGTD, FR30BF_INSN_BGTD, FR30BF_SFMT_BLED }, -// OBSOLETE { FR30_INSN_BGT, FR30BF_INSN_BGT, FR30BF_SFMT_BLED }, -// OBSOLETE { FR30_INSN_BLSD, FR30BF_INSN_BLSD, FR30BF_SFMT_BLSD }, -// OBSOLETE { FR30_INSN_BLS, FR30BF_INSN_BLS, FR30BF_SFMT_BLSD }, -// OBSOLETE { FR30_INSN_BHID, FR30BF_INSN_BHID, FR30BF_SFMT_BLSD }, -// OBSOLETE { FR30_INSN_BHI, FR30BF_INSN_BHI, FR30BF_SFMT_BLSD }, -// OBSOLETE { FR30_INSN_DMOVR13, FR30BF_INSN_DMOVR13, FR30BF_SFMT_DMOVR13 }, -// OBSOLETE { FR30_INSN_DMOVR13H, FR30BF_INSN_DMOVR13H, FR30BF_SFMT_DMOVR13H }, -// OBSOLETE { FR30_INSN_DMOVR13B, FR30BF_INSN_DMOVR13B, FR30BF_SFMT_DMOVR13B }, -// OBSOLETE { FR30_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PI, FR30BF_SFMT_DMOVR13PI }, -// OBSOLETE { FR30_INSN_DMOVR13PIH, FR30BF_INSN_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIH }, -// OBSOLETE { FR30_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR13PIB, FR30BF_SFMT_DMOVR13PIB }, -// OBSOLETE { FR30_INSN_DMOVR15PI, FR30BF_INSN_DMOVR15PI, FR30BF_SFMT_DMOVR15PI }, -// OBSOLETE { FR30_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13, FR30BF_SFMT_DMOV2R13 }, -// OBSOLETE { FR30_INSN_DMOV2R13H, FR30BF_INSN_DMOV2R13H, FR30BF_SFMT_DMOV2R13H }, -// OBSOLETE { FR30_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13B, FR30BF_SFMT_DMOV2R13B }, -// OBSOLETE { FR30_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PI }, -// OBSOLETE { FR30_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIH }, -// OBSOLETE { FR30_INSN_DMOV2R13PIB, FR30BF_INSN_DMOV2R13PIB, FR30BF_SFMT_DMOV2R13PIB }, -// OBSOLETE { FR30_INSN_DMOV2R15PD, FR30BF_INSN_DMOV2R15PD, FR30BF_SFMT_DMOV2R15PD }, -// OBSOLETE { FR30_INSN_LDRES, FR30BF_INSN_LDRES, FR30BF_SFMT_LDRES }, -// OBSOLETE { FR30_INSN_STRES, FR30BF_INSN_STRES, FR30BF_SFMT_LDRES }, -// OBSOLETE { FR30_INSN_COPOP, FR30BF_INSN_COPOP, FR30BF_SFMT_COPOP }, -// OBSOLETE { FR30_INSN_COPLD, FR30BF_INSN_COPLD, FR30BF_SFMT_COPOP }, -// OBSOLETE { FR30_INSN_COPST, FR30BF_INSN_COPST, FR30BF_SFMT_COPOP }, -// OBSOLETE { FR30_INSN_COPSV, FR30BF_INSN_COPSV, FR30BF_SFMT_COPOP }, -// OBSOLETE { FR30_INSN_NOP, FR30BF_INSN_NOP, FR30BF_SFMT_BNOD }, -// OBSOLETE { FR30_INSN_ANDCCR, FR30BF_INSN_ANDCCR, FR30BF_SFMT_ANDCCR }, -// OBSOLETE { FR30_INSN_ORCCR, FR30BF_INSN_ORCCR, FR30BF_SFMT_ANDCCR }, -// OBSOLETE { FR30_INSN_STILM, FR30BF_INSN_STILM, FR30BF_SFMT_STILM }, -// OBSOLETE { FR30_INSN_ADDSP, FR30BF_INSN_ADDSP, FR30BF_SFMT_ADDSP }, -// OBSOLETE { FR30_INSN_EXTSB, FR30BF_INSN_EXTSB, FR30BF_SFMT_EXTSB }, -// OBSOLETE { FR30_INSN_EXTUB, FR30BF_INSN_EXTUB, FR30BF_SFMT_EXTUB }, -// OBSOLETE { FR30_INSN_EXTSH, FR30BF_INSN_EXTSH, FR30BF_SFMT_EXTSH }, -// OBSOLETE { FR30_INSN_EXTUH, FR30BF_INSN_EXTUH, FR30BF_SFMT_EXTUH }, -// OBSOLETE { FR30_INSN_LDM0, FR30BF_INSN_LDM0, FR30BF_SFMT_LDM0 }, -// OBSOLETE { FR30_INSN_LDM1, FR30BF_INSN_LDM1, FR30BF_SFMT_LDM1 }, -// OBSOLETE { FR30_INSN_STM0, FR30BF_INSN_STM0, FR30BF_SFMT_STM0 }, -// OBSOLETE { FR30_INSN_STM1, FR30BF_INSN_STM1, FR30BF_SFMT_STM1 }, -// OBSOLETE { FR30_INSN_ENTER, FR30BF_INSN_ENTER, FR30BF_SFMT_ENTER }, -// OBSOLETE { FR30_INSN_LEAVE, FR30BF_INSN_LEAVE, FR30BF_SFMT_LEAVE }, -// OBSOLETE { FR30_INSN_XCHB, FR30BF_INSN_XCHB, FR30BF_SFMT_XCHB }, -// OBSOLETE }; -// OBSOLETE -// OBSOLETE static const struct insn_sem fr30bf_insn_sem_invalid = { -// OBSOLETE VIRTUAL_INSN_X_INVALID, FR30BF_INSN_X_INVALID, FR30BF_SFMT_EMPTY -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* Initialize an IDESC from the compile-time computable parts. */ -// OBSOLETE -// OBSOLETE static INLINE void -// OBSOLETE init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t) -// OBSOLETE { -// OBSOLETE const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries; -// OBSOLETE -// OBSOLETE id->num = t->index; -// OBSOLETE id->sfmt = t->sfmt; -// OBSOLETE if ((int) t->type <= 0) -// OBSOLETE id->idata = & cgen_virtual_insn_table[- (int) t->type]; -// OBSOLETE else -// OBSOLETE id->idata = & insn_table[t->type]; -// OBSOLETE id->attrs = CGEN_INSN_ATTRS (id->idata); -// OBSOLETE /* Oh my god, a magic number. */ -// OBSOLETE id->length = CGEN_INSN_BITSIZE (id->idata) / 8; -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index]; -// OBSOLETE { -// OBSOLETE SIM_DESC sd = CPU_STATE (cpu); -// OBSOLETE SIM_ASSERT (t->index == id->timing->num); -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE /* Semantic pointers are initialized elsewhere. */ -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Initialize the instruction descriptor table. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_init_idesc_table (SIM_CPU *cpu) -// OBSOLETE { -// OBSOLETE IDESC *id,*tabend; -// OBSOLETE const struct insn_sem *t,*tend; -// OBSOLETE int tabsize = sizeof (fr30bf_insn_data) / sizeof (IDESC); -// OBSOLETE IDESC *table = fr30bf_insn_data; -// OBSOLETE -// OBSOLETE memset (table, 0, tabsize * sizeof (IDESC)); -// OBSOLETE -// OBSOLETE /* First set all entries to the `invalid insn'. */ -// OBSOLETE t = & fr30bf_insn_sem_invalid; -// OBSOLETE for (id = table, tabend = table + tabsize; id < tabend; ++id) -// OBSOLETE init_idesc (cpu, id, t); -// OBSOLETE -// OBSOLETE /* Now fill in the values for the chosen cpu. */ -// OBSOLETE for (t = fr30bf_insn_sem, tend = t + sizeof (fr30bf_insn_sem) / sizeof (*t); -// OBSOLETE t != tend; ++t) -// OBSOLETE { -// OBSOLETE init_idesc (cpu, & table[t->index], t); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Link the IDESC table into the cpu. */ -// OBSOLETE CPU_IDESC (cpu) = table; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Given an instruction, return a pointer to its IDESC entry. */ -// OBSOLETE -// OBSOLETE const IDESC * -// OBSOLETE fr30bf_decode (SIM_CPU *current_cpu, IADDR pc, -// OBSOLETE CGEN_INSN_INT base_insn, -// OBSOLETE ARGBUF *abuf) -// OBSOLETE { -// OBSOLETE /* Result of decoder. */ -// OBSOLETE FR30BF_INSN_TYPE itype; -// OBSOLETE -// OBSOLETE { -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE -// OBSOLETE { -// OBSOLETE unsigned int val = (((insn >> 8) & (255 << 0))); -// OBSOLETE switch (val) -// OBSOLETE { -// OBSOLETE case 0 : itype = FR30BF_INSN_LDR13;goto extract_sfmt_ldr13; -// OBSOLETE case 1 : itype = FR30BF_INSN_LDR13UH;goto extract_sfmt_ldr13uh; -// OBSOLETE case 2 : itype = FR30BF_INSN_LDR13UB;goto extract_sfmt_ldr13ub; -// OBSOLETE case 3 : itype = FR30BF_INSN_LDR15;goto extract_sfmt_ldr15; -// OBSOLETE case 4 : itype = FR30BF_INSN_LD;goto extract_sfmt_ld; -// OBSOLETE case 5 : itype = FR30BF_INSN_LDUH;goto extract_sfmt_lduh; -// OBSOLETE case 6 : itype = FR30BF_INSN_LDUB;goto extract_sfmt_ldub; -// OBSOLETE case 7 : -// OBSOLETE { -// OBSOLETE unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0))); -// OBSOLETE switch (val) -// OBSOLETE { -// OBSOLETE case 0 : itype = FR30BF_INSN_LDR15GR;goto extract_sfmt_ldr15gr; -// OBSOLETE case 1 : itype = FR30BF_INSN_MOV2PS;goto extract_sfmt_mov2ps; -// OBSOLETE case 2 : itype = FR30BF_INSN_LDR15DR;goto extract_sfmt_ldr15dr; -// OBSOLETE case 3 : itype = FR30BF_INSN_LDR15PS;goto extract_sfmt_ldr15ps; -// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE case 8 : itype = FR30BF_INSN_DMOV2R13;goto extract_sfmt_dmov2r13; -// OBSOLETE case 9 : itype = FR30BF_INSN_DMOV2R13H;goto extract_sfmt_dmov2r13h; -// OBSOLETE case 10 : itype = FR30BF_INSN_DMOV2R13B;goto extract_sfmt_dmov2r13b; -// OBSOLETE case 11 : itype = FR30BF_INSN_DMOV2R15PD;goto extract_sfmt_dmov2r15pd; -// OBSOLETE case 12 : itype = FR30BF_INSN_DMOV2R13PI;goto extract_sfmt_dmov2r13pi; -// OBSOLETE case 13 : itype = FR30BF_INSN_DMOV2R13PIH;goto extract_sfmt_dmov2r13pih; -// OBSOLETE case 14 : itype = FR30BF_INSN_DMOV2R13PIB;goto extract_sfmt_dmov2r13pib; -// OBSOLETE case 15 : itype = FR30BF_INSN_ENTER;goto extract_sfmt_enter; -// OBSOLETE case 16 : itype = FR30BF_INSN_STR13;goto extract_sfmt_str13; -// OBSOLETE case 17 : itype = FR30BF_INSN_STR13H;goto extract_sfmt_str13h; -// OBSOLETE case 18 : itype = FR30BF_INSN_STR13B;goto extract_sfmt_str13b; -// OBSOLETE case 19 : itype = FR30BF_INSN_STR15;goto extract_sfmt_str15; -// OBSOLETE case 20 : itype = FR30BF_INSN_ST;goto extract_sfmt_st; -// OBSOLETE case 21 : itype = FR30BF_INSN_STH;goto extract_sfmt_sth; -// OBSOLETE case 22 : itype = FR30BF_INSN_STB;goto extract_sfmt_stb; -// OBSOLETE case 23 : -// OBSOLETE { -// OBSOLETE unsigned int val = (((insn >> 6) & (1 << 1)) | ((insn >> 4) & (1 << 0))); -// OBSOLETE switch (val) -// OBSOLETE { -// OBSOLETE case 0 : itype = FR30BF_INSN_STR15GR;goto extract_sfmt_str15gr; -// OBSOLETE case 1 : itype = FR30BF_INSN_MOVPS;goto extract_sfmt_movps; -// OBSOLETE case 2 : itype = FR30BF_INSN_STR15DR;goto extract_sfmt_str15dr; -// OBSOLETE case 3 : itype = FR30BF_INSN_STR15PS;goto extract_sfmt_str15ps; -// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE case 24 : itype = FR30BF_INSN_DMOVR13;goto extract_sfmt_dmovr13; -// OBSOLETE case 25 : itype = FR30BF_INSN_DMOVR13H;goto extract_sfmt_dmovr13h; -// OBSOLETE case 26 : itype = FR30BF_INSN_DMOVR13B;goto extract_sfmt_dmovr13b; -// OBSOLETE case 27 : itype = FR30BF_INSN_DMOVR15PI;goto extract_sfmt_dmovr15pi; -// OBSOLETE case 28 : itype = FR30BF_INSN_DMOVR13PI;goto extract_sfmt_dmovr13pi; -// OBSOLETE case 29 : itype = FR30BF_INSN_DMOVR13PIH;goto extract_sfmt_dmovr13pih; -// OBSOLETE case 30 : itype = FR30BF_INSN_DMOVR13PIB;goto extract_sfmt_dmovr13pib; -// OBSOLETE case 31 : itype = FR30BF_INSN_INT;goto extract_sfmt_int; -// OBSOLETE case 32 : /* fall through */ -// OBSOLETE case 33 : /* fall through */ -// OBSOLETE case 34 : /* fall through */ -// OBSOLETE case 35 : /* fall through */ -// OBSOLETE case 36 : /* fall through */ -// OBSOLETE case 37 : /* fall through */ -// OBSOLETE case 38 : /* fall through */ -// OBSOLETE case 39 : /* fall through */ -// OBSOLETE case 40 : /* fall through */ -// OBSOLETE case 41 : /* fall through */ -// OBSOLETE case 42 : /* fall through */ -// OBSOLETE case 43 : /* fall through */ -// OBSOLETE case 44 : /* fall through */ -// OBSOLETE case 45 : /* fall through */ -// OBSOLETE case 46 : /* fall through */ -// OBSOLETE case 47 : itype = FR30BF_INSN_LDR14;goto extract_sfmt_ldr14; -// OBSOLETE case 48 : /* fall through */ -// OBSOLETE case 49 : /* fall through */ -// OBSOLETE case 50 : /* fall through */ -// OBSOLETE case 51 : /* fall through */ -// OBSOLETE case 52 : /* fall through */ -// OBSOLETE case 53 : /* fall through */ -// OBSOLETE case 54 : /* fall through */ -// OBSOLETE case 55 : /* fall through */ -// OBSOLETE case 56 : /* fall through */ -// OBSOLETE case 57 : /* fall through */ -// OBSOLETE case 58 : /* fall through */ -// OBSOLETE case 59 : /* fall through */ -// OBSOLETE case 60 : /* fall through */ -// OBSOLETE case 61 : /* fall through */ -// OBSOLETE case 62 : /* fall through */ -// OBSOLETE case 63 : itype = FR30BF_INSN_STR14;goto extract_sfmt_str14; -// OBSOLETE case 64 : /* fall through */ -// OBSOLETE case 65 : /* fall through */ -// OBSOLETE case 66 : /* fall through */ -// OBSOLETE case 67 : /* fall through */ -// OBSOLETE case 68 : /* fall through */ -// OBSOLETE case 69 : /* fall through */ -// OBSOLETE case 70 : /* fall through */ -// OBSOLETE case 71 : /* fall through */ -// OBSOLETE case 72 : /* fall through */ -// OBSOLETE case 73 : /* fall through */ -// OBSOLETE case 74 : /* fall through */ -// OBSOLETE case 75 : /* fall through */ -// OBSOLETE case 76 : /* fall through */ -// OBSOLETE case 77 : /* fall through */ -// OBSOLETE case 78 : /* fall through */ -// OBSOLETE case 79 : itype = FR30BF_INSN_LDR14UH;goto extract_sfmt_ldr14uh; -// OBSOLETE case 80 : /* fall through */ -// OBSOLETE case 81 : /* fall through */ -// OBSOLETE case 82 : /* fall through */ -// OBSOLETE case 83 : /* fall through */ -// OBSOLETE case 84 : /* fall through */ -// OBSOLETE case 85 : /* fall through */ -// OBSOLETE case 86 : /* fall through */ -// OBSOLETE case 87 : /* fall through */ -// OBSOLETE case 88 : /* fall through */ -// OBSOLETE case 89 : /* fall through */ -// OBSOLETE case 90 : /* fall through */ -// OBSOLETE case 91 : /* fall through */ -// OBSOLETE case 92 : /* fall through */ -// OBSOLETE case 93 : /* fall through */ -// OBSOLETE case 94 : /* fall through */ -// OBSOLETE case 95 : itype = FR30BF_INSN_STR14H;goto extract_sfmt_str14h; -// OBSOLETE case 96 : /* fall through */ -// OBSOLETE case 97 : /* fall through */ -// OBSOLETE case 98 : /* fall through */ -// OBSOLETE case 99 : /* fall through */ -// OBSOLETE case 100 : /* fall through */ -// OBSOLETE case 101 : /* fall through */ -// OBSOLETE case 102 : /* fall through */ -// OBSOLETE case 103 : /* fall through */ -// OBSOLETE case 104 : /* fall through */ -// OBSOLETE case 105 : /* fall through */ -// OBSOLETE case 106 : /* fall through */ -// OBSOLETE case 107 : /* fall through */ -// OBSOLETE case 108 : /* fall through */ -// OBSOLETE case 109 : /* fall through */ -// OBSOLETE case 110 : /* fall through */ -// OBSOLETE case 111 : itype = FR30BF_INSN_LDR14UB;goto extract_sfmt_ldr14ub; -// OBSOLETE case 112 : /* fall through */ -// OBSOLETE case 113 : /* fall through */ -// OBSOLETE case 114 : /* fall through */ -// OBSOLETE case 115 : /* fall through */ -// OBSOLETE case 116 : /* fall through */ -// OBSOLETE case 117 : /* fall through */ -// OBSOLETE case 118 : /* fall through */ -// OBSOLETE case 119 : /* fall through */ -// OBSOLETE case 120 : /* fall through */ -// OBSOLETE case 121 : /* fall through */ -// OBSOLETE case 122 : /* fall through */ -// OBSOLETE case 123 : /* fall through */ -// OBSOLETE case 124 : /* fall through */ -// OBSOLETE case 125 : /* fall through */ -// OBSOLETE case 126 : /* fall through */ -// OBSOLETE case 127 : itype = FR30BF_INSN_STR14B;goto extract_sfmt_str14b; -// OBSOLETE case 128 : itype = FR30BF_INSN_BANDL;goto extract_sfmt_bandl; -// OBSOLETE case 129 : itype = FR30BF_INSN_BANDH;goto extract_sfmt_bandl; -// OBSOLETE case 130 : itype = FR30BF_INSN_AND;goto extract_sfmt_and; -// OBSOLETE case 131 : itype = FR30BF_INSN_ANDCCR;goto extract_sfmt_andccr; -// OBSOLETE case 132 : itype = FR30BF_INSN_ANDM;goto extract_sfmt_andm; -// OBSOLETE case 133 : itype = FR30BF_INSN_ANDH;goto extract_sfmt_andh; -// OBSOLETE case 134 : itype = FR30BF_INSN_ANDB;goto extract_sfmt_andb; -// OBSOLETE case 135 : itype = FR30BF_INSN_STILM;goto extract_sfmt_stilm; -// OBSOLETE case 136 : itype = FR30BF_INSN_BTSTL;goto extract_sfmt_btstl; -// OBSOLETE case 137 : itype = FR30BF_INSN_BTSTH;goto extract_sfmt_btstl; -// OBSOLETE case 138 : itype = FR30BF_INSN_XCHB;goto extract_sfmt_xchb; -// OBSOLETE case 139 : itype = FR30BF_INSN_MOV;goto extract_sfmt_mov; -// OBSOLETE case 140 : itype = FR30BF_INSN_LDM0;goto extract_sfmt_ldm0; -// OBSOLETE case 141 : itype = FR30BF_INSN_LDM1;goto extract_sfmt_ldm1; -// OBSOLETE case 142 : itype = FR30BF_INSN_STM0;goto extract_sfmt_stm0; -// OBSOLETE case 143 : itype = FR30BF_INSN_STM1;goto extract_sfmt_stm1; -// OBSOLETE case 144 : itype = FR30BF_INSN_BORL;goto extract_sfmt_bandl; -// OBSOLETE case 145 : itype = FR30BF_INSN_BORH;goto extract_sfmt_bandl; -// OBSOLETE case 146 : itype = FR30BF_INSN_OR;goto extract_sfmt_and; -// OBSOLETE case 147 : itype = FR30BF_INSN_ORCCR;goto extract_sfmt_andccr; -// OBSOLETE case 148 : itype = FR30BF_INSN_ORM;goto extract_sfmt_andm; -// OBSOLETE case 149 : itype = FR30BF_INSN_ORH;goto extract_sfmt_andh; -// OBSOLETE case 150 : itype = FR30BF_INSN_ORB;goto extract_sfmt_andb; -// OBSOLETE case 151 : -// OBSOLETE { -// OBSOLETE unsigned int val = (((insn >> 4) & (15 << 0))); -// OBSOLETE switch (val) -// OBSOLETE { -// OBSOLETE case 0 : itype = FR30BF_INSN_JMP;goto extract_sfmt_jmp; -// OBSOLETE case 1 : itype = FR30BF_INSN_CALLR;goto extract_sfmt_callr; -// OBSOLETE case 2 : itype = FR30BF_INSN_RET;goto extract_sfmt_ret; -// OBSOLETE case 3 : itype = FR30BF_INSN_RETI;goto extract_sfmt_reti; -// OBSOLETE case 4 : itype = FR30BF_INSN_DIV0S;goto extract_sfmt_div0s; -// OBSOLETE case 5 : itype = FR30BF_INSN_DIV0U;goto extract_sfmt_div0u; -// OBSOLETE case 6 : itype = FR30BF_INSN_DIV1;goto extract_sfmt_div1; -// OBSOLETE case 7 : itype = FR30BF_INSN_DIV2;goto extract_sfmt_div2; -// OBSOLETE case 8 : itype = FR30BF_INSN_EXTSB;goto extract_sfmt_extsb; -// OBSOLETE case 9 : itype = FR30BF_INSN_EXTUB;goto extract_sfmt_extub; -// OBSOLETE case 10 : itype = FR30BF_INSN_EXTSH;goto extract_sfmt_extsh; -// OBSOLETE case 11 : itype = FR30BF_INSN_EXTUH;goto extract_sfmt_extuh; -// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE case 152 : itype = FR30BF_INSN_BEORL;goto extract_sfmt_bandl; -// OBSOLETE case 153 : itype = FR30BF_INSN_BEORH;goto extract_sfmt_bandl; -// OBSOLETE case 154 : itype = FR30BF_INSN_EOR;goto extract_sfmt_and; -// OBSOLETE case 155 : itype = FR30BF_INSN_LDI20;goto extract_sfmt_ldi20; -// OBSOLETE case 156 : itype = FR30BF_INSN_EORM;goto extract_sfmt_andm; -// OBSOLETE case 157 : itype = FR30BF_INSN_EORH;goto extract_sfmt_andh; -// OBSOLETE case 158 : itype = FR30BF_INSN_EORB;goto extract_sfmt_andb; -// OBSOLETE case 159 : -// OBSOLETE { -// OBSOLETE unsigned int val = (((insn >> 4) & (15 << 0))); -// OBSOLETE switch (val) -// OBSOLETE { -// OBSOLETE case 0 : itype = FR30BF_INSN_JMPD;goto extract_sfmt_jmp; -// OBSOLETE case 1 : itype = FR30BF_INSN_CALLRD;goto extract_sfmt_callr; -// OBSOLETE case 2 : itype = FR30BF_INSN_RET_D;goto extract_sfmt_ret; -// OBSOLETE case 3 : itype = FR30BF_INSN_INTE;goto extract_sfmt_inte; -// OBSOLETE case 6 : itype = FR30BF_INSN_DIV3;goto extract_sfmt_div3; -// OBSOLETE case 7 : itype = FR30BF_INSN_DIV4S;goto extract_sfmt_div4s; -// OBSOLETE case 8 : itype = FR30BF_INSN_LDI32;goto extract_sfmt_ldi32; -// OBSOLETE case 9 : itype = FR30BF_INSN_LEAVE;goto extract_sfmt_leave; -// OBSOLETE case 10 : itype = FR30BF_INSN_NOP;goto extract_sfmt_bnod; -// OBSOLETE case 12 : itype = FR30BF_INSN_COPOP;goto extract_sfmt_copop; -// OBSOLETE case 13 : itype = FR30BF_INSN_COPLD;goto extract_sfmt_copop; -// OBSOLETE case 14 : itype = FR30BF_INSN_COPST;goto extract_sfmt_copop; -// OBSOLETE case 15 : itype = FR30BF_INSN_COPSV;goto extract_sfmt_copop; -// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE case 160 : itype = FR30BF_INSN_ADDNI;goto extract_sfmt_addni; -// OBSOLETE case 161 : itype = FR30BF_INSN_ADDN2;goto extract_sfmt_addn2; -// OBSOLETE case 162 : itype = FR30BF_INSN_ADDN;goto extract_sfmt_addn; -// OBSOLETE case 163 : itype = FR30BF_INSN_ADDSP;goto extract_sfmt_addsp; -// OBSOLETE case 164 : itype = FR30BF_INSN_ADDI;goto extract_sfmt_addi; -// OBSOLETE case 165 : itype = FR30BF_INSN_ADD2;goto extract_sfmt_add2; -// OBSOLETE case 166 : itype = FR30BF_INSN_ADD;goto extract_sfmt_add; -// OBSOLETE case 167 : itype = FR30BF_INSN_ADDC;goto extract_sfmt_addc; -// OBSOLETE case 168 : itype = FR30BF_INSN_CMPI;goto extract_sfmt_cmpi; -// OBSOLETE case 169 : itype = FR30BF_INSN_CMP2;goto extract_sfmt_cmp2; -// OBSOLETE case 170 : itype = FR30BF_INSN_CMP;goto extract_sfmt_cmp; -// OBSOLETE case 171 : itype = FR30BF_INSN_MULU;goto extract_sfmt_mulu; -// OBSOLETE case 172 : itype = FR30BF_INSN_SUB;goto extract_sfmt_add; -// OBSOLETE case 173 : itype = FR30BF_INSN_SUBC;goto extract_sfmt_addc; -// OBSOLETE case 174 : itype = FR30BF_INSN_SUBN;goto extract_sfmt_addn; -// OBSOLETE case 175 : itype = FR30BF_INSN_MUL;goto extract_sfmt_mul; -// OBSOLETE case 176 : itype = FR30BF_INSN_LSRI;goto extract_sfmt_lsli; -// OBSOLETE case 177 : itype = FR30BF_INSN_LSR2;goto extract_sfmt_lsli; -// OBSOLETE case 178 : itype = FR30BF_INSN_LSR;goto extract_sfmt_lsl; -// OBSOLETE case 179 : itype = FR30BF_INSN_MOV2DR;goto extract_sfmt_mov2dr; -// OBSOLETE case 180 : itype = FR30BF_INSN_LSLI;goto extract_sfmt_lsli; -// OBSOLETE case 181 : itype = FR30BF_INSN_LSL2;goto extract_sfmt_lsli; -// OBSOLETE case 182 : itype = FR30BF_INSN_LSL;goto extract_sfmt_lsl; -// OBSOLETE case 183 : itype = FR30BF_INSN_MOVDR;goto extract_sfmt_movdr; -// OBSOLETE case 184 : itype = FR30BF_INSN_ASRI;goto extract_sfmt_lsli; -// OBSOLETE case 185 : itype = FR30BF_INSN_ASR2;goto extract_sfmt_lsli; -// OBSOLETE case 186 : itype = FR30BF_INSN_ASR;goto extract_sfmt_lsl; -// OBSOLETE case 187 : itype = FR30BF_INSN_MULUH;goto extract_sfmt_mulh; -// OBSOLETE case 188 : itype = FR30BF_INSN_LDRES;goto extract_sfmt_ldres; -// OBSOLETE case 189 : itype = FR30BF_INSN_STRES;goto extract_sfmt_ldres; -// OBSOLETE case 191 : itype = FR30BF_INSN_MULH;goto extract_sfmt_mulh; -// OBSOLETE case 192 : /* fall through */ -// OBSOLETE case 193 : /* fall through */ -// OBSOLETE case 194 : /* fall through */ -// OBSOLETE case 195 : /* fall through */ -// OBSOLETE case 196 : /* fall through */ -// OBSOLETE case 197 : /* fall through */ -// OBSOLETE case 198 : /* fall through */ -// OBSOLETE case 199 : /* fall through */ -// OBSOLETE case 200 : /* fall through */ -// OBSOLETE case 201 : /* fall through */ -// OBSOLETE case 202 : /* fall through */ -// OBSOLETE case 203 : /* fall through */ -// OBSOLETE case 204 : /* fall through */ -// OBSOLETE case 205 : /* fall through */ -// OBSOLETE case 206 : /* fall through */ -// OBSOLETE case 207 : itype = FR30BF_INSN_LDI8;goto extract_sfmt_ldi8; -// OBSOLETE case 208 : /* fall through */ -// OBSOLETE case 209 : /* fall through */ -// OBSOLETE case 210 : /* fall through */ -// OBSOLETE case 211 : /* fall through */ -// OBSOLETE case 212 : /* fall through */ -// OBSOLETE case 213 : /* fall through */ -// OBSOLETE case 214 : /* fall through */ -// OBSOLETE case 215 : itype = FR30BF_INSN_CALL;goto extract_sfmt_call; -// OBSOLETE case 216 : /* fall through */ -// OBSOLETE case 217 : /* fall through */ -// OBSOLETE case 218 : /* fall through */ -// OBSOLETE case 219 : /* fall through */ -// OBSOLETE case 220 : /* fall through */ -// OBSOLETE case 221 : /* fall through */ -// OBSOLETE case 222 : /* fall through */ -// OBSOLETE case 223 : itype = FR30BF_INSN_CALLD;goto extract_sfmt_call; -// OBSOLETE case 224 : itype = FR30BF_INSN_BRA;goto extract_sfmt_brad; -// OBSOLETE case 225 : itype = FR30BF_INSN_BNO;goto extract_sfmt_bnod; -// OBSOLETE case 226 : itype = FR30BF_INSN_BEQ;goto extract_sfmt_beqd; -// OBSOLETE case 227 : itype = FR30BF_INSN_BNE;goto extract_sfmt_beqd; -// OBSOLETE case 228 : itype = FR30BF_INSN_BC;goto extract_sfmt_bcd; -// OBSOLETE case 229 : itype = FR30BF_INSN_BNC;goto extract_sfmt_bcd; -// OBSOLETE case 230 : itype = FR30BF_INSN_BN;goto extract_sfmt_bnd; -// OBSOLETE case 231 : itype = FR30BF_INSN_BP;goto extract_sfmt_bnd; -// OBSOLETE case 232 : itype = FR30BF_INSN_BV;goto extract_sfmt_bvd; -// OBSOLETE case 233 : itype = FR30BF_INSN_BNV;goto extract_sfmt_bvd; -// OBSOLETE case 234 : itype = FR30BF_INSN_BLT;goto extract_sfmt_bltd; -// OBSOLETE case 235 : itype = FR30BF_INSN_BGE;goto extract_sfmt_bltd; -// OBSOLETE case 236 : itype = FR30BF_INSN_BLE;goto extract_sfmt_bled; -// OBSOLETE case 237 : itype = FR30BF_INSN_BGT;goto extract_sfmt_bled; -// OBSOLETE case 238 : itype = FR30BF_INSN_BLS;goto extract_sfmt_blsd; -// OBSOLETE case 239 : itype = FR30BF_INSN_BHI;goto extract_sfmt_blsd; -// OBSOLETE case 240 : itype = FR30BF_INSN_BRAD;goto extract_sfmt_brad; -// OBSOLETE case 241 : itype = FR30BF_INSN_BNOD;goto extract_sfmt_bnod; -// OBSOLETE case 242 : itype = FR30BF_INSN_BEQD;goto extract_sfmt_beqd; -// OBSOLETE case 243 : itype = FR30BF_INSN_BNED;goto extract_sfmt_beqd; -// OBSOLETE case 244 : itype = FR30BF_INSN_BCD;goto extract_sfmt_bcd; -// OBSOLETE case 245 : itype = FR30BF_INSN_BNCD;goto extract_sfmt_bcd; -// OBSOLETE case 246 : itype = FR30BF_INSN_BND;goto extract_sfmt_bnd; -// OBSOLETE case 247 : itype = FR30BF_INSN_BPD;goto extract_sfmt_bnd; -// OBSOLETE case 248 : itype = FR30BF_INSN_BVD;goto extract_sfmt_bvd; -// OBSOLETE case 249 : itype = FR30BF_INSN_BNVD;goto extract_sfmt_bvd; -// OBSOLETE case 250 : itype = FR30BF_INSN_BLTD;goto extract_sfmt_bltd; -// OBSOLETE case 251 : itype = FR30BF_INSN_BGED;goto extract_sfmt_bltd; -// OBSOLETE case 252 : itype = FR30BF_INSN_BLED;goto extract_sfmt_bled; -// OBSOLETE case 253 : itype = FR30BF_INSN_BGTD;goto extract_sfmt_bled; -// OBSOLETE case 254 : itype = FR30BF_INSN_BLSD;goto extract_sfmt_blsd; -// OBSOLETE case 255 : itype = FR30BF_INSN_BHID;goto extract_sfmt_blsd; -// OBSOLETE default : itype = FR30BF_INSN_X_INVALID; goto extract_sfmt_empty; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* The instruction has been decoded, now extract the fields. */ -// OBSOLETE -// OBSOLETE extract_sfmt_empty: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_add: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_addi: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE UINT f_u4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_u4) = f_u4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_add2: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE SI f_m4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_m4) = f_m4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_addc: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_addn: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_addni: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE UINT f_u4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_u4) = f_u4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addni", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_addn2: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE SI f_m4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_m4) = f_m4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addn2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_cmp: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_cmpi: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE UINT f_u4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_u4) = f_u4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_cmp2: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE SI f_m4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_m4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) | (((-1) << (4)))); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_m4) = f_m4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp2", "f_Ri 0x%x", 'x', f_Ri, "f_m4 0x%x", 'x', f_m4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_and: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_andm: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andm", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_andh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_andb: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bandl: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE UINT f_u4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_u4) = f_u4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bandl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_btstl: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE UINT f_u4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_u4) = f_u4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstl", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_mul: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mul", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_mulu: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulu", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_mulh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulh", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_div0s: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_div0u: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u", (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_div1: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_div2: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div2", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_div3: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div3", (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_div4s: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div4s", (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_lsl: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsl", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_lsli: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE UINT f_u4; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_u4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_u4) = f_u4; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsli", "f_Ri 0x%x", 'x', f_Ri, "f_u4 0x%x", 'x', f_u4, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldi8: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f -// OBSOLETE UINT f_i8; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_i8 = EXTRACT_MSB0_UINT (insn, 16, 4, 8); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_i8) = f_i8; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_i8 0x%x", 'x', f_i8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldi20: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f -// OBSOLETE UINT f_i20_16; -// OBSOLETE UINT f_i20_4; -// OBSOLETE UINT f_Ri; -// OBSOLETE UINT f_i20; -// OBSOLETE /* Contents of trailing part of insn. */ -// OBSOLETE UINT word_1; -// OBSOLETE -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); -// OBSOLETE f_i20_16 = (0|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 0)); -// OBSOLETE f_i20_4 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE { -// OBSOLETE f_i20 = ((((f_i20_4) << (16))) | (f_i20_16)); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_i20) = f_i20; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi20", "f_i20 0x%x", 'x', f_i20, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldi32: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f -// OBSOLETE UINT f_i32; -// OBSOLETE UINT f_Ri; -// OBSOLETE /* Contents of trailing part of insn. */ -// OBSOLETE UINT word_1; -// OBSOLETE UINT word_2; -// OBSOLETE -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); -// OBSOLETE word_2 = GETIMEMUHI (current_cpu, pc + 4); -// OBSOLETE f_i32 = (0|(EXTRACT_MSB0_UINT (word_2, 16, 0, 16) << 0)|(EXTRACT_MSB0_UINT (word_1, 16, 0, 16) << 16)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_i32) = f_i32; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi32", "f_i32 0x%x", 'x', f_i32, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ld: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_lduh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldub: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr13: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr13uh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13uh", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr13ub: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr13ub", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr14: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f -// OBSOLETE SI f_disp10; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_disp10) = f_disp10; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14", "f_disp10 0x%x", 'x', f_disp10, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr14uh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f -// OBSOLETE SI f_disp9; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_disp9) = f_disp9; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14uh", "f_disp9 0x%x", 'x', f_disp9, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr14ub: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f -// OBSOLETE INT f_disp8; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_disp8) = f_disp8; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr14ub", "f_disp8 0x%x", 'x', f_disp8, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr15: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f -// OBSOLETE USI f_udisp6; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_udisp6) = f_udisp6; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15", "f_udisp6 0x%x", 'x', f_udisp6, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr15gr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr15dr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE UINT f_Rs2; -// OBSOLETE -// OBSOLETE f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rs2) = f_Rs2; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldr15ps: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldr15ps", (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_st: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_sth: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_stb: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str13: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str13h: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13h", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str13b: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str13b", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str14: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f -// OBSOLETE SI f_disp10; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_disp10 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (2)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_disp10) = f_disp10; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14", "f_Ri 0x%x", 'x', f_Ri, "f_disp10 0x%x", 'x', f_disp10, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str14h: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f -// OBSOLETE SI f_disp9; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_disp9 = ((EXTRACT_MSB0_INT (insn, 16, 4, 8)) << (1)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_disp9) = f_disp9; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14h", "f_Ri 0x%x", 'x', f_Ri, "f_disp9 0x%x", 'x', f_disp9, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str14b: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f -// OBSOLETE INT f_disp8; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_disp8 = EXTRACT_MSB0_INT (insn, 16, 4, 8); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_disp8) = f_disp8; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str14b", "f_Ri 0x%x", 'x', f_Ri, "f_disp8 0x%x", 'x', f_disp8, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str15: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f -// OBSOLETE USI f_udisp6; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_udisp6 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 4)) << (2)); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_udisp6) = f_udisp6; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15", "f_Ri 0x%x", 'x', f_Ri, "f_udisp6 0x%x", 'x', f_udisp6, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str15gr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15gr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str15dr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE UINT f_Rs2; -// OBSOLETE -// OBSOLETE f_Rs2 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rs2) = f_Rs2; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15dr", "f_Rs2 0x%x", 'x', f_Rs2, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_str15ps: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_str15ps", (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_mov: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov", "f_Rj 0x%x", 'x', f_Rj, "f_Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_movdr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE UINT f_Rs1; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Rs1) = f_Rs1; -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movdr", "f_Rs1 0x%x", 'x', f_Rs1, "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_movps: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_mov2dr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Rs1; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rs1 = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rs1) = f_Rs1; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2dr", "f_Ri 0x%x", 'x', f_Ri, "f_Rs1 0x%x", 'x', f_Rs1, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_mov2ps: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov2ps", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_jmp: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_callr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callr", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_call: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE SI f_rel12; -// OBSOLETE -// OBSOLETE f_rel12 = ((((EXTRACT_MSB0_INT (insn, 16, 5, 11)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label12) = f_rel12; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label12 0x%x", 'x', f_rel12, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ret: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret", (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_int: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE UINT f_u8; -// OBSOLETE -// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_u8) = f_u8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_int", "f_u8 0x%x", 'x', f_u8, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_inte: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_inte", (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_reti: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_reti", (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_brad: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brad", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bnod: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnod", (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_beqd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqd", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bcd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcd", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bnd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnd", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bvd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bvd", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bltd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bltd", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_bled: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bled", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_blsd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE SI f_rel9; -// OBSOLETE -// OBSOLETE f_rel9 = ((((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (1))) + (((pc) + (2)))); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (i_label9) = f_rel9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blsd", "label9 0x%x", 'x', f_rel9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr13: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE USI f_dir10; -// OBSOLETE -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir10) = f_dir10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr13h: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE USI f_dir9; -// OBSOLETE -// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir9) = f_dir9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr13b: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE UINT f_dir8; -// OBSOLETE -// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir8) = f_dir8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr13pi: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE USI f_dir10; -// OBSOLETE -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir10) = f_dir10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr13pih: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE USI f_dir9; -// OBSOLETE -// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir9) = f_dir9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr13pib: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE UINT f_dir8; -// OBSOLETE -// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir8) = f_dir8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmovr15pi: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE USI f_dir10; -// OBSOLETE -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir10) = f_dir10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmovr15pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r13: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE USI f_dir10; -// OBSOLETE -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir10) = f_dir10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r13h: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE USI f_dir9; -// OBSOLETE -// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir9) = f_dir9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13h", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r13b: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE UINT f_dir8; -// OBSOLETE -// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir8) = f_dir8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13b", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r13pi: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE USI f_dir10; -// OBSOLETE -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir10) = f_dir10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pi", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r13pih: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE USI f_dir9; -// OBSOLETE -// OBSOLETE f_dir9 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir9) = f_dir9; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pih", "f_dir9 0x%x", 'x', f_dir9, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r13pib: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE UINT f_dir8; -// OBSOLETE -// OBSOLETE f_dir8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir8) = f_dir8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r13pib", "f_dir8 0x%x", 'x', f_dir8, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_dmov2r15pd: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE USI f_dir10; -// OBSOLETE -// OBSOLETE f_dir10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_dir10) = f_dir10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmov2r15pd", "f_dir10 0x%x", 'x', f_dir10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldres: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldres", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_copop: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE /* Contents of trailing part of insn. */ -// OBSOLETE UINT word_1; -// OBSOLETE -// OBSOLETE word_1 = GETIMEMUHI (current_cpu, pc + 2); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_copop", (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_andccr: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE UINT f_u8; -// OBSOLETE -// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_u8) = f_u8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andccr", "f_u8 0x%x", 'x', f_u8, (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_stilm: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE UINT f_u8; -// OBSOLETE -// OBSOLETE f_u8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_u8) = f_u8; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stilm", "f_u8 0x%x", 'x', f_u8, (char *) 0)); -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_addsp: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE SI f_s10; -// OBSOLETE -// OBSOLETE f_s10 = ((EXTRACT_MSB0_INT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_s10) = f_s10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addsp", "f_s10 0x%x", 'x', f_s10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_extsb: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_extub: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extub", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_extsh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_extuh: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extuh", "f_Ri 0x%x", 'x', f_Ri, "Ri 0x%x", 'x', f_Ri, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldm0: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f -// OBSOLETE UINT f_reglist_low_ld; -// OBSOLETE -// OBSOLETE f_reglist_low_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_reglist_low_ld) = f_reglist_low_ld; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm0", "f_reglist_low_ld 0x%x", 'x', f_reglist_low_ld, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_0) = 0; -// OBSOLETE FLD (out_h_gr_SI_1) = 1; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_2) = 2; -// OBSOLETE FLD (out_h_gr_SI_3) = 3; -// OBSOLETE FLD (out_h_gr_SI_4) = 4; -// OBSOLETE FLD (out_h_gr_SI_5) = 5; -// OBSOLETE FLD (out_h_gr_SI_6) = 6; -// OBSOLETE FLD (out_h_gr_SI_7) = 7; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_ldm1: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f -// OBSOLETE UINT f_reglist_hi_ld; -// OBSOLETE -// OBSOLETE f_reglist_hi_ld = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_reglist_hi_ld) = f_reglist_hi_ld; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldm1", "f_reglist_hi_ld 0x%x", 'x', f_reglist_hi_ld, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_10) = 10; -// OBSOLETE FLD (out_h_gr_SI_11) = 11; -// OBSOLETE FLD (out_h_gr_SI_12) = 12; -// OBSOLETE FLD (out_h_gr_SI_13) = 13; -// OBSOLETE FLD (out_h_gr_SI_14) = 14; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_8) = 8; -// OBSOLETE FLD (out_h_gr_SI_9) = 9; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_stm0: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f -// OBSOLETE UINT f_reglist_low_st; -// OBSOLETE -// OBSOLETE f_reglist_low_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_reglist_low_st) = f_reglist_low_st; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm0", "f_reglist_low_st 0x%x", 'x', f_reglist_low_st, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_0) = 0; -// OBSOLETE FLD (in_h_gr_SI_1) = 1; -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (in_h_gr_SI_2) = 2; -// OBSOLETE FLD (in_h_gr_SI_3) = 3; -// OBSOLETE FLD (in_h_gr_SI_4) = 4; -// OBSOLETE FLD (in_h_gr_SI_5) = 5; -// OBSOLETE FLD (in_h_gr_SI_6) = 6; -// OBSOLETE FLD (in_h_gr_SI_7) = 7; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_stm1: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f -// OBSOLETE UINT f_reglist_hi_st; -// OBSOLETE -// OBSOLETE f_reglist_hi_st = EXTRACT_MSB0_UINT (insn, 16, 8, 8); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_reglist_hi_st) = f_reglist_hi_st; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stm1", "f_reglist_hi_st 0x%x", 'x', f_reglist_hi_st, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_10) = 10; -// OBSOLETE FLD (in_h_gr_SI_11) = 11; -// OBSOLETE FLD (in_h_gr_SI_12) = 12; -// OBSOLETE FLD (in_h_gr_SI_13) = 13; -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (in_h_gr_SI_8) = 8; -// OBSOLETE FLD (in_h_gr_SI_9) = 9; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_enter: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE USI f_u10; -// OBSOLETE -// OBSOLETE f_u10 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_u10) = f_u10; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_enter", "f_u10 0x%x", 'x', f_u10, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_14) = 14; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_leave: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_leave", (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_h_gr_SI_14) = 14; -// OBSOLETE FLD (in_h_gr_SI_15) = 15; -// OBSOLETE FLD (out_h_gr_SI_14) = 14; -// OBSOLETE FLD (out_h_gr_SI_15) = 15; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE extract_sfmt_xchb: -// OBSOLETE { -// OBSOLETE const IDESC *idesc = &fr30bf_insn_data[itype]; -// OBSOLETE CGEN_INSN_INT insn = base_insn; -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE UINT f_Rj; -// OBSOLETE UINT f_Ri; -// OBSOLETE -// OBSOLETE f_Rj = EXTRACT_MSB0_UINT (insn, 16, 8, 4); -// OBSOLETE f_Ri = EXTRACT_MSB0_UINT (insn, 16, 12, 4); -// OBSOLETE -// OBSOLETE /* Record the fields for the semantic handler. */ -// OBSOLETE FLD (f_Ri) = f_Ri; -// OBSOLETE FLD (f_Rj) = f_Rj; -// OBSOLETE FLD (i_Ri) = & CPU (h_gr)[f_Ri]; -// OBSOLETE FLD (i_Rj) = & CPU (h_gr)[f_Rj]; -// OBSOLETE TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xchb", "f_Ri 0x%x", 'x', f_Ri, "f_Rj 0x%x", 'x', f_Rj, "Ri 0x%x", 'x', f_Ri, "Rj 0x%x", 'x', f_Rj, (char *) 0)); -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE /* Record the fields for profiling. */ -// OBSOLETE if (PROFILE_MODEL_P (current_cpu)) -// OBSOLETE { -// OBSOLETE FLD (in_Ri) = f_Ri; -// OBSOLETE FLD (in_Rj) = f_Rj; -// OBSOLETE FLD (out_Ri) = f_Ri; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE #undef FLD -// OBSOLETE return idesc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE } diff --git a/sim/fr30/decode.h b/sim/fr30/decode.h deleted file mode 100644 index 452c3f90107..00000000000 --- a/sim/fr30/decode.h +++ /dev/null @@ -1,127 +0,0 @@ -// OBSOLETE /* Decode header for fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #ifndef FR30BF_DECODE_H -// OBSOLETE #define FR30BF_DECODE_H -// OBSOLETE -// OBSOLETE extern const IDESC *fr30bf_decode (SIM_CPU *, IADDR, -// OBSOLETE CGEN_INSN_INT, -// OBSOLETE ARGBUF *); -// OBSOLETE extern void fr30bf_init_idesc_table (SIM_CPU *); -// OBSOLETE extern void fr30bf_sem_init_idesc_table (SIM_CPU *); -// OBSOLETE extern void fr30bf_semf_init_idesc_table (SIM_CPU *); -// OBSOLETE -// OBSOLETE /* Enum declaration for instructions in cpu family fr30bf. */ -// OBSOLETE typedef enum fr30bf_insn_type { -// OBSOLETE FR30BF_INSN_X_INVALID, FR30BF_INSN_X_AFTER, FR30BF_INSN_X_BEFORE, FR30BF_INSN_X_CTI_CHAIN -// OBSOLETE , FR30BF_INSN_X_CHAIN, FR30BF_INSN_X_BEGIN, FR30BF_INSN_ADD, FR30BF_INSN_ADDI -// OBSOLETE , FR30BF_INSN_ADD2, FR30BF_INSN_ADDC, FR30BF_INSN_ADDN, FR30BF_INSN_ADDNI -// OBSOLETE , FR30BF_INSN_ADDN2, FR30BF_INSN_SUB, FR30BF_INSN_SUBC, FR30BF_INSN_SUBN -// OBSOLETE , FR30BF_INSN_CMP, FR30BF_INSN_CMPI, FR30BF_INSN_CMP2, FR30BF_INSN_AND -// OBSOLETE , FR30BF_INSN_OR, FR30BF_INSN_EOR, FR30BF_INSN_ANDM, FR30BF_INSN_ANDH -// OBSOLETE , FR30BF_INSN_ANDB, FR30BF_INSN_ORM, FR30BF_INSN_ORH, FR30BF_INSN_ORB -// OBSOLETE , FR30BF_INSN_EORM, FR30BF_INSN_EORH, FR30BF_INSN_EORB, FR30BF_INSN_BANDL -// OBSOLETE , FR30BF_INSN_BORL, FR30BF_INSN_BEORL, FR30BF_INSN_BANDH, FR30BF_INSN_BORH -// OBSOLETE , FR30BF_INSN_BEORH, FR30BF_INSN_BTSTL, FR30BF_INSN_BTSTH, FR30BF_INSN_MUL -// OBSOLETE , FR30BF_INSN_MULU, FR30BF_INSN_MULH, FR30BF_INSN_MULUH, FR30BF_INSN_DIV0S -// OBSOLETE , FR30BF_INSN_DIV0U, FR30BF_INSN_DIV1, FR30BF_INSN_DIV2, FR30BF_INSN_DIV3 -// OBSOLETE , FR30BF_INSN_DIV4S, FR30BF_INSN_LSL, FR30BF_INSN_LSLI, FR30BF_INSN_LSL2 -// OBSOLETE , FR30BF_INSN_LSR, FR30BF_INSN_LSRI, FR30BF_INSN_LSR2, FR30BF_INSN_ASR -// OBSOLETE , FR30BF_INSN_ASRI, FR30BF_INSN_ASR2, FR30BF_INSN_LDI8, FR30BF_INSN_LDI20 -// OBSOLETE , FR30BF_INSN_LDI32, FR30BF_INSN_LD, FR30BF_INSN_LDUH, FR30BF_INSN_LDUB -// OBSOLETE , FR30BF_INSN_LDR13, FR30BF_INSN_LDR13UH, FR30BF_INSN_LDR13UB, FR30BF_INSN_LDR14 -// OBSOLETE , FR30BF_INSN_LDR14UH, FR30BF_INSN_LDR14UB, FR30BF_INSN_LDR15, FR30BF_INSN_LDR15GR -// OBSOLETE , FR30BF_INSN_LDR15DR, FR30BF_INSN_LDR15PS, FR30BF_INSN_ST, FR30BF_INSN_STH -// OBSOLETE , FR30BF_INSN_STB, FR30BF_INSN_STR13, FR30BF_INSN_STR13H, FR30BF_INSN_STR13B -// OBSOLETE , FR30BF_INSN_STR14, FR30BF_INSN_STR14H, FR30BF_INSN_STR14B, FR30BF_INSN_STR15 -// OBSOLETE , FR30BF_INSN_STR15GR, FR30BF_INSN_STR15DR, FR30BF_INSN_STR15PS, FR30BF_INSN_MOV -// OBSOLETE , FR30BF_INSN_MOVDR, FR30BF_INSN_MOVPS, FR30BF_INSN_MOV2DR, FR30BF_INSN_MOV2PS -// OBSOLETE , FR30BF_INSN_JMP, FR30BF_INSN_JMPD, FR30BF_INSN_CALLR, FR30BF_INSN_CALLRD -// OBSOLETE , FR30BF_INSN_CALL, FR30BF_INSN_CALLD, FR30BF_INSN_RET, FR30BF_INSN_RET_D -// OBSOLETE , FR30BF_INSN_INT, FR30BF_INSN_INTE, FR30BF_INSN_RETI, FR30BF_INSN_BRAD -// OBSOLETE , FR30BF_INSN_BRA, FR30BF_INSN_BNOD, FR30BF_INSN_BNO, FR30BF_INSN_BEQD -// OBSOLETE , FR30BF_INSN_BEQ, FR30BF_INSN_BNED, FR30BF_INSN_BNE, FR30BF_INSN_BCD -// OBSOLETE , FR30BF_INSN_BC, FR30BF_INSN_BNCD, FR30BF_INSN_BNC, FR30BF_INSN_BND -// OBSOLETE , FR30BF_INSN_BN, FR30BF_INSN_BPD, FR30BF_INSN_BP, FR30BF_INSN_BVD -// OBSOLETE , FR30BF_INSN_BV, FR30BF_INSN_BNVD, FR30BF_INSN_BNV, FR30BF_INSN_BLTD -// OBSOLETE , FR30BF_INSN_BLT, FR30BF_INSN_BGED, FR30BF_INSN_BGE, FR30BF_INSN_BLED -// OBSOLETE , FR30BF_INSN_BLE, FR30BF_INSN_BGTD, FR30BF_INSN_BGT, FR30BF_INSN_BLSD -// OBSOLETE , FR30BF_INSN_BLS, FR30BF_INSN_BHID, FR30BF_INSN_BHI, FR30BF_INSN_DMOVR13 -// OBSOLETE , FR30BF_INSN_DMOVR13H, FR30BF_INSN_DMOVR13B, FR30BF_INSN_DMOVR13PI, FR30BF_INSN_DMOVR13PIH -// OBSOLETE , FR30BF_INSN_DMOVR13PIB, FR30BF_INSN_DMOVR15PI, FR30BF_INSN_DMOV2R13, FR30BF_INSN_DMOV2R13H -// OBSOLETE , FR30BF_INSN_DMOV2R13B, FR30BF_INSN_DMOV2R13PI, FR30BF_INSN_DMOV2R13PIH, FR30BF_INSN_DMOV2R13PIB -// OBSOLETE , FR30BF_INSN_DMOV2R15PD, FR30BF_INSN_LDRES, FR30BF_INSN_STRES, FR30BF_INSN_COPOP -// OBSOLETE , FR30BF_INSN_COPLD, FR30BF_INSN_COPST, FR30BF_INSN_COPSV, FR30BF_INSN_NOP -// OBSOLETE , FR30BF_INSN_ANDCCR, FR30BF_INSN_ORCCR, FR30BF_INSN_STILM, FR30BF_INSN_ADDSP -// OBSOLETE , FR30BF_INSN_EXTSB, FR30BF_INSN_EXTUB, FR30BF_INSN_EXTSH, FR30BF_INSN_EXTUH -// OBSOLETE , FR30BF_INSN_LDM0, FR30BF_INSN_LDM1, FR30BF_INSN_STM0, FR30BF_INSN_STM1 -// OBSOLETE , FR30BF_INSN_ENTER, FR30BF_INSN_LEAVE, FR30BF_INSN_XCHB, FR30BF_INSN_MAX -// OBSOLETE } FR30BF_INSN_TYPE; -// OBSOLETE -// OBSOLETE /* Enum declaration for semantic formats in cpu family fr30bf. */ -// OBSOLETE typedef enum fr30bf_sfmt_type { -// OBSOLETE FR30BF_SFMT_EMPTY, FR30BF_SFMT_ADD, FR30BF_SFMT_ADDI, FR30BF_SFMT_ADD2 -// OBSOLETE , FR30BF_SFMT_ADDC, FR30BF_SFMT_ADDN, FR30BF_SFMT_ADDNI, FR30BF_SFMT_ADDN2 -// OBSOLETE , FR30BF_SFMT_CMP, FR30BF_SFMT_CMPI, FR30BF_SFMT_CMP2, FR30BF_SFMT_AND -// OBSOLETE , FR30BF_SFMT_ANDM, FR30BF_SFMT_ANDH, FR30BF_SFMT_ANDB, FR30BF_SFMT_BANDL -// OBSOLETE , FR30BF_SFMT_BTSTL, FR30BF_SFMT_MUL, FR30BF_SFMT_MULU, FR30BF_SFMT_MULH -// OBSOLETE , FR30BF_SFMT_DIV0S, FR30BF_SFMT_DIV0U, FR30BF_SFMT_DIV1, FR30BF_SFMT_DIV2 -// OBSOLETE , FR30BF_SFMT_DIV3, FR30BF_SFMT_DIV4S, FR30BF_SFMT_LSL, FR30BF_SFMT_LSLI -// OBSOLETE , FR30BF_SFMT_LDI8, FR30BF_SFMT_LDI20, FR30BF_SFMT_LDI32, FR30BF_SFMT_LD -// OBSOLETE , FR30BF_SFMT_LDUH, FR30BF_SFMT_LDUB, FR30BF_SFMT_LDR13, FR30BF_SFMT_LDR13UH -// OBSOLETE , FR30BF_SFMT_LDR13UB, FR30BF_SFMT_LDR14, FR30BF_SFMT_LDR14UH, FR30BF_SFMT_LDR14UB -// OBSOLETE , FR30BF_SFMT_LDR15, FR30BF_SFMT_LDR15GR, FR30BF_SFMT_LDR15DR, FR30BF_SFMT_LDR15PS -// OBSOLETE , FR30BF_SFMT_ST, FR30BF_SFMT_STH, FR30BF_SFMT_STB, FR30BF_SFMT_STR13 -// OBSOLETE , FR30BF_SFMT_STR13H, FR30BF_SFMT_STR13B, FR30BF_SFMT_STR14, FR30BF_SFMT_STR14H -// OBSOLETE , FR30BF_SFMT_STR14B, FR30BF_SFMT_STR15, FR30BF_SFMT_STR15GR, FR30BF_SFMT_STR15DR -// OBSOLETE , FR30BF_SFMT_STR15PS, FR30BF_SFMT_MOV, FR30BF_SFMT_MOVDR, FR30BF_SFMT_MOVPS -// OBSOLETE , FR30BF_SFMT_MOV2DR, FR30BF_SFMT_MOV2PS, FR30BF_SFMT_JMP, FR30BF_SFMT_CALLR -// OBSOLETE , FR30BF_SFMT_CALL, FR30BF_SFMT_RET, FR30BF_SFMT_INT, FR30BF_SFMT_INTE -// OBSOLETE , FR30BF_SFMT_RETI, FR30BF_SFMT_BRAD, FR30BF_SFMT_BNOD, FR30BF_SFMT_BEQD -// OBSOLETE , FR30BF_SFMT_BCD, FR30BF_SFMT_BND, FR30BF_SFMT_BVD, FR30BF_SFMT_BLTD -// OBSOLETE , FR30BF_SFMT_BLED, FR30BF_SFMT_BLSD, FR30BF_SFMT_DMOVR13, FR30BF_SFMT_DMOVR13H -// OBSOLETE , FR30BF_SFMT_DMOVR13B, FR30BF_SFMT_DMOVR13PI, FR30BF_SFMT_DMOVR13PIH, FR30BF_SFMT_DMOVR13PIB -// OBSOLETE , FR30BF_SFMT_DMOVR15PI, FR30BF_SFMT_DMOV2R13, FR30BF_SFMT_DMOV2R13H, FR30BF_SFMT_DMOV2R13B -// OBSOLETE , FR30BF_SFMT_DMOV2R13PI, FR30BF_SFMT_DMOV2R13PIH, FR30BF_SFMT_DMOV2R13PIB, FR30BF_SFMT_DMOV2R15PD -// OBSOLETE , FR30BF_SFMT_LDRES, FR30BF_SFMT_COPOP, FR30BF_SFMT_ANDCCR, FR30BF_SFMT_STILM -// OBSOLETE , FR30BF_SFMT_ADDSP, FR30BF_SFMT_EXTSB, FR30BF_SFMT_EXTUB, FR30BF_SFMT_EXTSH -// OBSOLETE , FR30BF_SFMT_EXTUH, FR30BF_SFMT_LDM0, FR30BF_SFMT_LDM1, FR30BF_SFMT_STM0 -// OBSOLETE , FR30BF_SFMT_STM1, FR30BF_SFMT_ENTER, FR30BF_SFMT_LEAVE, FR30BF_SFMT_XCHB -// OBSOLETE } FR30BF_SFMT_TYPE; -// OBSOLETE -// OBSOLETE /* Function unit handlers (user written). */ -// OBSOLETE -// OBSOLETE extern int fr30bf_model_fr30_1_u_stm (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*reglist*/); -// OBSOLETE extern int fr30bf_model_fr30_1_u_ldm (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*reglist*/); -// OBSOLETE extern int fr30bf_model_fr30_1_u_store (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/, INT /*Rj*/); -// OBSOLETE extern int fr30bf_model_fr30_1_u_load (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Rj*/, INT /*Ri*/); -// OBSOLETE extern int fr30bf_model_fr30_1_u_cti (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/); -// OBSOLETE extern int fr30bf_model_fr30_1_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*Ri*/, INT /*Rj*/, INT /*Ri*/); -// OBSOLETE -// OBSOLETE /* Profiling before/after handlers (user written) */ -// OBSOLETE -// OBSOLETE extern void fr30bf_model_insn_before (SIM_CPU *, int /*first_p*/); -// OBSOLETE extern void fr30bf_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/); -// OBSOLETE -// OBSOLETE #endif /* FR30BF_DECODE_H */ diff --git a/sim/fr30/devices.c b/sim/fr30/devices.c deleted file mode 100644 index f99f35c12bd..00000000000 --- a/sim/fr30/devices.c +++ /dev/null @@ -1,98 +0,0 @@ -// OBSOLETE /* fr30 device support -// OBSOLETE Copyright (C) 1998, 1999 Free Software Foundation, Inc. -// OBSOLETE Contributed by Cygnus Solutions. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -// OBSOLETE -// OBSOLETE /* ??? All of this is just to get something going. wip! */ -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE -// OBSOLETE #ifdef HAVE_DV_SOCKSER -// OBSOLETE #include "dv-sockser.h" -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE device fr30_devices; -// OBSOLETE -// OBSOLETE int -// OBSOLETE device_io_read_buffer (device *me, void *source, int space, -// OBSOLETE address_word addr, unsigned nr_bytes, -// OBSOLETE SIM_DESC sd, SIM_CPU *cpu, sim_cia cia) -// OBSOLETE { -// OBSOLETE if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT) -// OBSOLETE return nr_bytes; -// OBSOLETE -// OBSOLETE #ifdef HAVE_DV_SOCKSER -// OBSOLETE if (addr == UART_INCHAR_ADDR) -// OBSOLETE { -// OBSOLETE int c = dv_sockser_read (sd); -// OBSOLETE if (c == -1) -// OBSOLETE return 0; -// OBSOLETE *(char *) source = c; -// OBSOLETE return 1; -// OBSOLETE } -// OBSOLETE if (addr == UART_STATUS_ADDR) -// OBSOLETE { -// OBSOLETE int status = dv_sockser_status (sd); -// OBSOLETE unsigned char *p = source; -// OBSOLETE p[0] = 0; -// OBSOLETE p[1] = (((status & DV_SOCKSER_INPUT_EMPTY) -// OBSOLETE #ifdef UART_INPUT_READY0 -// OBSOLETE ? UART_INPUT_READY : 0) -// OBSOLETE #else -// OBSOLETE ? 0 : UART_INPUT_READY) -// OBSOLETE #endif -// OBSOLETE + ((status & DV_SOCKSER_OUTPUT_EMPTY) ? UART_OUTPUT_READY : 0)); -// OBSOLETE return 2; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE return nr_bytes; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE device_io_write_buffer (device *me, const void *source, int space, -// OBSOLETE address_word addr, unsigned nr_bytes, -// OBSOLETE SIM_DESC sd, SIM_CPU *cpu, sim_cia cia) -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE -// OBSOLETE if (addr == MCCR_ADDR) -// OBSOLETE { -// OBSOLETE if ((*(const char *) source & MCCR_CP) != 0) -// OBSOLETE scache_flush (sd); -// OBSOLETE return nr_bytes; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT) -// OBSOLETE return nr_bytes; -// OBSOLETE -// OBSOLETE #if HAVE_DV_SOCKSER -// OBSOLETE if (addr == UART_OUTCHAR_ADDR) -// OBSOLETE { -// OBSOLETE int rc = dv_sockser_write (sd, *(char *) source); -// OBSOLETE return rc == 1; -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE return nr_bytes; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE device_error (device *me, char *message, ...) -// OBSOLETE { -// OBSOLETE } diff --git a/sim/fr30/fr30-sim.h b/sim/fr30/fr30-sim.h deleted file mode 100644 index f1d910963d3..00000000000 --- a/sim/fr30/fr30-sim.h +++ /dev/null @@ -1,96 +0,0 @@ -// OBSOLETE /* collection of junk waiting time to sort out -// OBSOLETE Copyright (C) 1998, 1999 Free Software Foundation, Inc. -// OBSOLETE Contributed by Cygnus Solutions. -// OBSOLETE -// OBSOLETE This file is part of the GNU Simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -// OBSOLETE -// OBSOLETE #ifndef FR30_SIM_H -// OBSOLETE #define FR30_SIM_H -// OBSOLETE -// OBSOLETE /* gdb register numbers */ -// OBSOLETE #define PC_REGNUM 16 -// OBSOLETE #define PS_REGNUM 17 -// OBSOLETE #define TBR_REGNUM 18 -// OBSOLETE #define RP_REGNUM 19 -// OBSOLETE #define SSP_REGNUM 20 -// OBSOLETE #define USP_REGNUM 21 -// OBSOLETE #define MDH_REGNUM 22 -// OBSOLETE #define MDL_REGNUM 23 -// OBSOLETE -// OBSOLETE extern BI fr30bf_h_sbit_get_handler (SIM_CPU *); -// OBSOLETE extern void fr30bf_h_sbit_set_handler (SIM_CPU *, BI); -// OBSOLETE -// OBSOLETE extern UQI fr30bf_h_ccr_get_handler (SIM_CPU *); -// OBSOLETE extern void fr30bf_h_ccr_set_handler (SIM_CPU *, UQI); -// OBSOLETE -// OBSOLETE extern UQI fr30bf_h_scr_get_handler (SIM_CPU *); -// OBSOLETE extern void fr30bf_h_scr_set_handler (SIM_CPU *, UQI); -// OBSOLETE -// OBSOLETE extern UQI fr30bf_h_ilm_get_handler (SIM_CPU *); -// OBSOLETE extern void fr30bf_h_ilm_set_handler (SIM_CPU *, UQI); -// OBSOLETE -// OBSOLETE extern USI fr30bf_h_ps_get_handler (SIM_CPU *); -// OBSOLETE extern void fr30bf_h_ps_set_handler (SIM_CPU *, USI); -// OBSOLETE -// OBSOLETE extern SI fr30bf_h_dr_get_handler (SIM_CPU *, UINT); -// OBSOLETE extern void fr30bf_h_dr_set_handler (SIM_CPU *, UINT, SI); -// OBSOLETE -// OBSOLETE #define GETTWI GETTSI -// OBSOLETE #define SETTWI SETTSI -// OBSOLETE -// OBSOLETE /* Hardware/device support. -// OBSOLETE ??? Will eventually want to move device stuff to config files. */ -// OBSOLETE -// OBSOLETE /* Special purpose traps. */ -// OBSOLETE #define TRAP_SYSCALL 10 -// OBSOLETE #define TRAP_BREAKPOINT 9 -// OBSOLETE -// OBSOLETE /* Support for the MCCR register (Cache Control Register) is needed in order -// OBSOLETE for overlays to work correctly with the scache: cached instructions need -// OBSOLETE to be flushed when the instruction space is changed at runtime. */ -// OBSOLETE -// OBSOLETE /* Cache Control Register */ -// OBSOLETE #define MCCR_ADDR 0xffffffff -// OBSOLETE #define MCCR_CP 0x80 -// OBSOLETE /* not supported */ -// OBSOLETE #define MCCR_CM0 2 -// OBSOLETE #define MCCR_CM1 1 -// OBSOLETE -// OBSOLETE /* Serial device addresses. */ -// OBSOLETE /* These are the values for the MSA2000 board. -// OBSOLETE ??? Will eventually need to move this to a config file. */ -// OBSOLETE #define UART_INCHAR_ADDR 0xff004009 -// OBSOLETE #define UART_OUTCHAR_ADDR 0xff004007 -// OBSOLETE #define UART_STATUS_ADDR 0xff004002 -// OBSOLETE -// OBSOLETE #define UART_INPUT_READY 0x4 -// OBSOLETE #define UART_OUTPUT_READY 0x1 -// OBSOLETE -// OBSOLETE /* Start address and length of all device support. */ -// OBSOLETE #define FR30_DEVICE_ADDR 0xff000000 -// OBSOLETE #define FR30_DEVICE_LEN 0x00ffffff -// OBSOLETE -// OBSOLETE /* sim_core_attach device argument. */ -// OBSOLETE extern device fr30_devices; -// OBSOLETE -// OBSOLETE /* FIXME: Temporary, until device support ready. */ -// OBSOLETE struct _device { int foo; }; -// OBSOLETE -// OBSOLETE /* Handle the trap insn. */ -// OBSOLETE USI fr30_int (SIM_CPU *, PCADDR, int); -// OBSOLETE -// OBSOLETE #endif /* FR30_SIM_H */ diff --git a/sim/fr30/fr30.c b/sim/fr30/fr30.c deleted file mode 100644 index 835ca9a26e1..00000000000 --- a/sim/fr30/fr30.c +++ /dev/null @@ -1,423 +0,0 @@ -// OBSOLETE /* fr30 simulator support code -// OBSOLETE Copyright (C) 1998, 1999 Free Software Foundation, Inc. -// OBSOLETE Contributed by Cygnus Solutions. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -// OBSOLETE -// OBSOLETE #define WANT_CPU -// OBSOLETE #define WANT_CPU_FR30BF -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #include "cgen-mem.h" -// OBSOLETE #include "cgen-ops.h" -// OBSOLETE -// OBSOLETE /* Convert gdb dedicated register number to actual dr reg number. */ -// OBSOLETE -// OBSOLETE static int -// OBSOLETE decode_gdb_dr_regnum (int gdb_regnum) -// OBSOLETE { -// OBSOLETE switch (gdb_regnum) -// OBSOLETE { -// OBSOLETE case TBR_REGNUM : return H_DR_TBR; -// OBSOLETE case RP_REGNUM : return H_DR_RP; -// OBSOLETE case SSP_REGNUM : return H_DR_SSP; -// OBSOLETE case USP_REGNUM : return H_DR_USP; -// OBSOLETE case MDH_REGNUM : return H_DR_MDH; -// OBSOLETE case MDL_REGNUM : return H_DR_MDL; -// OBSOLETE } -// OBSOLETE abort (); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* The contents of BUF are in target byte order. */ -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_fetch_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len) -// OBSOLETE { -// OBSOLETE if (rn < 16) -// OBSOLETE SETTWI (buf, fr30bf_h_gr_get (current_cpu, rn)); -// OBSOLETE else -// OBSOLETE switch (rn) -// OBSOLETE { -// OBSOLETE case PC_REGNUM : -// OBSOLETE SETTWI (buf, fr30bf_h_pc_get (current_cpu)); -// OBSOLETE break; -// OBSOLETE case PS_REGNUM : -// OBSOLETE SETTWI (buf, fr30bf_h_ps_get (current_cpu)); -// OBSOLETE break; -// OBSOLETE case TBR_REGNUM : -// OBSOLETE case RP_REGNUM : -// OBSOLETE case SSP_REGNUM : -// OBSOLETE case USP_REGNUM : -// OBSOLETE case MDH_REGNUM : -// OBSOLETE case MDL_REGNUM : -// OBSOLETE SETTWI (buf, fr30bf_h_dr_get (current_cpu, -// OBSOLETE decode_gdb_dr_regnum (rn))); -// OBSOLETE break; -// OBSOLETE default : -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE return -1; /*FIXME*/ -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* The contents of BUF are in target byte order. */ -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_store_register (SIM_CPU *current_cpu, int rn, unsigned char *buf, int len) -// OBSOLETE { -// OBSOLETE if (rn < 16) -// OBSOLETE fr30bf_h_gr_set (current_cpu, rn, GETTWI (buf)); -// OBSOLETE else -// OBSOLETE switch (rn) -// OBSOLETE { -// OBSOLETE case PC_REGNUM : -// OBSOLETE fr30bf_h_pc_set (current_cpu, GETTWI (buf)); -// OBSOLETE break; -// OBSOLETE case PS_REGNUM : -// OBSOLETE fr30bf_h_ps_set (current_cpu, GETTWI (buf)); -// OBSOLETE break; -// OBSOLETE case TBR_REGNUM : -// OBSOLETE case RP_REGNUM : -// OBSOLETE case SSP_REGNUM : -// OBSOLETE case USP_REGNUM : -// OBSOLETE case MDH_REGNUM : -// OBSOLETE case MDL_REGNUM : -// OBSOLETE fr30bf_h_dr_set (current_cpu, -// OBSOLETE decode_gdb_dr_regnum (rn), -// OBSOLETE GETTWI (buf)); -// OBSOLETE break; -// OBSOLETE default : -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE return -1; /*FIXME*/ -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Cover fns to access the ccr bits. */ -// OBSOLETE -// OBSOLETE BI -// OBSOLETE fr30bf_h_sbit_get_handler (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_sbit); -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_sbit_set_handler (SIM_CPU *current_cpu, BI newval) -// OBSOLETE { -// OBSOLETE int old_sbit = CPU (h_sbit); -// OBSOLETE int new_sbit = (newval != 0); -// OBSOLETE -// OBSOLETE CPU (h_sbit) = new_sbit; -// OBSOLETE -// OBSOLETE /* When switching stack modes, update the registers. */ -// OBSOLETE if (old_sbit != new_sbit) -// OBSOLETE { -// OBSOLETE if (old_sbit) -// OBSOLETE { -// OBSOLETE /* Switching user -> system. */ -// OBSOLETE CPU (h_dr[H_DR_USP]) = CPU (h_gr[H_GR_SP]); -// OBSOLETE CPU (h_gr[H_GR_SP]) = CPU (h_dr[H_DR_SSP]); -// OBSOLETE } -// OBSOLETE else -// OBSOLETE { -// OBSOLETE /* Switching system -> user. */ -// OBSOLETE CPU (h_dr[H_DR_SSP]) = CPU (h_gr[H_GR_SP]); -// OBSOLETE CPU (h_gr[H_GR_SP]) = CPU (h_dr[H_DR_USP]); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* TODO: r15 interlock */ -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Cover fns to access the ccr bits. */ -// OBSOLETE -// OBSOLETE UQI -// OBSOLETE fr30bf_h_ccr_get_handler (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE int ccr = ( (GET_H_CBIT () << 0) -// OBSOLETE | (GET_H_VBIT () << 1) -// OBSOLETE | (GET_H_ZBIT () << 2) -// OBSOLETE | (GET_H_NBIT () << 3) -// OBSOLETE | (GET_H_IBIT () << 4) -// OBSOLETE | (GET_H_SBIT () << 5)); -// OBSOLETE -// OBSOLETE return ccr; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ccr_set_handler (SIM_CPU *current_cpu, UQI newval) -// OBSOLETE { -// OBSOLETE int ccr = newval & 0x3f; -// OBSOLETE -// OBSOLETE SET_H_CBIT ((ccr & 1) != 0); -// OBSOLETE SET_H_VBIT ((ccr & 2) != 0); -// OBSOLETE SET_H_ZBIT ((ccr & 4) != 0); -// OBSOLETE SET_H_NBIT ((ccr & 8) != 0); -// OBSOLETE SET_H_IBIT ((ccr & 0x10) != 0); -// OBSOLETE SET_H_SBIT ((ccr & 0x20) != 0); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Cover fns to access the scr bits. */ -// OBSOLETE -// OBSOLETE UQI -// OBSOLETE fr30bf_h_scr_get_handler (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE int scr = ( (GET_H_TBIT () << 0) -// OBSOLETE | (GET_H_D0BIT () << 1) -// OBSOLETE | (GET_H_D1BIT () << 2)); -// OBSOLETE return scr; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_scr_set_handler (SIM_CPU *current_cpu, UQI newval) -// OBSOLETE { -// OBSOLETE int scr = newval & 7; -// OBSOLETE -// OBSOLETE SET_H_TBIT ((scr & 1) != 0); -// OBSOLETE SET_H_D0BIT ((scr & 2) != 0); -// OBSOLETE SET_H_D1BIT ((scr & 4) != 0); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Cover fns to access the ilm bits. */ -// OBSOLETE -// OBSOLETE UQI -// OBSOLETE fr30bf_h_ilm_get_handler (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE return CPU (h_ilm); -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ilm_set_handler (SIM_CPU *current_cpu, UQI newval) -// OBSOLETE { -// OBSOLETE int ilm = newval & 0x1f; -// OBSOLETE int current_ilm = CPU (h_ilm); -// OBSOLETE -// OBSOLETE /* We can only set new ilm values < 16 if the current ilm is < 16. Otherwise -// OBSOLETE we add 16 to the value we are given. */ -// OBSOLETE if (current_ilm >= 16 && ilm < 16) -// OBSOLETE ilm += 16; -// OBSOLETE -// OBSOLETE CPU (h_ilm) = ilm; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Cover fns to access the ps register. */ -// OBSOLETE -// OBSOLETE USI -// OBSOLETE fr30bf_h_ps_get_handler (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE int ccr = GET_H_CCR (); -// OBSOLETE int scr = GET_H_SCR (); -// OBSOLETE int ilm = GET_H_ILM (); -// OBSOLETE -// OBSOLETE return ccr | (scr << 8) | (ilm << 16); -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_ps_set_handler (SIM_CPU *current_cpu, USI newval) -// OBSOLETE { -// OBSOLETE int ccr = newval & 0xff; -// OBSOLETE int scr = (newval >> 8) & 7; -// OBSOLETE int ilm = (newval >> 16) & 0x1f; -// OBSOLETE -// OBSOLETE SET_H_CCR (ccr); -// OBSOLETE SET_H_SCR (scr); -// OBSOLETE SET_H_ILM (ilm); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Cover fns to access the dedicated registers. */ -// OBSOLETE -// OBSOLETE SI -// OBSOLETE fr30bf_h_dr_get_handler (SIM_CPU *current_cpu, UINT dr) -// OBSOLETE { -// OBSOLETE switch (dr) -// OBSOLETE { -// OBSOLETE case H_DR_SSP : -// OBSOLETE if (! GET_H_SBIT ()) -// OBSOLETE return GET_H_GR (H_GR_SP); -// OBSOLETE else -// OBSOLETE return CPU (h_dr[H_DR_SSP]); -// OBSOLETE case H_DR_USP : -// OBSOLETE if (GET_H_SBIT ()) -// OBSOLETE return GET_H_GR (H_GR_SP); -// OBSOLETE else -// OBSOLETE return CPU (h_dr[H_DR_USP]); -// OBSOLETE case H_DR_TBR : -// OBSOLETE case H_DR_RP : -// OBSOLETE case H_DR_MDH : -// OBSOLETE case H_DR_MDL : -// OBSOLETE return CPU (h_dr[dr]); -// OBSOLETE } -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_h_dr_set_handler (SIM_CPU *current_cpu, UINT dr, SI newval) -// OBSOLETE { -// OBSOLETE switch (dr) -// OBSOLETE { -// OBSOLETE case H_DR_SSP : -// OBSOLETE if (! GET_H_SBIT ()) -// OBSOLETE SET_H_GR (H_GR_SP, newval); -// OBSOLETE else -// OBSOLETE CPU (h_dr[H_DR_SSP]) = newval; -// OBSOLETE break; -// OBSOLETE case H_DR_USP : -// OBSOLETE if (GET_H_SBIT ()) -// OBSOLETE SET_H_GR (H_GR_SP, newval); -// OBSOLETE else -// OBSOLETE CPU (h_dr[H_DR_USP]) = newval; -// OBSOLETE break; -// OBSOLETE case H_DR_TBR : -// OBSOLETE case H_DR_RP : -// OBSOLETE case H_DR_MDH : -// OBSOLETE case H_DR_MDL : -// OBSOLETE CPU (h_dr[dr]) = newval; -// OBSOLETE break; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE -// OBSOLETE /* FIXME: Some of these should be inline or macros. Later. */ -// OBSOLETE -// OBSOLETE /* Initialize cycle counting for an insn. -// OBSOLETE FIRST_P is non-zero if this is the first insn in a set of parallel -// OBSOLETE insns. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_model_insn_before (SIM_CPU *cpu, int first_p) -// OBSOLETE { -// OBSOLETE MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu); -// OBSOLETE d->load_regs_pending = 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Record the cycles computed for an insn. -// OBSOLETE LAST_P is non-zero if this is the last insn in a set of parallel insns, -// OBSOLETE and we update the total cycle count. -// OBSOLETE CYCLES is the cycle count of the insn. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30bf_model_insn_after (SIM_CPU *cpu, int last_p, int cycles) -// OBSOLETE { -// OBSOLETE PROFILE_DATA *p = CPU_PROFILE_DATA (cpu); -// OBSOLETE MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu); -// OBSOLETE -// OBSOLETE PROFILE_MODEL_TOTAL_CYCLES (p) += cycles; -// OBSOLETE PROFILE_MODEL_CUR_INSN_CYCLES (p) = cycles; -// OBSOLETE d->load_regs = d->load_regs_pending; -// OBSOLETE } -// OBSOLETE -// OBSOLETE static INLINE int -// OBSOLETE check_load_stall (SIM_CPU *cpu, int regno) -// OBSOLETE { -// OBSOLETE const MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu); -// OBSOLETE UINT load_regs = d->load_regs; -// OBSOLETE -// OBSOLETE if (regno != -1 -// OBSOLETE && (load_regs & (1 << regno)) != 0) -// OBSOLETE { -// OBSOLETE PROFILE_DATA *p = CPU_PROFILE_DATA (cpu); -// OBSOLETE ++ PROFILE_MODEL_LOAD_STALL_CYCLES (p); -// OBSOLETE if (TRACE_INSN_P (cpu)) -// OBSOLETE cgen_trace_printf (cpu, " ; Load stall."); -// OBSOLETE return 1; -// OBSOLETE } -// OBSOLETE else -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_model_fr30_1_u_exec (SIM_CPU *cpu, const IDESC *idesc, -// OBSOLETE int unit_num, int referenced, -// OBSOLETE INT in_Ri, INT in_Rj, INT out_Ri) -// OBSOLETE { -// OBSOLETE int cycles = idesc->timing->units[unit_num].done; -// OBSOLETE cycles += check_load_stall (cpu, in_Ri); -// OBSOLETE cycles += check_load_stall (cpu, in_Rj); -// OBSOLETE return cycles; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_model_fr30_1_u_cti (SIM_CPU *cpu, const IDESC *idesc, -// OBSOLETE int unit_num, int referenced, -// OBSOLETE INT in_Ri) -// OBSOLETE { -// OBSOLETE PROFILE_DATA *p = CPU_PROFILE_DATA (cpu); -// OBSOLETE /* (1 << 1): The pc is the 2nd element in inputs, outputs. -// OBSOLETE ??? can be cleaned up */ -// OBSOLETE int taken_p = (referenced & (1 << 1)) != 0; -// OBSOLETE int cycles = idesc->timing->units[unit_num].done; -// OBSOLETE int delay_slot_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT); -// OBSOLETE -// OBSOLETE cycles += check_load_stall (cpu, in_Ri); -// OBSOLETE if (taken_p) -// OBSOLETE { -// OBSOLETE /* ??? Handling cti's without delay slots this way will run afoul of -// OBSOLETE accurate system simulation. Later. */ -// OBSOLETE if (! delay_slot_p) -// OBSOLETE { -// OBSOLETE ++cycles; -// OBSOLETE ++PROFILE_MODEL_CTI_STALL_CYCLES (p); -// OBSOLETE } -// OBSOLETE ++PROFILE_MODEL_TAKEN_COUNT (p); -// OBSOLETE } -// OBSOLETE else -// OBSOLETE ++PROFILE_MODEL_UNTAKEN_COUNT (p); -// OBSOLETE -// OBSOLETE return cycles; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_model_fr30_1_u_load (SIM_CPU *cpu, const IDESC *idesc, -// OBSOLETE int unit_num, int referenced, -// OBSOLETE INT in_Rj, INT out_Ri) -// OBSOLETE { -// OBSOLETE MODEL_FR30_1_DATA *d = CPU_MODEL_DATA (cpu); -// OBSOLETE int cycles = idesc->timing->units[unit_num].done; -// OBSOLETE d->load_regs_pending |= 1 << out_Ri; -// OBSOLETE cycles += check_load_stall (cpu, in_Rj); -// OBSOLETE return cycles; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_model_fr30_1_u_store (SIM_CPU *cpu, const IDESC *idesc, -// OBSOLETE int unit_num, int referenced, -// OBSOLETE INT in_Ri, INT in_Rj) -// OBSOLETE { -// OBSOLETE int cycles = idesc->timing->units[unit_num].done; -// OBSOLETE cycles += check_load_stall (cpu, in_Ri); -// OBSOLETE cycles += check_load_stall (cpu, in_Rj); -// OBSOLETE return cycles; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_model_fr30_1_u_ldm (SIM_CPU *cpu, const IDESC *idesc, -// OBSOLETE int unit_num, int referenced, -// OBSOLETE INT reglist) -// OBSOLETE { -// OBSOLETE return idesc->timing->units[unit_num].done; -// OBSOLETE } -// OBSOLETE -// OBSOLETE int -// OBSOLETE fr30bf_model_fr30_1_u_stm (SIM_CPU *cpu, const IDESC *idesc, -// OBSOLETE int unit_num, int referenced, -// OBSOLETE INT reglist) -// OBSOLETE { -// OBSOLETE return idesc->timing->units[unit_num].done; -// OBSOLETE } -// OBSOLETE -// OBSOLETE #endif /* WITH_PROFILE_MODEL_P */ diff --git a/sim/fr30/mloop.in b/sim/fr30/mloop.in deleted file mode 100644 index f161bb19e61..00000000000 --- a/sim/fr30/mloop.in +++ /dev/null @@ -1,236 +0,0 @@ -# OBSOLETE # Simulator main loop for fr30. -*- C -*- -# OBSOLETE # Copyright (C) 1998, 1999 Free Software Foundation, Inc. -# OBSOLETE # Contributed by Cygnus Solutions. -# OBSOLETE # -# OBSOLETE # This file is part of the GNU Simulators. -# OBSOLETE # -# OBSOLETE # This program is free software; you can redistribute it and/or modify -# OBSOLETE # it under the terms of the GNU General Public License as published by -# OBSOLETE # the Free Software Foundation; either version 2, or (at your option) -# OBSOLETE # any later version. -# OBSOLETE # -# OBSOLETE # This program is distributed in the hope that it will be useful, -# OBSOLETE # but WITHOUT ANY WARRANTY; without even the implied warranty of -# OBSOLETE # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# OBSOLETE # GNU General Public License for more details. -# OBSOLETE # -# OBSOLETE # You should have received a copy of the GNU General Public License along -# OBSOLETE # with this program; if not, write to the Free Software Foundation, Inc., -# OBSOLETE # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# OBSOLETE -# OBSOLETE # Syntax: -# OBSOLETE # /bin/sh mainloop.in command -# OBSOLETE # -# OBSOLETE # Command is one of: -# OBSOLETE # -# OBSOLETE # init -# OBSOLETE # support -# OBSOLETE # extract-{simple,scache,pbb} -# OBSOLETE # {full,fast}-exec-{simple,scache,pbb} -# OBSOLETE # -# OBSOLETE # A target need only provide a "full" version of one of simple,scache,pbb. -# OBSOLETE # If the target wants it can also provide a fast version of same. -# OBSOLETE # It can't provide more than this, however for illustration's sake the FR30 -# OBSOLETE # port provides examples of all. -# OBSOLETE -# OBSOLETE # ??? After a few more ports are done, revisit. -# OBSOLETE # Will eventually need to machine generate a lot of this. -# OBSOLETE -# OBSOLETE case "x$1" in -# OBSOLETE -# OBSOLETE xsupport) -# OBSOLETE -# OBSOLETE cat <argbuf.semantic.sem_fast) (current_cpu, sc); -# OBSOLETE #else -# OBSOLETE vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, &sc->argbuf); -# OBSOLETE #endif -# OBSOLETE #else -# OBSOLETE abort (); -# OBSOLETE #endif /* WITH_SEM_SWITCH_FAST */ -# OBSOLETE } -# OBSOLETE else -# OBSOLETE { -# OBSOLETE #if ! WITH_SEM_SWITCH_FULL -# OBSOLETE ARGBUF *abuf = &sc->argbuf; -# OBSOLETE const IDESC *idesc = abuf->idesc; -# OBSOLETE #if WITH_SCACHE_PBB -# OBSOLETE int virtual_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_VIRTUAL); -# OBSOLETE #else -# OBSOLETE int virtual_p = 0; -# OBSOLETE #endif -# OBSOLETE -# OBSOLETE if (! virtual_p) -# OBSOLETE { -# OBSOLETE /* FIXME: call x-before */ -# OBSOLETE if (ARGBUF_PROFILE_P (abuf)) -# OBSOLETE PROFILE_COUNT_INSN (current_cpu, abuf->addr, idesc->num); -# OBSOLETE /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}. */ -# OBSOLETE if (PROFILE_MODEL_P (current_cpu) -# OBSOLETE && ARGBUF_PROFILE_P (abuf)) -# OBSOLETE @cpu@_model_insn_before (current_cpu, 1 /*first_p*/); -# OBSOLETE TRACE_INSN_INIT (current_cpu, abuf, 1); -# OBSOLETE TRACE_INSN (current_cpu, idesc->idata, -# OBSOLETE (const struct argbuf *) abuf, abuf->addr); -# OBSOLETE } -# OBSOLETE #if WITH_SCACHE -# OBSOLETE vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, sc); -# OBSOLETE #else -# OBSOLETE vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, abuf); -# OBSOLETE #endif -# OBSOLETE if (! virtual_p) -# OBSOLETE { -# OBSOLETE /* FIXME: call x-after */ -# OBSOLETE if (PROFILE_MODEL_P (current_cpu) -# OBSOLETE && ARGBUF_PROFILE_P (abuf)) -# OBSOLETE { -# OBSOLETE int cycles; -# OBSOLETE -# OBSOLETE cycles = (*idesc->timing->model_fn) (current_cpu, sc); -# OBSOLETE @cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles); -# OBSOLETE } -# OBSOLETE TRACE_INSN_FINI (current_cpu, abuf, 1); -# OBSOLETE } -# OBSOLETE #else -# OBSOLETE abort (); -# OBSOLETE #endif /* WITH_SEM_SWITCH_FULL */ -# OBSOLETE } -# OBSOLETE -# OBSOLETE return vpc; -# OBSOLETE } -# OBSOLETE -# OBSOLETE EOF -# OBSOLETE -# OBSOLETE ;; -# OBSOLETE -# OBSOLETE xinit) -# OBSOLETE -# OBSOLETE cat < 0) -# OBSOLETE { -# OBSOLETE UHI insn = GETIMEMUHI (current_cpu, pc); -# OBSOLETE idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P); -# OBSOLETE ++sc; -# OBSOLETE --max_insns; -# OBSOLETE ++icount; -# OBSOLETE pc += idesc->length; -# OBSOLETE if (IDESC_CTI_P (idesc)) -# OBSOLETE { -# OBSOLETE SET_CTI_VPC (sc - 1); -# OBSOLETE -# OBSOLETE /* Delay slot? */ -# OBSOLETE /* ??? breakpoints in delay slots */ -# OBSOLETE if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT)) -# OBSOLETE { -# OBSOLETE UHI insn = GETIMEMUHI (current_cpu, pc); -# OBSOLETE idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P); -# OBSOLETE if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_NOT_IN_DELAY_SLOT)) -# OBSOLETE { -# OBSOLETE /* malformed program */ -# OBSOLETE sim_io_eprintf (CPU_STATE (current_cpu), -# OBSOLETE "malformed program, \`%s' insn in delay slot\n", -# OBSOLETE CGEN_INSN_NAME (idesc->idata)); -# OBSOLETE } -# OBSOLETE else -# OBSOLETE { -# OBSOLETE ++sc; -# OBSOLETE --max_insns; -# OBSOLETE ++icount; -# OBSOLETE pc += idesc->length; -# OBSOLETE } -# OBSOLETE } -# OBSOLETE break; -# OBSOLETE } -# OBSOLETE } -# OBSOLETE -# OBSOLETE Finish: -# OBSOLETE SET_INSN_COUNT (icount); -# OBSOLETE } -# OBSOLETE EOF -# OBSOLETE -# OBSOLETE ;; -# OBSOLETE -# OBSOLETE xfull-exec-* | xfast-exec-*) -# OBSOLETE -# OBSOLETE # Inputs: current_cpu, sc, FAST_P -# OBSOLETE # Outputs: vpc -# OBSOLETE # vpc contains the address of the next insn to execute -# OBSOLETE -# OBSOLETE cat <&2 -# OBSOLETE exit 1 -# OBSOLETE ;; -# OBSOLETE -# OBSOLETE esac diff --git a/sim/fr30/model.c b/sim/fr30/model.c deleted file mode 100644 index 15a1ecc7f5d..00000000000 --- a/sim/fr30/model.c +++ /dev/null @@ -1,4003 +0,0 @@ -// OBSOLETE /* Simulator model support for fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #define WANT_CPU fr30bf -// OBSOLETE #define WANT_CPU_FR30BF -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE -// OBSOLETE /* The profiling data is recorded here, but is accessed via the profiling -// OBSOLETE mechanism. After all, this is information for profiling. */ -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE -// OBSOLETE /* Model handlers for each insn. */ -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_add (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_addi (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_add2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_addc (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_addn (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_addni (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_addn2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_sub (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_subc (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_subn (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_cmp (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_cmpi (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_cmp2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_and (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_or (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_eor (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_andm (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_andh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_andb (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_orm (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_orh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_orb (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_eorm (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_eorh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_eorb (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bandl (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_borl (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_beorl (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bandh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_borh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_beorh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 1, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 2, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_btstl (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_btsth (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 1, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_mul (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_mulu (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_mulh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_muluh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_div0s (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_div0u (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_div1 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_div2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_div3 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_div4s (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lsl (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lsli (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lsl2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lsr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lsri (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lsr2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_asr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_asri (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_asr2 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE if (insn_referenced & (1 << 0)) referenced |= 1 << 0; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldi8 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldi20 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldi32 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ld (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_lduh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldub (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr13 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr13uh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr13ub (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr14 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr14uh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr14ub (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr15 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr15gr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr15dr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldr15ps (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_st (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_sth (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_stb (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str13 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str13h (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str13b (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str14 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str14h (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str14b (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str15 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str15gr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str15dr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_str15ps (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_mov (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_movdr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_movps (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_mov2dr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_mov2ps (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_jmp (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_jmpd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_callr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_callrd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_call (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_calld (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ret (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ret_d (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_int (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_inte (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_reti (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_brad (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bra (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bnod (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bno (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_beqd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_beq (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bned (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bne (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bcd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bc (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bncd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bnc (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bnd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bn (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bpd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bp (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bvd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bv (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bnvd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bnv (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 2)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bltd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_blt (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bged (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bge (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bled (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 4)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ble (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 4)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bgtd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 4)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bgt (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 4)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_blsd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bls (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bhid (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_bhi (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE if (insn_referenced & (1 << 3)) referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_cti (current_cpu, idesc, 0, referenced, in_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr13 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr13h (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr13b (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 0, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr13pi (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr13pih (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr13pib (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmovr15pi (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r13 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r13h (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r13b (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r13pi (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r13pih (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r13pib (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_dmov2r15pd (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldres (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_stres (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_copop (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_copld (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_copst (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_copsv (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_nop (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_andccr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_orccr (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_stilm (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_addsp (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_extsb (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_extub (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_extsh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_extuh (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 2; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldm0 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_reglist = 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_ldm (current_cpu, idesc, 0, referenced, in_reglist); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_ldm1 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_reglist = 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_ldm (current_cpu, idesc, 0, referenced, in_reglist); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_stm0 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_reglist = 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_stm (current_cpu, idesc, 0, referenced, in_reglist); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_stm1 (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_reglist = 0; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_stm (current_cpu, idesc, 0, referenced, in_reglist); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_enter (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_leave (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_exec (current_cpu, idesc, 0, referenced, in_Ri, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE model_fr30_1_xchb (SIM_CPU *current_cpu, void *sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE const ARGBUF * UNUSED abuf = SEM_ARGBUF ((SEM_ARG) sem_arg); -// OBSOLETE const IDESC * UNUSED idesc = abuf->idesc; -// OBSOLETE int cycles = 0; -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE INT out_Ri = -1; -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE out_Ri = FLD (out_Ri); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_load (current_cpu, idesc, 0, referenced, in_Rj, out_Ri); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE int referenced = 0; -// OBSOLETE int UNUSED insn_referenced = abuf->written; -// OBSOLETE INT in_Ri = -1; -// OBSOLETE INT in_Rj = -1; -// OBSOLETE in_Ri = FLD (in_Ri); -// OBSOLETE in_Rj = FLD (in_Rj); -// OBSOLETE referenced |= 1 << 0; -// OBSOLETE referenced |= 1 << 1; -// OBSOLETE cycles += fr30bf_model_fr30_1_u_store (current_cpu, idesc, 1, referenced, in_Ri, in_Rj); -// OBSOLETE } -// OBSOLETE return cycles; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* We assume UNIT_NONE == 0 because the tables don't always terminate -// OBSOLETE entries with it. */ -// OBSOLETE -// OBSOLETE /* Model timing data for `fr30-1'. */ -// OBSOLETE -// OBSOLETE static const INSN_TIMING fr30_1_timing[] = { -// OBSOLETE { FR30BF_INSN_X_INVALID, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_X_AFTER, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_X_BEFORE, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_X_CTI_CHAIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_X_CHAIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_X_BEGIN, 0, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADD, model_fr30_1_add, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADDI, model_fr30_1_addi, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADD2, model_fr30_1_add2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADDC, model_fr30_1_addc, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADDN, model_fr30_1_addn, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADDNI, model_fr30_1_addni, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADDN2, model_fr30_1_addn2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_SUB, model_fr30_1_sub, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_SUBC, model_fr30_1_subc, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_SUBN, model_fr30_1_subn, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CMP, model_fr30_1_cmp, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CMPI, model_fr30_1_cmpi, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CMP2, model_fr30_1_cmp2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_AND, model_fr30_1_and, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_OR, model_fr30_1_or, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EOR, model_fr30_1_eor, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ANDM, model_fr30_1_andm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ANDH, model_fr30_1_andh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ANDB, model_fr30_1_andb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ORM, model_fr30_1_orm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ORH, model_fr30_1_orh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ORB, model_fr30_1_orb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EORM, model_fr30_1_eorm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EORH, model_fr30_1_eorh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EORB, model_fr30_1_eorb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BANDL, model_fr30_1_bandl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BORL, model_fr30_1_borl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BEORL, model_fr30_1_beorl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BANDH, model_fr30_1_bandh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BORH, model_fr30_1_borh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BEORH, model_fr30_1_beorh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 }, { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BTSTL, model_fr30_1_btstl, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } }, -// OBSOLETE { FR30BF_INSN_BTSTH, model_fr30_1_btsth, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } }, -// OBSOLETE { FR30BF_INSN_MUL, model_fr30_1_mul, { { (int) UNIT_FR30_1_U_EXEC, 1, 5 } } }, -// OBSOLETE { FR30BF_INSN_MULU, model_fr30_1_mulu, { { (int) UNIT_FR30_1_U_EXEC, 1, 5 } } }, -// OBSOLETE { FR30BF_INSN_MULH, model_fr30_1_mulh, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } }, -// OBSOLETE { FR30BF_INSN_MULUH, model_fr30_1_muluh, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } }, -// OBSOLETE { FR30BF_INSN_DIV0S, model_fr30_1_div0s, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DIV0U, model_fr30_1_div0u, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DIV1, model_fr30_1_div1, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DIV2, model_fr30_1_div2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DIV3, model_fr30_1_div3, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DIV4S, model_fr30_1_div4s, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LSL, model_fr30_1_lsl, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LSLI, model_fr30_1_lsli, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LSL2, model_fr30_1_lsl2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LSR, model_fr30_1_lsr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LSRI, model_fr30_1_lsri, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LSR2, model_fr30_1_lsr2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ASR, model_fr30_1_asr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ASRI, model_fr30_1_asri, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ASR2, model_fr30_1_asr2, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDI8, model_fr30_1_ldi8, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDI20, model_fr30_1_ldi20, { { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } }, -// OBSOLETE { FR30BF_INSN_LDI32, model_fr30_1_ldi32, { { (int) UNIT_FR30_1_U_EXEC, 1, 3 } } }, -// OBSOLETE { FR30BF_INSN_LD, model_fr30_1_ld, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDUH, model_fr30_1_lduh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDUB, model_fr30_1_ldub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR13, model_fr30_1_ldr13, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR13UH, model_fr30_1_ldr13uh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR13UB, model_fr30_1_ldr13ub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR14, model_fr30_1_ldr14, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR14UH, model_fr30_1_ldr14uh, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR14UB, model_fr30_1_ldr14ub, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR15, model_fr30_1_ldr15, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR15GR, model_fr30_1_ldr15gr, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR15DR, model_fr30_1_ldr15dr, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDR15PS, model_fr30_1_ldr15ps, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ST, model_fr30_1_st, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STH, model_fr30_1_sth, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STB, model_fr30_1_stb, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR13, model_fr30_1_str13, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR13H, model_fr30_1_str13h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR13B, model_fr30_1_str13b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR14, model_fr30_1_str14, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR14H, model_fr30_1_str14h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR14B, model_fr30_1_str14b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR15, model_fr30_1_str15, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR15GR, model_fr30_1_str15gr, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR15DR, model_fr30_1_str15dr, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STR15PS, model_fr30_1_str15ps, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_MOV, model_fr30_1_mov, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_MOVDR, model_fr30_1_movdr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_MOVPS, model_fr30_1_movps, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_MOV2DR, model_fr30_1_mov2dr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_MOV2PS, model_fr30_1_mov2ps, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_JMP, model_fr30_1_jmp, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_JMPD, model_fr30_1_jmpd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CALLR, model_fr30_1_callr, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CALLRD, model_fr30_1_callrd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CALL, model_fr30_1_call, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_CALLD, model_fr30_1_calld, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_RET, model_fr30_1_ret, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_RET_D, model_fr30_1_ret_d, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_INT, model_fr30_1_int, { { (int) UNIT_FR30_1_U_EXEC, 1, 6 } } }, -// OBSOLETE { FR30BF_INSN_INTE, model_fr30_1_inte, { { (int) UNIT_FR30_1_U_EXEC, 1, 6 } } }, -// OBSOLETE { FR30BF_INSN_RETI, model_fr30_1_reti, { { (int) UNIT_FR30_1_U_EXEC, 1, 4 } } }, -// OBSOLETE { FR30BF_INSN_BRAD, model_fr30_1_brad, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BRA, model_fr30_1_bra, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNOD, model_fr30_1_bnod, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNO, model_fr30_1_bno, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BEQD, model_fr30_1_beqd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BEQ, model_fr30_1_beq, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNED, model_fr30_1_bned, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNE, model_fr30_1_bne, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BCD, model_fr30_1_bcd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BC, model_fr30_1_bc, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNCD, model_fr30_1_bncd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNC, model_fr30_1_bnc, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BND, model_fr30_1_bnd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BN, model_fr30_1_bn, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BPD, model_fr30_1_bpd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BP, model_fr30_1_bp, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BVD, model_fr30_1_bvd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BV, model_fr30_1_bv, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNVD, model_fr30_1_bnvd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BNV, model_fr30_1_bnv, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BLTD, model_fr30_1_bltd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BLT, model_fr30_1_blt, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BGED, model_fr30_1_bged, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BGE, model_fr30_1_bge, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BLED, model_fr30_1_bled, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BLE, model_fr30_1_ble, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BGTD, model_fr30_1_bgtd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BGT, model_fr30_1_bgt, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BLSD, model_fr30_1_blsd, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BLS, model_fr30_1_bls, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BHID, model_fr30_1_bhid, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_BHI, model_fr30_1_bhi, { { (int) UNIT_FR30_1_U_CTI, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR13, model_fr30_1_dmovr13, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR13H, model_fr30_1_dmovr13h, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR13B, model_fr30_1_dmovr13b, { { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR13PI, model_fr30_1_dmovr13pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR13PIH, model_fr30_1_dmovr13pih, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR13PIB, model_fr30_1_dmovr13pib, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOVR15PI, model_fr30_1_dmovr15pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R13, model_fr30_1_dmov2r13, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R13H, model_fr30_1_dmov2r13h, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R13B, model_fr30_1_dmov2r13b, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PI, model_fr30_1_dmov2r13pi, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PIH, model_fr30_1_dmov2r13pih, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PIB, model_fr30_1_dmov2r13pib, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_DMOV2R15PD, model_fr30_1_dmov2r15pd, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDRES, model_fr30_1_ldres, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STRES, model_fr30_1_stres, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_COPOP, model_fr30_1_copop, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_COPLD, model_fr30_1_copld, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_COPST, model_fr30_1_copst, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_COPSV, model_fr30_1_copsv, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_NOP, model_fr30_1_nop, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ANDCCR, model_fr30_1_andccr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ORCCR, model_fr30_1_orccr, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STILM, model_fr30_1_stilm, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ADDSP, model_fr30_1_addsp, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EXTSB, model_fr30_1_extsb, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EXTUB, model_fr30_1_extub, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EXTSH, model_fr30_1_extsh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_EXTUH, model_fr30_1_extuh, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDM0, model_fr30_1_ldm0, { { (int) UNIT_FR30_1_U_LDM, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_LDM1, model_fr30_1_ldm1, { { (int) UNIT_FR30_1_U_LDM, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STM0, model_fr30_1_stm0, { { (int) UNIT_FR30_1_U_STM, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_STM1, model_fr30_1_stm1, { { (int) UNIT_FR30_1_U_STM, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_ENTER, model_fr30_1_enter, { { (int) UNIT_FR30_1_U_EXEC, 1, 2 } } }, -// OBSOLETE { FR30BF_INSN_LEAVE, model_fr30_1_leave, { { (int) UNIT_FR30_1_U_EXEC, 1, 1 } } }, -// OBSOLETE { FR30BF_INSN_XCHB, model_fr30_1_xchb, { { (int) UNIT_FR30_1_U_LOAD, 1, 1 }, { (int) UNIT_FR30_1_U_STORE, 1, 1 } } }, -// OBSOLETE }; -// OBSOLETE -// OBSOLETE #endif /* WITH_PROFILE_MODEL_P */ -// OBSOLETE -// OBSOLETE static void -// OBSOLETE fr30_1_model_init (SIM_CPU *cpu) -// OBSOLETE { -// OBSOLETE CPU_MODEL_DATA (cpu) = (void *) zalloc (sizeof (MODEL_FR30_1_DATA)); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #if WITH_PROFILE_MODEL_P -// OBSOLETE #define TIMING_DATA(td) td -// OBSOLETE #else -// OBSOLETE #define TIMING_DATA(td) 0 -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE static const MODEL fr30_models[] = -// OBSOLETE { -// OBSOLETE { "fr30-1", & fr30_mach, MODEL_FR30_1, TIMING_DATA (& fr30_1_timing[0]), fr30_1_model_init }, -// OBSOLETE { 0 } -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* The properties of this cpu's implementation. */ -// OBSOLETE -// OBSOLETE static const MACH_IMP_PROPERTIES fr30bf_imp_properties = -// OBSOLETE { -// OBSOLETE sizeof (SIM_CPU), -// OBSOLETE #if WITH_SCACHE -// OBSOLETE sizeof (SCACHE) -// OBSOLETE #else -// OBSOLETE 0 -// OBSOLETE #endif -// OBSOLETE }; -// OBSOLETE -// OBSOLETE -// OBSOLETE static void -// OBSOLETE fr30bf_prepare_run (SIM_CPU *cpu) -// OBSOLETE { -// OBSOLETE if (CPU_IDESC (cpu) == NULL) -// OBSOLETE fr30bf_init_idesc_table (cpu); -// OBSOLETE } -// OBSOLETE -// OBSOLETE static const CGEN_INSN * -// OBSOLETE fr30bf_get_idata (SIM_CPU *cpu, int inum) -// OBSOLETE { -// OBSOLETE return CPU_IDESC (cpu) [inum].idata; -// OBSOLETE } -// OBSOLETE -// OBSOLETE static void -// OBSOLETE fr30_init_cpu (SIM_CPU *cpu) -// OBSOLETE { -// OBSOLETE CPU_REG_FETCH (cpu) = fr30bf_fetch_register; -// OBSOLETE CPU_REG_STORE (cpu) = fr30bf_store_register; -// OBSOLETE CPU_PC_FETCH (cpu) = fr30bf_h_pc_get; -// OBSOLETE CPU_PC_STORE (cpu) = fr30bf_h_pc_set; -// OBSOLETE CPU_GET_IDATA (cpu) = fr30bf_get_idata; -// OBSOLETE CPU_MAX_INSNS (cpu) = FR30BF_INSN_XCHB + 1; -// OBSOLETE CPU_INSN_NAME (cpu) = cgen_insn_name; -// OBSOLETE CPU_FULL_ENGINE_FN (cpu) = fr30bf_engine_run_full; -// OBSOLETE #if WITH_FAST -// OBSOLETE CPU_FAST_ENGINE_FN (cpu) = fr30bf_engine_run_fast; -// OBSOLETE #else -// OBSOLETE CPU_FAST_ENGINE_FN (cpu) = fr30bf_engine_run_full; -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE const MACH fr30_mach = -// OBSOLETE { -// OBSOLETE "fr30", "fr30", MACH_FR30, -// OBSOLETE 32, 32, & fr30_models[0], & fr30bf_imp_properties, -// OBSOLETE fr30_init_cpu, -// OBSOLETE fr30bf_prepare_run -// OBSOLETE }; diff --git a/sim/fr30/sem-switch.c b/sim/fr30/sem-switch.c deleted file mode 100644 index 15f3c22d8e1..00000000000 --- a/sim/fr30/sem-switch.c +++ /dev/null @@ -1,5409 +0,0 @@ -// OBSOLETE /* Simulator instruction semantics for fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #ifdef DEFINE_LABELS -// OBSOLETE -// OBSOLETE /* The labels have the case they have because the enum of insn types -// OBSOLETE is all uppercase and in the non-stdc case the insn symbol is built -// OBSOLETE into the enum name. */ -// OBSOLETE -// OBSOLETE static struct { -// OBSOLETE int index; -// OBSOLETE void *label; -// OBSOLETE } labels[] = { -// OBSOLETE { FR30BF_INSN_X_INVALID, && case_sem_INSN_X_INVALID }, -// OBSOLETE { FR30BF_INSN_X_AFTER, && case_sem_INSN_X_AFTER }, -// OBSOLETE { FR30BF_INSN_X_BEFORE, && case_sem_INSN_X_BEFORE }, -// OBSOLETE { FR30BF_INSN_X_CTI_CHAIN, && case_sem_INSN_X_CTI_CHAIN }, -// OBSOLETE { FR30BF_INSN_X_CHAIN, && case_sem_INSN_X_CHAIN }, -// OBSOLETE { FR30BF_INSN_X_BEGIN, && case_sem_INSN_X_BEGIN }, -// OBSOLETE { FR30BF_INSN_ADD, && case_sem_INSN_ADD }, -// OBSOLETE { FR30BF_INSN_ADDI, && case_sem_INSN_ADDI }, -// OBSOLETE { FR30BF_INSN_ADD2, && case_sem_INSN_ADD2 }, -// OBSOLETE { FR30BF_INSN_ADDC, && case_sem_INSN_ADDC }, -// OBSOLETE { FR30BF_INSN_ADDN, && case_sem_INSN_ADDN }, -// OBSOLETE { FR30BF_INSN_ADDNI, && case_sem_INSN_ADDNI }, -// OBSOLETE { FR30BF_INSN_ADDN2, && case_sem_INSN_ADDN2 }, -// OBSOLETE { FR30BF_INSN_SUB, && case_sem_INSN_SUB }, -// OBSOLETE { FR30BF_INSN_SUBC, && case_sem_INSN_SUBC }, -// OBSOLETE { FR30BF_INSN_SUBN, && case_sem_INSN_SUBN }, -// OBSOLETE { FR30BF_INSN_CMP, && case_sem_INSN_CMP }, -// OBSOLETE { FR30BF_INSN_CMPI, && case_sem_INSN_CMPI }, -// OBSOLETE { FR30BF_INSN_CMP2, && case_sem_INSN_CMP2 }, -// OBSOLETE { FR30BF_INSN_AND, && case_sem_INSN_AND }, -// OBSOLETE { FR30BF_INSN_OR, && case_sem_INSN_OR }, -// OBSOLETE { FR30BF_INSN_EOR, && case_sem_INSN_EOR }, -// OBSOLETE { FR30BF_INSN_ANDM, && case_sem_INSN_ANDM }, -// OBSOLETE { FR30BF_INSN_ANDH, && case_sem_INSN_ANDH }, -// OBSOLETE { FR30BF_INSN_ANDB, && case_sem_INSN_ANDB }, -// OBSOLETE { FR30BF_INSN_ORM, && case_sem_INSN_ORM }, -// OBSOLETE { FR30BF_INSN_ORH, && case_sem_INSN_ORH }, -// OBSOLETE { FR30BF_INSN_ORB, && case_sem_INSN_ORB }, -// OBSOLETE { FR30BF_INSN_EORM, && case_sem_INSN_EORM }, -// OBSOLETE { FR30BF_INSN_EORH, && case_sem_INSN_EORH }, -// OBSOLETE { FR30BF_INSN_EORB, && case_sem_INSN_EORB }, -// OBSOLETE { FR30BF_INSN_BANDL, && case_sem_INSN_BANDL }, -// OBSOLETE { FR30BF_INSN_BORL, && case_sem_INSN_BORL }, -// OBSOLETE { FR30BF_INSN_BEORL, && case_sem_INSN_BEORL }, -// OBSOLETE { FR30BF_INSN_BANDH, && case_sem_INSN_BANDH }, -// OBSOLETE { FR30BF_INSN_BORH, && case_sem_INSN_BORH }, -// OBSOLETE { FR30BF_INSN_BEORH, && case_sem_INSN_BEORH }, -// OBSOLETE { FR30BF_INSN_BTSTL, && case_sem_INSN_BTSTL }, -// OBSOLETE { FR30BF_INSN_BTSTH, && case_sem_INSN_BTSTH }, -// OBSOLETE { FR30BF_INSN_MUL, && case_sem_INSN_MUL }, -// OBSOLETE { FR30BF_INSN_MULU, && case_sem_INSN_MULU }, -// OBSOLETE { FR30BF_INSN_MULH, && case_sem_INSN_MULH }, -// OBSOLETE { FR30BF_INSN_MULUH, && case_sem_INSN_MULUH }, -// OBSOLETE { FR30BF_INSN_DIV0S, && case_sem_INSN_DIV0S }, -// OBSOLETE { FR30BF_INSN_DIV0U, && case_sem_INSN_DIV0U }, -// OBSOLETE { FR30BF_INSN_DIV1, && case_sem_INSN_DIV1 }, -// OBSOLETE { FR30BF_INSN_DIV2, && case_sem_INSN_DIV2 }, -// OBSOLETE { FR30BF_INSN_DIV3, && case_sem_INSN_DIV3 }, -// OBSOLETE { FR30BF_INSN_DIV4S, && case_sem_INSN_DIV4S }, -// OBSOLETE { FR30BF_INSN_LSL, && case_sem_INSN_LSL }, -// OBSOLETE { FR30BF_INSN_LSLI, && case_sem_INSN_LSLI }, -// OBSOLETE { FR30BF_INSN_LSL2, && case_sem_INSN_LSL2 }, -// OBSOLETE { FR30BF_INSN_LSR, && case_sem_INSN_LSR }, -// OBSOLETE { FR30BF_INSN_LSRI, && case_sem_INSN_LSRI }, -// OBSOLETE { FR30BF_INSN_LSR2, && case_sem_INSN_LSR2 }, -// OBSOLETE { FR30BF_INSN_ASR, && case_sem_INSN_ASR }, -// OBSOLETE { FR30BF_INSN_ASRI, && case_sem_INSN_ASRI }, -// OBSOLETE { FR30BF_INSN_ASR2, && case_sem_INSN_ASR2 }, -// OBSOLETE { FR30BF_INSN_LDI8, && case_sem_INSN_LDI8 }, -// OBSOLETE { FR30BF_INSN_LDI20, && case_sem_INSN_LDI20 }, -// OBSOLETE { FR30BF_INSN_LDI32, && case_sem_INSN_LDI32 }, -// OBSOLETE { FR30BF_INSN_LD, && case_sem_INSN_LD }, -// OBSOLETE { FR30BF_INSN_LDUH, && case_sem_INSN_LDUH }, -// OBSOLETE { FR30BF_INSN_LDUB, && case_sem_INSN_LDUB }, -// OBSOLETE { FR30BF_INSN_LDR13, && case_sem_INSN_LDR13 }, -// OBSOLETE { FR30BF_INSN_LDR13UH, && case_sem_INSN_LDR13UH }, -// OBSOLETE { FR30BF_INSN_LDR13UB, && case_sem_INSN_LDR13UB }, -// OBSOLETE { FR30BF_INSN_LDR14, && case_sem_INSN_LDR14 }, -// OBSOLETE { FR30BF_INSN_LDR14UH, && case_sem_INSN_LDR14UH }, -// OBSOLETE { FR30BF_INSN_LDR14UB, && case_sem_INSN_LDR14UB }, -// OBSOLETE { FR30BF_INSN_LDR15, && case_sem_INSN_LDR15 }, -// OBSOLETE { FR30BF_INSN_LDR15GR, && case_sem_INSN_LDR15GR }, -// OBSOLETE { FR30BF_INSN_LDR15DR, && case_sem_INSN_LDR15DR }, -// OBSOLETE { FR30BF_INSN_LDR15PS, && case_sem_INSN_LDR15PS }, -// OBSOLETE { FR30BF_INSN_ST, && case_sem_INSN_ST }, -// OBSOLETE { FR30BF_INSN_STH, && case_sem_INSN_STH }, -// OBSOLETE { FR30BF_INSN_STB, && case_sem_INSN_STB }, -// OBSOLETE { FR30BF_INSN_STR13, && case_sem_INSN_STR13 }, -// OBSOLETE { FR30BF_INSN_STR13H, && case_sem_INSN_STR13H }, -// OBSOLETE { FR30BF_INSN_STR13B, && case_sem_INSN_STR13B }, -// OBSOLETE { FR30BF_INSN_STR14, && case_sem_INSN_STR14 }, -// OBSOLETE { FR30BF_INSN_STR14H, && case_sem_INSN_STR14H }, -// OBSOLETE { FR30BF_INSN_STR14B, && case_sem_INSN_STR14B }, -// OBSOLETE { FR30BF_INSN_STR15, && case_sem_INSN_STR15 }, -// OBSOLETE { FR30BF_INSN_STR15GR, && case_sem_INSN_STR15GR }, -// OBSOLETE { FR30BF_INSN_STR15DR, && case_sem_INSN_STR15DR }, -// OBSOLETE { FR30BF_INSN_STR15PS, && case_sem_INSN_STR15PS }, -// OBSOLETE { FR30BF_INSN_MOV, && case_sem_INSN_MOV }, -// OBSOLETE { FR30BF_INSN_MOVDR, && case_sem_INSN_MOVDR }, -// OBSOLETE { FR30BF_INSN_MOVPS, && case_sem_INSN_MOVPS }, -// OBSOLETE { FR30BF_INSN_MOV2DR, && case_sem_INSN_MOV2DR }, -// OBSOLETE { FR30BF_INSN_MOV2PS, && case_sem_INSN_MOV2PS }, -// OBSOLETE { FR30BF_INSN_JMP, && case_sem_INSN_JMP }, -// OBSOLETE { FR30BF_INSN_JMPD, && case_sem_INSN_JMPD }, -// OBSOLETE { FR30BF_INSN_CALLR, && case_sem_INSN_CALLR }, -// OBSOLETE { FR30BF_INSN_CALLRD, && case_sem_INSN_CALLRD }, -// OBSOLETE { FR30BF_INSN_CALL, && case_sem_INSN_CALL }, -// OBSOLETE { FR30BF_INSN_CALLD, && case_sem_INSN_CALLD }, -// OBSOLETE { FR30BF_INSN_RET, && case_sem_INSN_RET }, -// OBSOLETE { FR30BF_INSN_RET_D, && case_sem_INSN_RET_D }, -// OBSOLETE { FR30BF_INSN_INT, && case_sem_INSN_INT }, -// OBSOLETE { FR30BF_INSN_INTE, && case_sem_INSN_INTE }, -// OBSOLETE { FR30BF_INSN_RETI, && case_sem_INSN_RETI }, -// OBSOLETE { FR30BF_INSN_BRAD, && case_sem_INSN_BRAD }, -// OBSOLETE { FR30BF_INSN_BRA, && case_sem_INSN_BRA }, -// OBSOLETE { FR30BF_INSN_BNOD, && case_sem_INSN_BNOD }, -// OBSOLETE { FR30BF_INSN_BNO, && case_sem_INSN_BNO }, -// OBSOLETE { FR30BF_INSN_BEQD, && case_sem_INSN_BEQD }, -// OBSOLETE { FR30BF_INSN_BEQ, && case_sem_INSN_BEQ }, -// OBSOLETE { FR30BF_INSN_BNED, && case_sem_INSN_BNED }, -// OBSOLETE { FR30BF_INSN_BNE, && case_sem_INSN_BNE }, -// OBSOLETE { FR30BF_INSN_BCD, && case_sem_INSN_BCD }, -// OBSOLETE { FR30BF_INSN_BC, && case_sem_INSN_BC }, -// OBSOLETE { FR30BF_INSN_BNCD, && case_sem_INSN_BNCD }, -// OBSOLETE { FR30BF_INSN_BNC, && case_sem_INSN_BNC }, -// OBSOLETE { FR30BF_INSN_BND, && case_sem_INSN_BND }, -// OBSOLETE { FR30BF_INSN_BN, && case_sem_INSN_BN }, -// OBSOLETE { FR30BF_INSN_BPD, && case_sem_INSN_BPD }, -// OBSOLETE { FR30BF_INSN_BP, && case_sem_INSN_BP }, -// OBSOLETE { FR30BF_INSN_BVD, && case_sem_INSN_BVD }, -// OBSOLETE { FR30BF_INSN_BV, && case_sem_INSN_BV }, -// OBSOLETE { FR30BF_INSN_BNVD, && case_sem_INSN_BNVD }, -// OBSOLETE { FR30BF_INSN_BNV, && case_sem_INSN_BNV }, -// OBSOLETE { FR30BF_INSN_BLTD, && case_sem_INSN_BLTD }, -// OBSOLETE { FR30BF_INSN_BLT, && case_sem_INSN_BLT }, -// OBSOLETE { FR30BF_INSN_BGED, && case_sem_INSN_BGED }, -// OBSOLETE { FR30BF_INSN_BGE, && case_sem_INSN_BGE }, -// OBSOLETE { FR30BF_INSN_BLED, && case_sem_INSN_BLED }, -// OBSOLETE { FR30BF_INSN_BLE, && case_sem_INSN_BLE }, -// OBSOLETE { FR30BF_INSN_BGTD, && case_sem_INSN_BGTD }, -// OBSOLETE { FR30BF_INSN_BGT, && case_sem_INSN_BGT }, -// OBSOLETE { FR30BF_INSN_BLSD, && case_sem_INSN_BLSD }, -// OBSOLETE { FR30BF_INSN_BLS, && case_sem_INSN_BLS }, -// OBSOLETE { FR30BF_INSN_BHID, && case_sem_INSN_BHID }, -// OBSOLETE { FR30BF_INSN_BHI, && case_sem_INSN_BHI }, -// OBSOLETE { FR30BF_INSN_DMOVR13, && case_sem_INSN_DMOVR13 }, -// OBSOLETE { FR30BF_INSN_DMOVR13H, && case_sem_INSN_DMOVR13H }, -// OBSOLETE { FR30BF_INSN_DMOVR13B, && case_sem_INSN_DMOVR13B }, -// OBSOLETE { FR30BF_INSN_DMOVR13PI, && case_sem_INSN_DMOVR13PI }, -// OBSOLETE { FR30BF_INSN_DMOVR13PIH, && case_sem_INSN_DMOVR13PIH }, -// OBSOLETE { FR30BF_INSN_DMOVR13PIB, && case_sem_INSN_DMOVR13PIB }, -// OBSOLETE { FR30BF_INSN_DMOVR15PI, && case_sem_INSN_DMOVR15PI }, -// OBSOLETE { FR30BF_INSN_DMOV2R13, && case_sem_INSN_DMOV2R13 }, -// OBSOLETE { FR30BF_INSN_DMOV2R13H, && case_sem_INSN_DMOV2R13H }, -// OBSOLETE { FR30BF_INSN_DMOV2R13B, && case_sem_INSN_DMOV2R13B }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PI, && case_sem_INSN_DMOV2R13PI }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PIH, && case_sem_INSN_DMOV2R13PIH }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PIB, && case_sem_INSN_DMOV2R13PIB }, -// OBSOLETE { FR30BF_INSN_DMOV2R15PD, && case_sem_INSN_DMOV2R15PD }, -// OBSOLETE { FR30BF_INSN_LDRES, && case_sem_INSN_LDRES }, -// OBSOLETE { FR30BF_INSN_STRES, && case_sem_INSN_STRES }, -// OBSOLETE { FR30BF_INSN_COPOP, && case_sem_INSN_COPOP }, -// OBSOLETE { FR30BF_INSN_COPLD, && case_sem_INSN_COPLD }, -// OBSOLETE { FR30BF_INSN_COPST, && case_sem_INSN_COPST }, -// OBSOLETE { FR30BF_INSN_COPSV, && case_sem_INSN_COPSV }, -// OBSOLETE { FR30BF_INSN_NOP, && case_sem_INSN_NOP }, -// OBSOLETE { FR30BF_INSN_ANDCCR, && case_sem_INSN_ANDCCR }, -// OBSOLETE { FR30BF_INSN_ORCCR, && case_sem_INSN_ORCCR }, -// OBSOLETE { FR30BF_INSN_STILM, && case_sem_INSN_STILM }, -// OBSOLETE { FR30BF_INSN_ADDSP, && case_sem_INSN_ADDSP }, -// OBSOLETE { FR30BF_INSN_EXTSB, && case_sem_INSN_EXTSB }, -// OBSOLETE { FR30BF_INSN_EXTUB, && case_sem_INSN_EXTUB }, -// OBSOLETE { FR30BF_INSN_EXTSH, && case_sem_INSN_EXTSH }, -// OBSOLETE { FR30BF_INSN_EXTUH, && case_sem_INSN_EXTUH }, -// OBSOLETE { FR30BF_INSN_LDM0, && case_sem_INSN_LDM0 }, -// OBSOLETE { FR30BF_INSN_LDM1, && case_sem_INSN_LDM1 }, -// OBSOLETE { FR30BF_INSN_STM0, && case_sem_INSN_STM0 }, -// OBSOLETE { FR30BF_INSN_STM1, && case_sem_INSN_STM1 }, -// OBSOLETE { FR30BF_INSN_ENTER, && case_sem_INSN_ENTER }, -// OBSOLETE { FR30BF_INSN_LEAVE, && case_sem_INSN_LEAVE }, -// OBSOLETE { FR30BF_INSN_XCHB, && case_sem_INSN_XCHB }, -// OBSOLETE { 0, 0 } -// OBSOLETE }; -// OBSOLETE int i; -// OBSOLETE -// OBSOLETE for (i = 0; labels[i].label != 0; ++i) -// OBSOLETE { -// OBSOLETE #if FAST_P -// OBSOLETE CPU_IDESC (current_cpu) [labels[i].index].sem_fast_lab = labels[i].label; -// OBSOLETE #else -// OBSOLETE CPU_IDESC (current_cpu) [labels[i].index].sem_full_lab = labels[i].label; -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef DEFINE_LABELS -// OBSOLETE #endif /* DEFINE_LABELS */ -// OBSOLETE -// OBSOLETE #ifdef DEFINE_SWITCH -// OBSOLETE -// OBSOLETE /* If hyper-fast [well not unnecessarily slow] execution is selected, turn -// OBSOLETE off frills like tracing and profiling. */ -// OBSOLETE /* FIXME: A better way would be to have TRACE_RESULT check for something -// OBSOLETE that can cause it to be optimized out. Another way would be to emit -// OBSOLETE special handlers into the instruction "stream". */ -// OBSOLETE -// OBSOLETE #if FAST_P -// OBSOLETE #undef TRACE_RESULT -// OBSOLETE #define TRACE_RESULT(cpu, abuf, name, type, val) -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE #undef GET_ATTR -// OBSOLETE #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) -// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr) -// OBSOLETE #else -// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr) -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE { -// OBSOLETE -// OBSOLETE #if WITH_SCACHE_PBB -// OBSOLETE -// OBSOLETE /* Branch to next handler without going around main loop. */ -// OBSOLETE #define NEXT(vpc) goto * SEM_ARGBUF (vpc) -> semantic.sem_case -// OBSOLETE SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case) -// OBSOLETE -// OBSOLETE #else /* ! WITH_SCACHE_PBB */ -// OBSOLETE -// OBSOLETE #define NEXT(vpc) BREAK (sem) -// OBSOLETE #ifdef __GNUC__ -// OBSOLETE #if FAST_P -// OBSOLETE SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_fast_lab) -// OBSOLETE #else -// OBSOLETE SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_full_lab) -// OBSOLETE #endif -// OBSOLETE #else -// OBSOLETE SWITCH (sem, SEM_ARGBUF (sc) -> idesc->num) -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE #endif /* ! WITH_SCACHE_PBB */ -// OBSOLETE -// OBSOLETE { -// OBSOLETE -// OBSOLETE CASE (sem, INSN_X_INVALID) : /* --invalid-- */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE /* Update the recorded pc in the cpu state struct. -// OBSOLETE Only necessary for WITH_SCACHE case, but to avoid the -// OBSOLETE conditional compilation .... */ -// OBSOLETE SET_H_PC (pc); -// OBSOLETE /* Virtual insns have zero size. Overwrite vpc with address of next insn -// OBSOLETE using the default-insn-bitsize spec. When executing insns in parallel -// OBSOLETE we may want to queue the fault and continue execution. */ -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE vpc = sim_engine_invalid_insn (current_cpu, pc, vpc); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_X_AFTER) : /* --after-- */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE fr30bf_pbb_after (current_cpu, sem_arg); -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_X_BEFORE) : /* --before-- */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE fr30bf_pbb_before (current_cpu, sem_arg); -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_X_CTI_CHAIN) : /* --cti-chain-- */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE #ifdef DEFINE_SWITCH -// OBSOLETE vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg, -// OBSOLETE pbb_br_type, pbb_br_npc); -// OBSOLETE BREAK (sem); -// OBSOLETE #else -// OBSOLETE /* FIXME: Allow provision of explicit ifmt spec in insn spec. */ -// OBSOLETE vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg, -// OBSOLETE CPU_PBB_BR_TYPE (current_cpu), -// OBSOLETE CPU_PBB_BR_NPC (current_cpu)); -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_X_CHAIN) : /* --chain-- */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE vpc = fr30bf_pbb_chain (current_cpu, sem_arg); -// OBSOLETE #ifdef DEFINE_SWITCH -// OBSOLETE BREAK (sem); -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_X_BEGIN) : /* --begin-- */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE #if defined DEFINE_SWITCH || defined FAST_P -// OBSOLETE /* In the switch case FAST_P is a constant, allowing several optimizations -// OBSOLETE in any called inline functions. */ -// OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, FAST_P); -// OBSOLETE #else -// OBSOLETE #if 0 /* cgen engine can't handle dynamic fast/full switching yet. */ -// OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu))); -// OBSOLETE #else -// OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, 0); -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADD) : /* add $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADDI) : /* add $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADD2) : /* add2 $m4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADDC) : /* addc $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADDN) : /* addn $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADDNI) : /* addn $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADDN2) : /* addn2 $m4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_SUB) : /* sub $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_SUBC) : /* subc $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_SUBN) : /* subn $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CMP) : /* cmp $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp1; -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CMPI) : /* cmp $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp1; -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CMP2) : /* cmp2 $m4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp1; -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_AND) : /* and $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_OR) : /* or $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EOR) : /* eor $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ANDM) : /* and $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ANDH) : /* andh $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI tmp_tmp; -// OBSOLETE tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQHI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTHI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE HI opval = tmp_tmp; -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ANDB) : /* andb $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE QI opval = tmp_tmp; -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ORM) : /* or $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ORH) : /* orh $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI tmp_tmp; -// OBSOLETE tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQHI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTHI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE HI opval = tmp_tmp; -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ORB) : /* orb $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE QI opval = tmp_tmp; -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EORM) : /* eor $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EORH) : /* eorh $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI tmp_tmp; -// OBSOLETE tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQHI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTHI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE HI opval = tmp_tmp; -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EORB) : /* eorb $Rj,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE QI opval = tmp_tmp; -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BANDL) : /* bandl $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BORL) : /* borl $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BEORL) : /* beorl $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BANDH) : /* bandh $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BORH) : /* borh $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BEORH) : /* beorh $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BTSTL) : /* btstl $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BTSTH) : /* btsth $u4,@$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MUL) : /* mul $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE DI tmp_tmp; -// OBSOLETE tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (tmp_tmp); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32)); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQDI (tmp_tmp, MAKEDI (0, 0)); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000)))); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MULU) : /* mulu $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE DI tmp_tmp; -// OBSOLETE tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (tmp_tmp); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32)); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 4)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = NESI (GET_H_DR (((UINT) 4)), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MULH) : /* mulh $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri))); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = GESI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MULUH) : /* muluh $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535)); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = GESI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DIV0S) : /* div0s $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_d0bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0)); -// OBSOLETE CPU (h_d1bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval); -// OBSOLETE } -// OBSOLETE if (NEBI (CPU (h_d0bit), 0)) { -// OBSOLETE { -// OBSOLETE SI opval = 0xffffffff; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE SI opval = 0; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DIV0U) : /* div0u $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_d0bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_d1bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = 0; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DIV1) : /* div1 $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE if (LTSI (GET_H_DR (((UINT) 5)), 0)) { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) { -// OBSOLETE { -// OBSOLETE tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ORSI (GET_H_DR (((UINT) 5)), 1); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (GET_H_DR (((UINT) 4)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DIV2) : /* div2 $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) { -// OBSOLETE { -// OBSOLETE tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (EQSI (tmp_tmp, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = 1; -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = 0; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DIV3) : /* div3 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (EQBI (CPU (h_zbit), 1)) { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DIV4S) : /* div4s */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) { -// OBSOLETE { -// OBSOLETE SI opval = NEGSI (GET_H_DR (((UINT) 5))); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LSL) : /* lsl $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LSLI) : /* lsl $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = FLD (f_u4); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LSL2) : /* lsl2 $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LSR) : /* lsr $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LSRI) : /* lsr $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = FLD (f_u4); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LSR2) : /* lsr2 $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ASR) : /* asr $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ASRI) : /* asr $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = FLD (f_u4); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ASR2) : /* asr2 $u4,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDI8) : /* ldi:8 $i8,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = FLD (f_i8); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDI20) : /* ldi:20 $i20,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = FLD (f_i20); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDI32) : /* ldi:32 $i32,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 6); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = FLD (f_i32); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LD) : /* ld @$Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDUH) : /* lduh @$Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDUB) : /* ldub @$Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR13) : /* ld @($R13,$Rj),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR13UH) : /* lduh @($R13,$Rj),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR13UB) : /* ldub @($R13,$Rj),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR14) : /* ld @($R14,$disp10),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR14UH) : /* lduh @($R14,$disp9),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR14UB) : /* ldub @($R14,$disp8),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR15) : /* ld @($R15,$udisp6),$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR15GR) : /* ld @$R15+,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE if (NESI (FLD (f_Ri), 15)) { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR15DR) : /* ld @$R15+,$Rs2 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SET_H_DR (FLD (f_Rs2), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDR15PS) : /* ld @$R15+,$ps */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ST) : /* st $Ri,@$Rj */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STH) : /* sth $Ri,@$Rj */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = * FLD (i_Ri); -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STB) : /* stb $Ri,@$Rj */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = * FLD (i_Ri); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR13) : /* st $Ri,@($R13,$Rj) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR13H) : /* sth $Ri,@($R13,$Rj) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = * FLD (i_Ri); -// OBSOLETE SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR13B) : /* stb $Ri,@($R13,$Rj) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = * FLD (i_Ri); -// OBSOLETE SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR14) : /* st $Ri,@($R14,$disp10) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR14H) : /* sth $Ri,@($R14,$disp9) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = * FLD (i_Ri); -// OBSOLETE SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR14B) : /* stb $Ri,@($R14,$disp8) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = * FLD (i_Ri); -// OBSOLETE SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR15) : /* st $Ri,@($R15,$udisp6) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR15GR) : /* st $Ri,@-$R15 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = * FLD (i_Ri); -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR15DR) : /* st $Rs2,@-$R15 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = GET_H_DR (FLD (f_Rs2)); -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STR15PS) : /* st $ps,@-$R15 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GET_H_PS (); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MOV) : /* mov $Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Rj); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MOVDR) : /* mov $Rs1,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GET_H_DR (FLD (f_Rs1)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MOVPS) : /* mov $ps,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GET_H_PS (); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MOV2DR) : /* mov $Ri,$Rs1 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SET_H_DR (FLD (f_Rs1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_MOV2PS) : /* mov $Ri,$ps */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_JMP) : /* jmp @$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_JMPD) : /* jmp:d @$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CALLR) : /* call @$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 2); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CALLRD) : /* call:d @$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 4); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CALL) : /* call $label12 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 2); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label12); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_CALLD) : /* call:d $label12 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 4); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label12); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_RET) : /* ret */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = GET_H_DR (((UINT) 1)); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_RET_D) : /* ret:d */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = GET_H_DR (((UINT) 1)); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_INT) : /* int $u8 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE { -// OBSOLETE SI opval = fr30_int (current_cpu, pc, FLD (f_u8)); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_INTE) : /* inte */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE { -// OBSOLETE SI opval = fr30_inte (current_cpu, pc); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_RETI) : /* reti */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (EQBI (GET_H_SBIT (), 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2))); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4); -// OBSOLETE SET_H_DR (((UINT) 2), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2))); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4); -// OBSOLETE SET_H_DR (((UINT) 2), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3))); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4); -// OBSOLETE SET_H_DR (((UINT) 3), opval); -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3))); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4); -// OBSOLETE SET_H_DR (((UINT) 3), opval); -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BRAD) : /* bra:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BRA) : /* bra $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNOD) : /* bno:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNO) : /* bno $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BEQD) : /* beq:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_zbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BEQ) : /* beq $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_zbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNED) : /* bne:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNE) : /* bne $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BCD) : /* bc:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_cbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BC) : /* bc $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_cbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNCD) : /* bnc:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_cbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNC) : /* bnc $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_cbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BND) : /* bn:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_nbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BN) : /* bn $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_nbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BPD) : /* bp:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BP) : /* bp $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BVD) : /* bv:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_vbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BV) : /* bv $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_vbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNVD) : /* bnv:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_vbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BNV) : /* bnv $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_vbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BLTD) : /* blt:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BLT) : /* blt $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BGED) : /* bge:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BGE) : /* bge $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BLED) : /* ble:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BLE) : /* ble $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BGTD) : /* bgt:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BGT) : /* bgt $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BLSD) : /* bls:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BLS) : /* bls $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BHID) : /* bhi:d $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_BHI) : /* bhi $label9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR13) : /* dmov $R13,@$dir10 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR13H) : /* dmovh $R13,@$dir9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMHI (current_cpu, pc, FLD (f_dir9), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR13B) : /* dmovb $R13,@$dir8 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMQI (current_cpu, pc, FLD (f_dir8), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR13PI) : /* dmov @$R13+,@$dir10 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)])); -// OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR13PIH) : /* dmovh @$R13+,@$dir9 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)])); -// OBSOLETE SETMEMHI (current_cpu, pc, FLD (f_dir9), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR13PIB) : /* dmovb @$R13+,@$dir8 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)])); -// OBSOLETE SETMEMQI (current_cpu, pc, FLD (f_dir8), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOVR15PI) : /* dmov @$R15+,@$dir10 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R13) : /* dmov @$dir10,$R13 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10)); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R13H) : /* dmovh @$dir9,$R13 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9)); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R13B) : /* dmovb @$dir8,$R13 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8)); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R13PI) : /* dmov @$dir10,@$R13+ */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10)); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R13PIH) : /* dmovh @$dir9,@$R13+ */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9)); -// OBSOLETE SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R13PIB) : /* dmovb @$dir8,@$R13+ */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8)); -// OBSOLETE SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_DMOV2R15PD) : /* dmov @$dir10,@-$R15 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10)); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDRES) : /* ldres @$Ri+,$u4 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), 4); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STRES) : /* stres $u4,@$Ri+ */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), 4); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_COPOP) : /* copop $u4c,$ccc,$CRj,$CRi */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_COPLD) : /* copld $u4c,$ccc,$Rjc,$CRi */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_COPST) : /* copst $u4c,$ccc,$CRj,$Ric */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_COPSV) : /* copsv $u4c,$ccc,$CRj,$Ric */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_NOP) : /* nop */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ANDCCR) : /* andccr $u8 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8)); -// OBSOLETE SET_H_CCR (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ORCCR) : /* orccr $u8 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE UQI opval = ORQI (GET_H_CCR (), FLD (f_u8)); -// OBSOLETE SET_H_CCR (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STILM) : /* stilm $u8 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE UQI opval = ANDSI (FLD (f_u8), 31); -// OBSOLETE SET_H_ILM (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ADDSP) : /* addsp $s10 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10)); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EXTSB) : /* extsb $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EXTUB) : /* extub $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EXTSH) : /* extsh $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_EXTUH) : /* extuh $Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDM0) : /* ldm0 ($reglist_low_ld) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 1)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 0)]) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 1)]) = opval; -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 2)]) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 3)]) = opval; -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 4)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 5)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 6)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 128)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 7)]) = opval; -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LDM1) : /* ldm1 ($reglist_hi_ld) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 1)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 8)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 9)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 10)]) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 11)]) = opval; -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 12)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 14)]) = opval; -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 128)) { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STM0) : /* stm0 ($reglist_low_st) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 1)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 7)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 6)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 5)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 4)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 3)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 2)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 1)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 128)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 0)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_STM1) : /* stm1 ($reglist_hi_st) */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 1)) { -// OBSOLETE { -// OBSOLETE SI tmp_save_r15; -// OBSOLETE tmp_save_r15 = CPU (h_gr[((UINT) 15)]); -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_save_r15; -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 14)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 12)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 11)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 10)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 9)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 128)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 8)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_ENTER) : /* enter $u10 */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 14)]); -// OBSOLETE SETMEMSI (current_cpu, pc, tmp_tmp, opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE CPU (h_gr[((UINT) 14)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10)); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_LEAVE) : /* leave */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4)); -// OBSOLETE CPU (h_gr[((UINT) 14)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE CASE (sem, INSN_XCHB) : /* xchb @$Rj,$Ri */ -// OBSOLETE { -// OBSOLETE SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = * FLD (i_Ri); -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE UQI opval = tmp_tmp; -// OBSOLETE SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE NEXT (vpc); -// OBSOLETE -// OBSOLETE -// OBSOLETE } -// OBSOLETE ENDSWITCH (sem) /* End of semantic switch. */ -// OBSOLETE -// OBSOLETE /* At this point `vpc' contains the next insn to execute. */ -// OBSOLETE } -// OBSOLETE -// OBSOLETE #undef DEFINE_SWITCH -// OBSOLETE #endif /* DEFINE_SWITCH */ diff --git a/sim/fr30/sem.c b/sim/fr30/sem.c deleted file mode 100644 index de61ba61dd7..00000000000 --- a/sim/fr30/sem.c +++ /dev/null @@ -1,5729 +0,0 @@ -// OBSOLETE /* Simulator instruction semantics for fr30bf. -// OBSOLETE -// OBSOLETE THIS FILE IS MACHINE GENERATED WITH CGEN. -// OBSOLETE -// OBSOLETE Copyright 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// OBSOLETE -// OBSOLETE */ -// OBSOLETE -// OBSOLETE #define WANT_CPU fr30bf -// OBSOLETE #define WANT_CPU_FR30BF -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #include "cgen-mem.h" -// OBSOLETE #include "cgen-ops.h" -// OBSOLETE -// OBSOLETE #undef GET_ATTR -// OBSOLETE #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) -// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr) -// OBSOLETE #else -// OBSOLETE #define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr) -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE /* This is used so that we can compile two copies of the semantic code, -// OBSOLETE one with full feature support and one without that runs fast(er). -// OBSOLETE FAST_P, when desired, is defined on the command line, -DFAST_P=1. */ -// OBSOLETE #if FAST_P -// OBSOLETE #define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn) -// OBSOLETE #undef TRACE_RESULT -// OBSOLETE #define TRACE_RESULT(cpu, abuf, name, type, val) -// OBSOLETE #else -// OBSOLETE #define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn) -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE /* x-invalid: --invalid-- */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,x_invalid) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE /* Update the recorded pc in the cpu state struct. -// OBSOLETE Only necessary for WITH_SCACHE case, but to avoid the -// OBSOLETE conditional compilation .... */ -// OBSOLETE SET_H_PC (pc); -// OBSOLETE /* Virtual insns have zero size. Overwrite vpc with address of next insn -// OBSOLETE using the default-insn-bitsize spec. When executing insns in parallel -// OBSOLETE we may want to queue the fault and continue execution. */ -// OBSOLETE vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE vpc = sim_engine_invalid_insn (current_cpu, pc, vpc); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* x-after: --after-- */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,x_after) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE fr30bf_pbb_after (current_cpu, sem_arg); -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* x-before: --before-- */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,x_before) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE fr30bf_pbb_before (current_cpu, sem_arg); -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* x-cti-chain: --cti-chain-- */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,x_cti_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE #ifdef DEFINE_SWITCH -// OBSOLETE vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg, -// OBSOLETE pbb_br_type, pbb_br_npc); -// OBSOLETE BREAK (sem); -// OBSOLETE #else -// OBSOLETE /* FIXME: Allow provision of explicit ifmt spec in insn spec. */ -// OBSOLETE vpc = fr30bf_pbb_cti_chain (current_cpu, sem_arg, -// OBSOLETE CPU_PBB_BR_TYPE (current_cpu), -// OBSOLETE CPU_PBB_BR_NPC (current_cpu)); -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* x-chain: --chain-- */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,x_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE vpc = fr30bf_pbb_chain (current_cpu, sem_arg); -// OBSOLETE #ifdef DEFINE_SWITCH -// OBSOLETE BREAK (sem); -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* x-begin: --begin-- */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,x_begin) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0); -// OBSOLETE -// OBSOLETE { -// OBSOLETE #if WITH_SCACHE_PBB_FR30BF -// OBSOLETE #if defined DEFINE_SWITCH || defined FAST_P -// OBSOLETE /* In the switch case FAST_P is a constant, allowing several optimizations -// OBSOLETE in any called inline functions. */ -// OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, FAST_P); -// OBSOLETE #else -// OBSOLETE #if 0 /* cgen engine can't handle dynamic fast/full switching yet. */ -// OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu))); -// OBSOLETE #else -// OBSOLETE vpc = fr30bf_pbb_begin (current_cpu, 0); -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* add: add $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* addi: add $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* add2: add2 $m4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,add2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* addc: addc $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,addc) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = ADDCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE { -// OBSOLETE BI opval = ADDOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* addn: addn $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,addn) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* addni: addn $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,addni) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_u4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* addn2: addn2 $m4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,addn2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), FLD (f_m4)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* sub: sub $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* subc: subc $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,subc) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = SUBCSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), CPU (h_cbit)); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* subn: subn $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,subn) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* cmp: cmp $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp1; -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), * FLD (i_Rj), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* cmpi: cmp $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp1; -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_u4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_u4)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* cmp2: cmp2 $m4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,cmp2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp1; -// OBSOLETE { -// OBSOLETE BI opval = SUBOFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (* FLD (i_Ri), FLD (f_m4), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE tmp_tmp1 = SUBSI (* FLD (i_Ri), FLD (f_m4)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp1, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* and: and $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ANDSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* or: or $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ORSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* eor: eor $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,eor) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = XORSI (* FLD (i_Ri), * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* andm: and $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,andm) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = ANDSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* andh: andh $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,andh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI tmp_tmp; -// OBSOLETE tmp_tmp = ANDHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQHI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTHI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE HI opval = tmp_tmp; -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* andb: andb $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,andb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ANDQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE QI opval = tmp_tmp; -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* orm: or $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,orm) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = ORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* orh: orh $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,orh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI tmp_tmp; -// OBSOLETE tmp_tmp = ORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQHI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTHI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE HI opval = tmp_tmp; -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* orb: orb $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,orb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE QI opval = tmp_tmp; -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* eorm: eor $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,eorm) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = XORSI (GETMEMSI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQSI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* eorh: eorh $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,eorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI tmp_tmp; -// OBSOLETE tmp_tmp = XORHI (GETMEMHI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQHI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTHI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE HI opval = tmp_tmp; -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* eorb: eorb $Rj,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,eorb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = XORQI (GETMEMQI (current_cpu, pc, * FLD (i_Ri)), * FLD (i_Rj)); -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE QI opval = tmp_tmp; -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bandl: bandl $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bandl) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ANDQI (ORQI (FLD (f_u4), 240), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* borl: borl $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,borl) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* beorl: beorl $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,beorl) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = XORQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bandh: bandh $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bandh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ANDQI (ORQI (SLLQI (FLD (f_u4), 4), 15), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* borh: borh $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,borh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = ORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* beorh: beorh $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,beorh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = XORQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Ri), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* btstl: btstl $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,btstl) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ANDQI (FLD (f_u4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* btsth: btsth $u4,@$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,btsth) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI tmp_tmp; -// OBSOLETE tmp_tmp = ANDQI (SLLQI (FLD (f_u4), 4), GETMEMQI (current_cpu, pc, * FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE BI opval = EQQI (tmp_tmp, 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTQI (tmp_tmp, 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* mul: mul $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE DI tmp_tmp; -// OBSOLETE tmp_tmp = MULDI (EXTSIDI (* FLD (i_Rj)), EXTSIDI (* FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (tmp_tmp); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32)); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQDI (tmp_tmp, MAKEDI (0, 0)); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = ORIF (GTDI (tmp_tmp, MAKEDI (0, 2147483647)), LTDI (tmp_tmp, NEGDI (MAKEDI (0, 0x80000000)))); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* mulu: mulu $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,mulu) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE DI tmp_tmp; -// OBSOLETE tmp_tmp = MULDI (ZEXTSIDI (* FLD (i_Rj)), ZEXTSIDI (* FLD (i_Ri))); -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (tmp_tmp); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = TRUNCDISI (SRLDI (tmp_tmp, 32)); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 4)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = NESI (GET_H_DR (((UINT) 4)), 0); -// OBSOLETE CPU (h_vbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* mulh: mulh $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,mulh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = MULHI (TRUNCSIHI (* FLD (i_Rj)), TRUNCSIHI (* FLD (i_Ri))); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = GESI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* muluh: muluh $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,muluh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = MULSI (ANDSI (* FLD (i_Rj), 65535), ANDSI (* FLD (i_Ri), 65535)); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = GESI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* div0s: div0s $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,div0s) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = LTSI (GET_H_DR (((UINT) 5)), 0); -// OBSOLETE CPU (h_d0bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = XORBI (CPU (h_d0bit), LTSI (* FLD (i_Ri), 0)); -// OBSOLETE CPU (h_d1bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval); -// OBSOLETE } -// OBSOLETE if (NEBI (CPU (h_d0bit), 0)) { -// OBSOLETE { -// OBSOLETE SI opval = 0xffffffff; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE SI opval = 0; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* div0u: div0u $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,div0u) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_d0bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d0bit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_d1bit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "d1bit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = 0; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* div1: div1 $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,div1) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (GET_H_DR (((UINT) 4)), 1); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE if (LTSI (GET_H_DR (((UINT) 5)), 0)) { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 4)), 1); -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (GET_H_DR (((UINT) 5)), 1); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) { -// OBSOLETE { -// OBSOLETE tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (NOTBI (XORBI (XORBI (CPU (h_d0bit), CPU (h_d1bit)), CPU (h_cbit)))) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ORSI (GET_H_DR (((UINT) 5)), 1); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (GET_H_DR (((UINT) 4)), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* div2: div2 $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,div2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) { -// OBSOLETE { -// OBSOLETE tmp_tmp = ADDSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = ADDCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE tmp_tmp = SUBSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri)); -// OBSOLETE { -// OBSOLETE BI opval = SUBCFSI (GET_H_DR (((UINT) 4)), * FLD (i_Ri), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (EQSI (tmp_tmp, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = 1; -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = 0; -// OBSOLETE SET_H_DR (((UINT) 4), opval); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* div3: div3 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,div3) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (EQBI (CPU (h_zbit), 1)) { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 5)), 1); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* div4s: div4s */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,div4s) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (EQBI (CPU (h_d1bit), 1)) { -// OBSOLETE { -// OBSOLETE SI opval = NEGSI (GET_H_DR (((UINT) 5))); -// OBSOLETE SET_H_DR (((UINT) 5), opval); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lsl: lsl $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lsli: lsl $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lsli) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = FLD (f_u4); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lsl2: lsl2 $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lsl2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (32, tmp_shift))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SLLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lsr: lsr $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lsr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lsri: lsr $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lsri) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = FLD (f_u4); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lsr2: lsr2 $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lsr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRLSI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* asr: asr $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,asr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ANDSI (* FLD (i_Rj), 31); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* asri: asr $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,asri) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = FLD (f_u4); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* asr2: asr2 $u4,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,asr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_shift; -// OBSOLETE tmp_shift = ADDSI (FLD (f_u4), 16); -// OBSOLETE if (NESI (tmp_shift, 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE BI opval = NESI (ANDSI (* FLD (i_Ri), SLLSI (1, SUBSI (tmp_shift, 1))), 0); -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SRASI (* FLD (i_Ri), tmp_shift); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE BI opval = 0; -// OBSOLETE CPU (h_cbit) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = LTSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_nbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE BI opval = EQSI (* FLD (i_Ri), 0); -// OBSOLETE CPU (h_zbit) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldi8: ldi:8 $i8,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi8.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = FLD (f_i8); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldi20: ldi:20 $i20,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldi20) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi20.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = FLD (f_i20); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldi32: ldi:32 $i32,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldi32) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldi32.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 6); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = FLD (f_i32); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ld: ld @$Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* lduh: lduh @$Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldub: ldub @$Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr13: ld @($R13,$Rj),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr13uh: lduh @($R13,$Rj),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr13uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr13ub: ldub @($R13,$Rj),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr13ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr14: ld @($R14,$disp10),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr14) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr14uh: lduh @($R14,$disp9),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr14uh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14uh.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr14ub: ldub @($R14,$disp8),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr14ub) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr14ub.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr15: ld @($R15,$udisp6),$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr15) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_udisp6), CPU (h_gr[((UINT) 15)]))); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr15gr: ld @$R15+,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15gr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE if (NESI (FLD (f_Ri), 15)) { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr15dr: ld @$R15+,$Rs2 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SET_H_DR (FLD (f_Rs2), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldr15ps: ld @$R15+,$ps */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldr15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* st: st $Ri,@$Rj */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* sth: sth $Ri,@$Rj */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = * FLD (i_Ri); -// OBSOLETE SETMEMHI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* stb: stb $Ri,@$Rj */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = * FLD (i_Ri); -// OBSOLETE SETMEMQI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str13: st $Ri,@($R13,$Rj) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str13) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str13h: sth $Ri,@($R13,$Rj) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = * FLD (i_Ri); -// OBSOLETE SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str13b: stb $Ri,@($R13,$Rj) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = * FLD (i_Ri); -// OBSOLETE SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_Rj), CPU (h_gr[((UINT) 13)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str14: st $Ri,@($R14,$disp10) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str14) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (FLD (f_disp10), CPU (h_gr[((UINT) 14)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str14h: sth $Ri,@($R14,$disp9) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str14h) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14h.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = * FLD (i_Ri); -// OBSOLETE SETMEMHI (current_cpu, pc, ADDSI (FLD (f_disp9), CPU (h_gr[((UINT) 14)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str14b: stb $Ri,@($R14,$disp8) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str14b) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str14b.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = * FLD (i_Ri); -// OBSOLETE SETMEMQI (current_cpu, pc, ADDSI (FLD (f_disp8), CPU (h_gr[((UINT) 14)])), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str15: st $Ri,@($R15,$udisp6) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str15) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_udisp6)), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str15gr: st $Ri,@-$R15 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str15gr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_str15gr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = * FLD (i_Ri); -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str15dr: st $Rs2,@-$R15 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str15dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr15dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = GET_H_DR (FLD (f_Rs2)); -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* str15ps: st $ps,@-$R15 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,str15ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GET_H_PS (); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* mov: mov $Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,mov) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldr13.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Rj); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* movdr: mov $Rs1,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,movdr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GET_H_DR (FLD (f_Rs1)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* movps: mov $ps,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,movps) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_movdr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GET_H_PS (); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* mov2dr: mov $Ri,$Rs1 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,mov2dr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = * FLD (i_Ri); -// OBSOLETE SET_H_DR (FLD (f_Rs1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* mov2ps: mov $Ri,$ps */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,mov2ps) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* jmp: jmp @$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* jmpd: jmp:d @$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,jmpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* callr: call @$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,callr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 2); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* callrd: call:d @$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,callrd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_mov2dr.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 4); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = * FLD (i_Ri); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* call: call $label12 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,call) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 2); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label12); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* calld: call:d $label12 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,calld) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_call.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (pc, 4); -// OBSOLETE SET_H_DR (((UINT) 1), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label12); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ret: ret */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ret) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = GET_H_DR (((UINT) 1)); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ret:d: ret:d */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ret_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = GET_H_DR (((UINT) 1)); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* int: int $u8 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,int) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE { -// OBSOLETE SI opval = fr30_int (current_cpu, pc, FLD (f_u8)); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* inte: inte */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,inte) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE ; /*clobber*/ -// OBSOLETE { -// OBSOLETE SI opval = fr30_inte (current_cpu, pc); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* reti: reti */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,reti) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (EQBI (GET_H_SBIT (), 0)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2))); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4); -// OBSOLETE SET_H_DR (((UINT) 2), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 2))); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 2)), 4); -// OBSOLETE SET_H_DR (((UINT) 2), opval); -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } else { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3))); -// OBSOLETE SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4); -// OBSOLETE SET_H_DR (((UINT) 3), opval); -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, GET_H_DR (((UINT) 3))); -// OBSOLETE SET_H_PS (opval); -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ps", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (GET_H_DR (((UINT) 3)), 4); -// OBSOLETE SET_H_DR (((UINT) 3), opval); -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "dr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* brad: bra:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,brad) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bra: bra $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bra) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bnod: bno:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bnod) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bno: bno $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bno) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* beqd: beq:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,beqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_zbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* beq: beq $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_zbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bned: bne:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bned) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bne: bne $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bcd: bc:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bcd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_cbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bc: bc $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bc) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_cbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bncd: bnc:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bncd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_cbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bnc: bnc $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bnc) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_cbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bnd: bn:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bnd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_nbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bn: bn $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bn) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_nbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bpd: bp:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bpd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bp: bp $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bp) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bvd: bv:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (CPU (h_vbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bv: bv $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bv) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (CPU (h_vbit)) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bnvd: bnv:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bnvd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (CPU (h_vbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bnv: bnv $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bnv) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (CPU (h_vbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 2); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bltd: blt:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bltd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* blt: blt $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,blt) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (XORBI (CPU (h_vbit), CPU (h_nbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bged: bge:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bged) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bge: bge $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bge) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (XORBI (CPU (h_vbit), CPU (h_nbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bled: ble:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bled) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ble: ble $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ble) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bgtd: bgt:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bgtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bgt: bgt $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (ORBI (XORBI (CPU (h_vbit), CPU (h_nbit)), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* blsd: bls:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,blsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bls: bls $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bls) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (ORBI (CPU (h_cbit), CPU (h_zbit))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bhid: bhi:d $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bhid) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* bhi: bhi $label9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,bhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_brad.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_BRANCH_INIT -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE if (NOTBI (ORBI (CPU (h_cbit), CPU (h_zbit)))) { -// OBSOLETE { -// OBSOLETE USI opval = FLD (i_label9); -// OBSOLETE SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc); -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE SEM_BRANCH_FINI (vpc); -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr13: dmov $R13,@$dir10 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr13h: dmovh $R13,@$dir9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE HI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMHI (current_cpu, pc, FLD (f_dir9), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr13b: dmovb $R13,@$dir8 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE QI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMQI (current_cpu, pc, FLD (f_dir8), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr13pi: dmov @$R13+,@$dir10 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)])); -// OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr13pih: dmovh @$R13+,@$dir9 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE HI opval = GETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)])); -// OBSOLETE SETMEMHI (current_cpu, pc, FLD (f_dir9), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr13pib: dmovb @$R13+,@$dir8 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE QI opval = GETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)])); -// OBSOLETE SETMEMQI (current_cpu, pc, FLD (f_dir8), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmovr15pi: dmov @$R15+,@$dir10 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmovr15pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE SETMEMSI (current_cpu, pc, FLD (f_dir10), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r13: dmov @$dir10,$R13 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10)); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r13h: dmovh @$dir9,$R13 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13h) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9)); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r13b: dmovb @$dir8,$R13 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13b) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8)); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r13pi: dmov @$dir10,@$R13+ */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pi) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10)); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r13pih: dmovh @$dir9,@$R13+ */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pih) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pih.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE HI opval = GETMEMHI (current_cpu, pc, FLD (f_dir9)); -// OBSOLETE SETMEMHI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 2); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r13pib: dmovb @$dir8,@$R13+ */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r13pib) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr13pib.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE QI opval = GETMEMQI (current_cpu, pc, FLD (f_dir8)); -// OBSOLETE SETMEMQI (current_cpu, pc, CPU (h_gr[((UINT) 13)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 13)]), 1); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* dmov2r15pd: dmov @$dir10,@-$R15 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,dmov2r15pd) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_dmovr15pi.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, FLD (f_dir10)); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldres: ldres @$Ri+,$u4 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldres) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), 4); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* stres: stres $u4,@$Ri+ */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,stres) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (* FLD (i_Ri), 4); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* copop: copop $u4c,$ccc,$CRj,$CRi */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,copop) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* copld: copld $u4c,$ccc,$Rjc,$CRi */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,copld) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* copst: copst $u4c,$ccc,$CRj,$Ric */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,copst) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* copsv: copsv $u4c,$ccc,$CRj,$Ric */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,copsv) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* nop: nop */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.fmt_empty.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE ((void) 0); /*nop*/ -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* andccr: andccr $u8 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,andccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE UQI opval = ANDQI (GET_H_CCR (), FLD (f_u8)); -// OBSOLETE SET_H_CCR (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* orccr: orccr $u8 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,orccr) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE UQI opval = ORQI (GET_H_CCR (), FLD (f_u8)); -// OBSOLETE SET_H_CCR (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ccr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* stilm: stilm $u8 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,stilm) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_int.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE UQI opval = ANDSI (FLD (f_u8), 31); -// OBSOLETE SET_H_ILM (opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "ilm", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* addsp: addsp $s10 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,addsp) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_addsp.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), FLD (f_s10)); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* extsb: extsb $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,extsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = EXTQISI (ANDQI (* FLD (i_Ri), 255)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* extub: extub $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,extub) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ZEXTQISI (ANDQI (* FLD (i_Ri), 255)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* extsh: extsh $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,extsh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = EXTHISI (ANDHI (* FLD (i_Ri), 65535)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* extuh: extuh $Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,extuh) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add2.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI opval = ZEXTHISI (ANDHI (* FLD (i_Ri), 65535)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldm0: ldm0 ($reglist_low_ld) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm0.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 1)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 0)]) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 1)]) = opval; -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 2)]) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 3)]) = opval; -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 4)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 5)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 6)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_ld), 128)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 7)]) = opval; -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* ldm1: ldm1 ($reglist_hi_ld) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,ldm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_ldm1.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 1)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 8)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 9)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 10)]) = opval; -// OBSOLETE written |= (1 << 3); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 11)]) = opval; -// OBSOLETE written |= (1 << 4); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 12)]) = opval; -// OBSOLETE written |= (1 << 5); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 13)]) = opval; -// OBSOLETE written |= (1 << 6); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 14)]) = opval; -// OBSOLETE written |= (1 << 7); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_ld), 128)) { -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)])); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 8); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* stm0: stm0 ($reglist_low_st) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,stm0) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm0.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 1)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 7)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 6)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 5)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 4)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 3)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 2)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 1)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_low_st), 128)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 0)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 11); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* stm1: stm1 ($reglist_hi_st) */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,stm1) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_stm1.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 1)) { -// OBSOLETE { -// OBSOLETE SI tmp_save_r15; -// OBSOLETE tmp_save_r15 = CPU (h_gr[((UINT) 15)]); -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_save_r15; -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 2)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 14)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 4)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 13)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 8)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 12)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 16)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 11)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 32)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 10)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 64)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 9)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE if (ANDSI (FLD (f_reglist_hi_st), 128)) { -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE written |= (1 << 9); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 8)]); -// OBSOLETE SETMEMSI (current_cpu, pc, CPU (h_gr[((UINT) 15)]), opval); -// OBSOLETE written |= (1 << 10); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE abuf->written = written; -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* enter: enter $u10 */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,enter) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = SUBSI (CPU (h_gr[((UINT) 15)]), 4); -// OBSOLETE { -// OBSOLETE SI opval = CPU (h_gr[((UINT) 14)]); -// OBSOLETE SETMEMSI (current_cpu, pc, tmp_tmp, opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = tmp_tmp; -// OBSOLETE CPU (h_gr[((UINT) 14)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = SUBSI (CPU (h_gr[((UINT) 15)]), FLD (f_u10)); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* leave: leave */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,leave) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_enter.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE { -// OBSOLETE SI opval = ADDSI (CPU (h_gr[((UINT) 14)]), 4); -// OBSOLETE CPU (h_gr[((UINT) 15)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE SI opval = GETMEMSI (current_cpu, pc, SUBSI (CPU (h_gr[((UINT) 15)]), 4)); -// OBSOLETE CPU (h_gr[((UINT) 14)]) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* xchb: xchb @$Rj,$Ri */ -// OBSOLETE -// OBSOLETE static SEM_PC -// OBSOLETE SEM_FN_NAME (fr30bf,xchb) (SIM_CPU *current_cpu, SEM_ARG sem_arg) -// OBSOLETE { -// OBSOLETE #define FLD(f) abuf->fields.sfmt_add.f -// OBSOLETE ARGBUF *abuf = SEM_ARGBUF (sem_arg); -// OBSOLETE int UNUSED written = 0; -// OBSOLETE IADDR UNUSED pc = abuf->addr; -// OBSOLETE SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2); -// OBSOLETE -// OBSOLETE { -// OBSOLETE SI tmp_tmp; -// OBSOLETE tmp_tmp = * FLD (i_Ri); -// OBSOLETE { -// OBSOLETE SI opval = GETMEMUQI (current_cpu, pc, * FLD (i_Rj)); -// OBSOLETE * FLD (i_Ri) = opval; -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval); -// OBSOLETE } -// OBSOLETE { -// OBSOLETE UQI opval = tmp_tmp; -// OBSOLETE SETMEMUQI (current_cpu, pc, * FLD (i_Rj), opval); -// OBSOLETE TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE return vpc; -// OBSOLETE #undef FLD -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Table of all semantic fns. */ -// OBSOLETE -// OBSOLETE static const struct sem_fn_desc sem_fns[] = { -// OBSOLETE { FR30BF_INSN_X_INVALID, SEM_FN_NAME (fr30bf,x_invalid) }, -// OBSOLETE { FR30BF_INSN_X_AFTER, SEM_FN_NAME (fr30bf,x_after) }, -// OBSOLETE { FR30BF_INSN_X_BEFORE, SEM_FN_NAME (fr30bf,x_before) }, -// OBSOLETE { FR30BF_INSN_X_CTI_CHAIN, SEM_FN_NAME (fr30bf,x_cti_chain) }, -// OBSOLETE { FR30BF_INSN_X_CHAIN, SEM_FN_NAME (fr30bf,x_chain) }, -// OBSOLETE { FR30BF_INSN_X_BEGIN, SEM_FN_NAME (fr30bf,x_begin) }, -// OBSOLETE { FR30BF_INSN_ADD, SEM_FN_NAME (fr30bf,add) }, -// OBSOLETE { FR30BF_INSN_ADDI, SEM_FN_NAME (fr30bf,addi) }, -// OBSOLETE { FR30BF_INSN_ADD2, SEM_FN_NAME (fr30bf,add2) }, -// OBSOLETE { FR30BF_INSN_ADDC, SEM_FN_NAME (fr30bf,addc) }, -// OBSOLETE { FR30BF_INSN_ADDN, SEM_FN_NAME (fr30bf,addn) }, -// OBSOLETE { FR30BF_INSN_ADDNI, SEM_FN_NAME (fr30bf,addni) }, -// OBSOLETE { FR30BF_INSN_ADDN2, SEM_FN_NAME (fr30bf,addn2) }, -// OBSOLETE { FR30BF_INSN_SUB, SEM_FN_NAME (fr30bf,sub) }, -// OBSOLETE { FR30BF_INSN_SUBC, SEM_FN_NAME (fr30bf,subc) }, -// OBSOLETE { FR30BF_INSN_SUBN, SEM_FN_NAME (fr30bf,subn) }, -// OBSOLETE { FR30BF_INSN_CMP, SEM_FN_NAME (fr30bf,cmp) }, -// OBSOLETE { FR30BF_INSN_CMPI, SEM_FN_NAME (fr30bf,cmpi) }, -// OBSOLETE { FR30BF_INSN_CMP2, SEM_FN_NAME (fr30bf,cmp2) }, -// OBSOLETE { FR30BF_INSN_AND, SEM_FN_NAME (fr30bf,and) }, -// OBSOLETE { FR30BF_INSN_OR, SEM_FN_NAME (fr30bf,or) }, -// OBSOLETE { FR30BF_INSN_EOR, SEM_FN_NAME (fr30bf,eor) }, -// OBSOLETE { FR30BF_INSN_ANDM, SEM_FN_NAME (fr30bf,andm) }, -// OBSOLETE { FR30BF_INSN_ANDH, SEM_FN_NAME (fr30bf,andh) }, -// OBSOLETE { FR30BF_INSN_ANDB, SEM_FN_NAME (fr30bf,andb) }, -// OBSOLETE { FR30BF_INSN_ORM, SEM_FN_NAME (fr30bf,orm) }, -// OBSOLETE { FR30BF_INSN_ORH, SEM_FN_NAME (fr30bf,orh) }, -// OBSOLETE { FR30BF_INSN_ORB, SEM_FN_NAME (fr30bf,orb) }, -// OBSOLETE { FR30BF_INSN_EORM, SEM_FN_NAME (fr30bf,eorm) }, -// OBSOLETE { FR30BF_INSN_EORH, SEM_FN_NAME (fr30bf,eorh) }, -// OBSOLETE { FR30BF_INSN_EORB, SEM_FN_NAME (fr30bf,eorb) }, -// OBSOLETE { FR30BF_INSN_BANDL, SEM_FN_NAME (fr30bf,bandl) }, -// OBSOLETE { FR30BF_INSN_BORL, SEM_FN_NAME (fr30bf,borl) }, -// OBSOLETE { FR30BF_INSN_BEORL, SEM_FN_NAME (fr30bf,beorl) }, -// OBSOLETE { FR30BF_INSN_BANDH, SEM_FN_NAME (fr30bf,bandh) }, -// OBSOLETE { FR30BF_INSN_BORH, SEM_FN_NAME (fr30bf,borh) }, -// OBSOLETE { FR30BF_INSN_BEORH, SEM_FN_NAME (fr30bf,beorh) }, -// OBSOLETE { FR30BF_INSN_BTSTL, SEM_FN_NAME (fr30bf,btstl) }, -// OBSOLETE { FR30BF_INSN_BTSTH, SEM_FN_NAME (fr30bf,btsth) }, -// OBSOLETE { FR30BF_INSN_MUL, SEM_FN_NAME (fr30bf,mul) }, -// OBSOLETE { FR30BF_INSN_MULU, SEM_FN_NAME (fr30bf,mulu) }, -// OBSOLETE { FR30BF_INSN_MULH, SEM_FN_NAME (fr30bf,mulh) }, -// OBSOLETE { FR30BF_INSN_MULUH, SEM_FN_NAME (fr30bf,muluh) }, -// OBSOLETE { FR30BF_INSN_DIV0S, SEM_FN_NAME (fr30bf,div0s) }, -// OBSOLETE { FR30BF_INSN_DIV0U, SEM_FN_NAME (fr30bf,div0u) }, -// OBSOLETE { FR30BF_INSN_DIV1, SEM_FN_NAME (fr30bf,div1) }, -// OBSOLETE { FR30BF_INSN_DIV2, SEM_FN_NAME (fr30bf,div2) }, -// OBSOLETE { FR30BF_INSN_DIV3, SEM_FN_NAME (fr30bf,div3) }, -// OBSOLETE { FR30BF_INSN_DIV4S, SEM_FN_NAME (fr30bf,div4s) }, -// OBSOLETE { FR30BF_INSN_LSL, SEM_FN_NAME (fr30bf,lsl) }, -// OBSOLETE { FR30BF_INSN_LSLI, SEM_FN_NAME (fr30bf,lsli) }, -// OBSOLETE { FR30BF_INSN_LSL2, SEM_FN_NAME (fr30bf,lsl2) }, -// OBSOLETE { FR30BF_INSN_LSR, SEM_FN_NAME (fr30bf,lsr) }, -// OBSOLETE { FR30BF_INSN_LSRI, SEM_FN_NAME (fr30bf,lsri) }, -// OBSOLETE { FR30BF_INSN_LSR2, SEM_FN_NAME (fr30bf,lsr2) }, -// OBSOLETE { FR30BF_INSN_ASR, SEM_FN_NAME (fr30bf,asr) }, -// OBSOLETE { FR30BF_INSN_ASRI, SEM_FN_NAME (fr30bf,asri) }, -// OBSOLETE { FR30BF_INSN_ASR2, SEM_FN_NAME (fr30bf,asr2) }, -// OBSOLETE { FR30BF_INSN_LDI8, SEM_FN_NAME (fr30bf,ldi8) }, -// OBSOLETE { FR30BF_INSN_LDI20, SEM_FN_NAME (fr30bf,ldi20) }, -// OBSOLETE { FR30BF_INSN_LDI32, SEM_FN_NAME (fr30bf,ldi32) }, -// OBSOLETE { FR30BF_INSN_LD, SEM_FN_NAME (fr30bf,ld) }, -// OBSOLETE { FR30BF_INSN_LDUH, SEM_FN_NAME (fr30bf,lduh) }, -// OBSOLETE { FR30BF_INSN_LDUB, SEM_FN_NAME (fr30bf,ldub) }, -// OBSOLETE { FR30BF_INSN_LDR13, SEM_FN_NAME (fr30bf,ldr13) }, -// OBSOLETE { FR30BF_INSN_LDR13UH, SEM_FN_NAME (fr30bf,ldr13uh) }, -// OBSOLETE { FR30BF_INSN_LDR13UB, SEM_FN_NAME (fr30bf,ldr13ub) }, -// OBSOLETE { FR30BF_INSN_LDR14, SEM_FN_NAME (fr30bf,ldr14) }, -// OBSOLETE { FR30BF_INSN_LDR14UH, SEM_FN_NAME (fr30bf,ldr14uh) }, -// OBSOLETE { FR30BF_INSN_LDR14UB, SEM_FN_NAME (fr30bf,ldr14ub) }, -// OBSOLETE { FR30BF_INSN_LDR15, SEM_FN_NAME (fr30bf,ldr15) }, -// OBSOLETE { FR30BF_INSN_LDR15GR, SEM_FN_NAME (fr30bf,ldr15gr) }, -// OBSOLETE { FR30BF_INSN_LDR15DR, SEM_FN_NAME (fr30bf,ldr15dr) }, -// OBSOLETE { FR30BF_INSN_LDR15PS, SEM_FN_NAME (fr30bf,ldr15ps) }, -// OBSOLETE { FR30BF_INSN_ST, SEM_FN_NAME (fr30bf,st) }, -// OBSOLETE { FR30BF_INSN_STH, SEM_FN_NAME (fr30bf,sth) }, -// OBSOLETE { FR30BF_INSN_STB, SEM_FN_NAME (fr30bf,stb) }, -// OBSOLETE { FR30BF_INSN_STR13, SEM_FN_NAME (fr30bf,str13) }, -// OBSOLETE { FR30BF_INSN_STR13H, SEM_FN_NAME (fr30bf,str13h) }, -// OBSOLETE { FR30BF_INSN_STR13B, SEM_FN_NAME (fr30bf,str13b) }, -// OBSOLETE { FR30BF_INSN_STR14, SEM_FN_NAME (fr30bf,str14) }, -// OBSOLETE { FR30BF_INSN_STR14H, SEM_FN_NAME (fr30bf,str14h) }, -// OBSOLETE { FR30BF_INSN_STR14B, SEM_FN_NAME (fr30bf,str14b) }, -// OBSOLETE { FR30BF_INSN_STR15, SEM_FN_NAME (fr30bf,str15) }, -// OBSOLETE { FR30BF_INSN_STR15GR, SEM_FN_NAME (fr30bf,str15gr) }, -// OBSOLETE { FR30BF_INSN_STR15DR, SEM_FN_NAME (fr30bf,str15dr) }, -// OBSOLETE { FR30BF_INSN_STR15PS, SEM_FN_NAME (fr30bf,str15ps) }, -// OBSOLETE { FR30BF_INSN_MOV, SEM_FN_NAME (fr30bf,mov) }, -// OBSOLETE { FR30BF_INSN_MOVDR, SEM_FN_NAME (fr30bf,movdr) }, -// OBSOLETE { FR30BF_INSN_MOVPS, SEM_FN_NAME (fr30bf,movps) }, -// OBSOLETE { FR30BF_INSN_MOV2DR, SEM_FN_NAME (fr30bf,mov2dr) }, -// OBSOLETE { FR30BF_INSN_MOV2PS, SEM_FN_NAME (fr30bf,mov2ps) }, -// OBSOLETE { FR30BF_INSN_JMP, SEM_FN_NAME (fr30bf,jmp) }, -// OBSOLETE { FR30BF_INSN_JMPD, SEM_FN_NAME (fr30bf,jmpd) }, -// OBSOLETE { FR30BF_INSN_CALLR, SEM_FN_NAME (fr30bf,callr) }, -// OBSOLETE { FR30BF_INSN_CALLRD, SEM_FN_NAME (fr30bf,callrd) }, -// OBSOLETE { FR30BF_INSN_CALL, SEM_FN_NAME (fr30bf,call) }, -// OBSOLETE { FR30BF_INSN_CALLD, SEM_FN_NAME (fr30bf,calld) }, -// OBSOLETE { FR30BF_INSN_RET, SEM_FN_NAME (fr30bf,ret) }, -// OBSOLETE { FR30BF_INSN_RET_D, SEM_FN_NAME (fr30bf,ret_d) }, -// OBSOLETE { FR30BF_INSN_INT, SEM_FN_NAME (fr30bf,int) }, -// OBSOLETE { FR30BF_INSN_INTE, SEM_FN_NAME (fr30bf,inte) }, -// OBSOLETE { FR30BF_INSN_RETI, SEM_FN_NAME (fr30bf,reti) }, -// OBSOLETE { FR30BF_INSN_BRAD, SEM_FN_NAME (fr30bf,brad) }, -// OBSOLETE { FR30BF_INSN_BRA, SEM_FN_NAME (fr30bf,bra) }, -// OBSOLETE { FR30BF_INSN_BNOD, SEM_FN_NAME (fr30bf,bnod) }, -// OBSOLETE { FR30BF_INSN_BNO, SEM_FN_NAME (fr30bf,bno) }, -// OBSOLETE { FR30BF_INSN_BEQD, SEM_FN_NAME (fr30bf,beqd) }, -// OBSOLETE { FR30BF_INSN_BEQ, SEM_FN_NAME (fr30bf,beq) }, -// OBSOLETE { FR30BF_INSN_BNED, SEM_FN_NAME (fr30bf,bned) }, -// OBSOLETE { FR30BF_INSN_BNE, SEM_FN_NAME (fr30bf,bne) }, -// OBSOLETE { FR30BF_INSN_BCD, SEM_FN_NAME (fr30bf,bcd) }, -// OBSOLETE { FR30BF_INSN_BC, SEM_FN_NAME (fr30bf,bc) }, -// OBSOLETE { FR30BF_INSN_BNCD, SEM_FN_NAME (fr30bf,bncd) }, -// OBSOLETE { FR30BF_INSN_BNC, SEM_FN_NAME (fr30bf,bnc) }, -// OBSOLETE { FR30BF_INSN_BND, SEM_FN_NAME (fr30bf,bnd) }, -// OBSOLETE { FR30BF_INSN_BN, SEM_FN_NAME (fr30bf,bn) }, -// OBSOLETE { FR30BF_INSN_BPD, SEM_FN_NAME (fr30bf,bpd) }, -// OBSOLETE { FR30BF_INSN_BP, SEM_FN_NAME (fr30bf,bp) }, -// OBSOLETE { FR30BF_INSN_BVD, SEM_FN_NAME (fr30bf,bvd) }, -// OBSOLETE { FR30BF_INSN_BV, SEM_FN_NAME (fr30bf,bv) }, -// OBSOLETE { FR30BF_INSN_BNVD, SEM_FN_NAME (fr30bf,bnvd) }, -// OBSOLETE { FR30BF_INSN_BNV, SEM_FN_NAME (fr30bf,bnv) }, -// OBSOLETE { FR30BF_INSN_BLTD, SEM_FN_NAME (fr30bf,bltd) }, -// OBSOLETE { FR30BF_INSN_BLT, SEM_FN_NAME (fr30bf,blt) }, -// OBSOLETE { FR30BF_INSN_BGED, SEM_FN_NAME (fr30bf,bged) }, -// OBSOLETE { FR30BF_INSN_BGE, SEM_FN_NAME (fr30bf,bge) }, -// OBSOLETE { FR30BF_INSN_BLED, SEM_FN_NAME (fr30bf,bled) }, -// OBSOLETE { FR30BF_INSN_BLE, SEM_FN_NAME (fr30bf,ble) }, -// OBSOLETE { FR30BF_INSN_BGTD, SEM_FN_NAME (fr30bf,bgtd) }, -// OBSOLETE { FR30BF_INSN_BGT, SEM_FN_NAME (fr30bf,bgt) }, -// OBSOLETE { FR30BF_INSN_BLSD, SEM_FN_NAME (fr30bf,blsd) }, -// OBSOLETE { FR30BF_INSN_BLS, SEM_FN_NAME (fr30bf,bls) }, -// OBSOLETE { FR30BF_INSN_BHID, SEM_FN_NAME (fr30bf,bhid) }, -// OBSOLETE { FR30BF_INSN_BHI, SEM_FN_NAME (fr30bf,bhi) }, -// OBSOLETE { FR30BF_INSN_DMOVR13, SEM_FN_NAME (fr30bf,dmovr13) }, -// OBSOLETE { FR30BF_INSN_DMOVR13H, SEM_FN_NAME (fr30bf,dmovr13h) }, -// OBSOLETE { FR30BF_INSN_DMOVR13B, SEM_FN_NAME (fr30bf,dmovr13b) }, -// OBSOLETE { FR30BF_INSN_DMOVR13PI, SEM_FN_NAME (fr30bf,dmovr13pi) }, -// OBSOLETE { FR30BF_INSN_DMOVR13PIH, SEM_FN_NAME (fr30bf,dmovr13pih) }, -// OBSOLETE { FR30BF_INSN_DMOVR13PIB, SEM_FN_NAME (fr30bf,dmovr13pib) }, -// OBSOLETE { FR30BF_INSN_DMOVR15PI, SEM_FN_NAME (fr30bf,dmovr15pi) }, -// OBSOLETE { FR30BF_INSN_DMOV2R13, SEM_FN_NAME (fr30bf,dmov2r13) }, -// OBSOLETE { FR30BF_INSN_DMOV2R13H, SEM_FN_NAME (fr30bf,dmov2r13h) }, -// OBSOLETE { FR30BF_INSN_DMOV2R13B, SEM_FN_NAME (fr30bf,dmov2r13b) }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PI, SEM_FN_NAME (fr30bf,dmov2r13pi) }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PIH, SEM_FN_NAME (fr30bf,dmov2r13pih) }, -// OBSOLETE { FR30BF_INSN_DMOV2R13PIB, SEM_FN_NAME (fr30bf,dmov2r13pib) }, -// OBSOLETE { FR30BF_INSN_DMOV2R15PD, SEM_FN_NAME (fr30bf,dmov2r15pd) }, -// OBSOLETE { FR30BF_INSN_LDRES, SEM_FN_NAME (fr30bf,ldres) }, -// OBSOLETE { FR30BF_INSN_STRES, SEM_FN_NAME (fr30bf,stres) }, -// OBSOLETE { FR30BF_INSN_COPOP, SEM_FN_NAME (fr30bf,copop) }, -// OBSOLETE { FR30BF_INSN_COPLD, SEM_FN_NAME (fr30bf,copld) }, -// OBSOLETE { FR30BF_INSN_COPST, SEM_FN_NAME (fr30bf,copst) }, -// OBSOLETE { FR30BF_INSN_COPSV, SEM_FN_NAME (fr30bf,copsv) }, -// OBSOLETE { FR30BF_INSN_NOP, SEM_FN_NAME (fr30bf,nop) }, -// OBSOLETE { FR30BF_INSN_ANDCCR, SEM_FN_NAME (fr30bf,andccr) }, -// OBSOLETE { FR30BF_INSN_ORCCR, SEM_FN_NAME (fr30bf,orccr) }, -// OBSOLETE { FR30BF_INSN_STILM, SEM_FN_NAME (fr30bf,stilm) }, -// OBSOLETE { FR30BF_INSN_ADDSP, SEM_FN_NAME (fr30bf,addsp) }, -// OBSOLETE { FR30BF_INSN_EXTSB, SEM_FN_NAME (fr30bf,extsb) }, -// OBSOLETE { FR30BF_INSN_EXTUB, SEM_FN_NAME (fr30bf,extub) }, -// OBSOLETE { FR30BF_INSN_EXTSH, SEM_FN_NAME (fr30bf,extsh) }, -// OBSOLETE { FR30BF_INSN_EXTUH, SEM_FN_NAME (fr30bf,extuh) }, -// OBSOLETE { FR30BF_INSN_LDM0, SEM_FN_NAME (fr30bf,ldm0) }, -// OBSOLETE { FR30BF_INSN_LDM1, SEM_FN_NAME (fr30bf,ldm1) }, -// OBSOLETE { FR30BF_INSN_STM0, SEM_FN_NAME (fr30bf,stm0) }, -// OBSOLETE { FR30BF_INSN_STM1, SEM_FN_NAME (fr30bf,stm1) }, -// OBSOLETE { FR30BF_INSN_ENTER, SEM_FN_NAME (fr30bf,enter) }, -// OBSOLETE { FR30BF_INSN_LEAVE, SEM_FN_NAME (fr30bf,leave) }, -// OBSOLETE { FR30BF_INSN_XCHB, SEM_FN_NAME (fr30bf,xchb) }, -// OBSOLETE { 0, 0 } -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* Add the semantic fns to IDESC_TABLE. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE SEM_FN_NAME (fr30bf,init_idesc_table) (SIM_CPU *current_cpu) -// OBSOLETE { -// OBSOLETE IDESC *idesc_table = CPU_IDESC (current_cpu); -// OBSOLETE const struct sem_fn_desc *sf; -// OBSOLETE int mach_num = MACH_NUM (CPU_MACH (current_cpu)); -// OBSOLETE -// OBSOLETE for (sf = &sem_fns[0]; sf->fn != 0; ++sf) -// OBSOLETE { -// OBSOLETE const CGEN_INSN *insn = idesc_table[sf->index].idata; -// OBSOLETE int valid_p = (CGEN_INSN_VIRTUAL_P (insn) -// OBSOLETE || CGEN_INSN_MACH_HAS_P (insn, mach_num)); -// OBSOLETE #if FAST_P -// OBSOLETE if (valid_p) -// OBSOLETE idesc_table[sf->index].sem_fast = sf->fn; -// OBSOLETE else -// OBSOLETE idesc_table[sf->index].sem_fast = SEM_FN_NAME (fr30bf,x_invalid); -// OBSOLETE #else -// OBSOLETE if (valid_p) -// OBSOLETE idesc_table[sf->index].sem_full = sf->fn; -// OBSOLETE else -// OBSOLETE idesc_table[sf->index].sem_full = SEM_FN_NAME (fr30bf,x_invalid); -// OBSOLETE #endif -// OBSOLETE } -// OBSOLETE } diff --git a/sim/fr30/sim-if.c b/sim/fr30/sim-if.c deleted file mode 100644 index e5c5c5776c0..00000000000 --- a/sim/fr30/sim-if.c +++ /dev/null @@ -1,208 +0,0 @@ -// OBSOLETE /* Main simulator entry points specific to the FR30. -// OBSOLETE Copyright (C) 1998, 1999 Free Software Foundation, Inc. -// OBSOLETE Contributed by Cygnus Solutions. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #ifdef HAVE_STDLIB_H -// OBSOLETE #include -// OBSOLETE #endif -// OBSOLETE #include "sim-options.h" -// OBSOLETE #include "libiberty.h" -// OBSOLETE #include "bfd.h" -// OBSOLETE -// OBSOLETE static void free_state (SIM_DESC); -// OBSOLETE static void print_fr30_misc_cpu (SIM_CPU *cpu, int verbose); -// OBSOLETE -// OBSOLETE /* Records simulator descriptor so utilities like fr30_dump_regs can be -// OBSOLETE called from gdb. */ -// OBSOLETE SIM_DESC current_state; -// OBSOLETE -// OBSOLETE /* Cover function of sim_state_free to free the cpu buffers as well. */ -// OBSOLETE -// OBSOLETE static void -// OBSOLETE free_state (SIM_DESC sd) -// OBSOLETE { -// OBSOLETE if (STATE_MODULES (sd) != NULL) -// OBSOLETE sim_module_uninstall (sd); -// OBSOLETE sim_cpu_free_all (sd); -// OBSOLETE sim_state_free (sd); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Create an instance of the simulator. */ -// OBSOLETE -// OBSOLETE SIM_DESC -// OBSOLETE sim_open (kind, callback, abfd, argv) -// OBSOLETE SIM_OPEN_KIND kind; -// OBSOLETE host_callback *callback; -// OBSOLETE struct _bfd *abfd; -// OBSOLETE char **argv; -// OBSOLETE { -// OBSOLETE char c; -// OBSOLETE int i; -// OBSOLETE SIM_DESC sd = sim_state_alloc (kind, callback); -// OBSOLETE -// OBSOLETE /* The cpu data is kept in a separately allocated chunk of memory. */ -// OBSOLETE if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK) -// OBSOLETE { -// OBSOLETE free_state (sd); -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE #if 0 /* FIXME: pc is in mach-specific struct */ -// OBSOLETE /* FIXME: watchpoints code shouldn't need this */ -// OBSOLETE { -// OBSOLETE SIM_CPU *current_cpu = STATE_CPU (sd, 0); -// OBSOLETE STATE_WATCHPOINTS (sd)->pc = &(PC); -// OBSOLETE STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC); -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK) -// OBSOLETE { -// OBSOLETE free_state (sd); -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE #if 0 /* FIXME: 'twould be nice if we could do this */ -// OBSOLETE /* These options override any module options. -// OBSOLETE Obviously ambiguity should be avoided, however the caller may wish to -// OBSOLETE augment the meaning of an option. */ -// OBSOLETE if (extra_options != NULL) -// OBSOLETE sim_add_option_table (sd, extra_options); -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE /* getopt will print the error message so we just have to exit if this fails. -// OBSOLETE FIXME: Hmmm... in the case of gdb we need getopt to call -// OBSOLETE print_filtered. */ -// OBSOLETE if (sim_parse_args (sd, argv) != SIM_RC_OK) -// OBSOLETE { -// OBSOLETE free_state (sd); -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE #if 0 -// OBSOLETE /* Allocate a handler for the control registers and other devices -// OBSOLETE if no memory for that range has been allocated by the user. -// OBSOLETE All are allocated in one chunk to keep things from being -// OBSOLETE unnecessarily complicated. */ -// OBSOLETE if (sim_core_read_buffer (sd, NULL, read_map, &c, FR30_DEVICE_ADDR, 1) == 0) -// OBSOLETE sim_core_attach (sd, NULL, -// OBSOLETE 0 /*level*/, -// OBSOLETE access_read_write, -// OBSOLETE 0 /*space ???*/, -// OBSOLETE FR30_DEVICE_ADDR, FR30_DEVICE_LEN /*nr_bytes*/, -// OBSOLETE 0 /*modulo*/, -// OBSOLETE &fr30_devices, -// OBSOLETE NULL /*buffer*/); -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE /* Allocate core managed memory if none specified by user. -// OBSOLETE Use address 4 here in case the user wanted address 0 unmapped. */ -// OBSOLETE if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0) -// OBSOLETE sim_do_commandf (sd, "memory region 0,0x%lx", FR30_DEFAULT_MEM_SIZE); -// OBSOLETE -// OBSOLETE /* check for/establish the reference program image */ -// OBSOLETE if (sim_analyze_program (sd, -// OBSOLETE (STATE_PROG_ARGV (sd) != NULL -// OBSOLETE ? *STATE_PROG_ARGV (sd) -// OBSOLETE : NULL), -// OBSOLETE abfd) != SIM_RC_OK) -// OBSOLETE { -// OBSOLETE free_state (sd); -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Establish any remaining configuration options. */ -// OBSOLETE if (sim_config (sd) != SIM_RC_OK) -// OBSOLETE { -// OBSOLETE free_state (sd); -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE if (sim_post_argv_init (sd) != SIM_RC_OK) -// OBSOLETE { -// OBSOLETE free_state (sd); -// OBSOLETE return 0; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Open a copy of the cpu descriptor table. */ -// OBSOLETE { -// OBSOLETE CGEN_CPU_DESC cd = fr30_cgen_cpu_open_1 (STATE_ARCHITECTURE (sd)->printable_name, -// OBSOLETE CGEN_ENDIAN_BIG); -// OBSOLETE for (i = 0; i < MAX_NR_PROCESSORS; ++i) -// OBSOLETE { -// OBSOLETE SIM_CPU *cpu = STATE_CPU (sd, i); -// OBSOLETE CPU_CPU_DESC (cpu) = cd; -// OBSOLETE CPU_DISASSEMBLER (cpu) = sim_cgen_disassemble_insn; -// OBSOLETE } -// OBSOLETE fr30_cgen_init_dis (cd); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Initialize various cgen things not done by common framework. -// OBSOLETE Must be done after fr30_cgen_cpu_open. */ -// OBSOLETE cgen_init (sd); -// OBSOLETE -// OBSOLETE /* Store in a global so things like sparc32_dump_regs can be invoked -// OBSOLETE from the gdb command line. */ -// OBSOLETE current_state = sd; -// OBSOLETE -// OBSOLETE return sd; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE sim_close (sd, quitting) -// OBSOLETE SIM_DESC sd; -// OBSOLETE int quitting; -// OBSOLETE { -// OBSOLETE fr30_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0))); -// OBSOLETE sim_module_uninstall (sd); -// OBSOLETE } -// OBSOLETE -// OBSOLETE SIM_RC -// OBSOLETE sim_create_inferior (sd, abfd, argv, envp) -// OBSOLETE SIM_DESC sd; -// OBSOLETE struct _bfd *abfd; -// OBSOLETE char **argv; -// OBSOLETE char **envp; -// OBSOLETE { -// OBSOLETE SIM_CPU *current_cpu = STATE_CPU (sd, 0); -// OBSOLETE SIM_ADDR addr; -// OBSOLETE -// OBSOLETE if (abfd != NULL) -// OBSOLETE addr = bfd_get_start_address (abfd); -// OBSOLETE else -// OBSOLETE addr = 0; -// OBSOLETE sim_pc_set (current_cpu, addr); -// OBSOLETE -// OBSOLETE #if 0 -// OBSOLETE STATE_ARGV (sd) = sim_copy_argv (argv); -// OBSOLETE STATE_ENVP (sd) = sim_copy_argv (envp); -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE return SIM_RC_OK; -// OBSOLETE } -// OBSOLETE -// OBSOLETE void -// OBSOLETE sim_do_command (sd, cmd) -// OBSOLETE SIM_DESC sd; -// OBSOLETE char *cmd; -// OBSOLETE { -// OBSOLETE if (sim_args_command (sd, cmd) != SIM_RC_OK) -// OBSOLETE sim_io_eprintf (sd, "Unknown command `%s'\n", cmd); -// OBSOLETE } diff --git a/sim/fr30/sim-main.h b/sim/fr30/sim-main.h deleted file mode 100644 index 91700fb63a6..00000000000 --- a/sim/fr30/sim-main.h +++ /dev/null @@ -1,70 +0,0 @@ -// OBSOLETE /* Main header for the fr30. */ -// OBSOLETE -// OBSOLETE #define USING_SIM_BASE_H /* FIXME: quick hack */ -// OBSOLETE -// OBSOLETE struct _sim_cpu; /* FIXME: should be in sim-basics.h */ -// OBSOLETE typedef struct _sim_cpu SIM_CPU; -// OBSOLETE -// OBSOLETE /* sim-basics.h includes config.h but cgen-types.h must be included before -// OBSOLETE sim-basics.h and cgen-types.h needs config.h. */ -// OBSOLETE #include "config.h" -// OBSOLETE -// OBSOLETE #include "symcat.h" -// OBSOLETE #include "sim-basics.h" -// OBSOLETE #include "cgen-types.h" -// OBSOLETE #include "fr30-desc.h" -// OBSOLETE #include "fr30-opc.h" -// OBSOLETE #include "arch.h" -// OBSOLETE -// OBSOLETE /* These must be defined before sim-base.h. */ -// OBSOLETE typedef USI sim_cia; -// OBSOLETE -// OBSOLETE #define CIA_GET(cpu) CPU_PC_GET (cpu) -// OBSOLETE #define CIA_SET(cpu,val) CPU_PC_SET ((cpu), (val)) -// OBSOLETE -// OBSOLETE #include "sim-base.h" -// OBSOLETE #include "cgen-sim.h" -// OBSOLETE #include "fr30-sim.h" -// OBSOLETE -// OBSOLETE /* The _sim_cpu struct. */ -// OBSOLETE -// OBSOLETE struct _sim_cpu { -// OBSOLETE /* sim/common cpu base. */ -// OBSOLETE sim_cpu_base base; -// OBSOLETE -// OBSOLETE /* Static parts of cgen. */ -// OBSOLETE CGEN_CPU cgen_cpu; -// OBSOLETE -// OBSOLETE /* CPU specific parts go here. -// OBSOLETE Note that in files that don't need to access these pieces WANT_CPU_FOO -// OBSOLETE won't be defined and thus these parts won't appear. This is ok in the -// OBSOLETE sense that things work. It is a source of bugs though. -// OBSOLETE One has to of course be careful to not take the size of this -// OBSOLETE struct and no structure members accessed in non-cpu specific files can -// OBSOLETE go after here. Oh for a better language. */ -// OBSOLETE #if defined (WANT_CPU_FR30BF) -// OBSOLETE FR30BF_CPU_DATA cpu_data; -// OBSOLETE #endif -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* The sim_state struct. */ -// OBSOLETE -// OBSOLETE struct sim_state { -// OBSOLETE sim_cpu *cpu; -// OBSOLETE #define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) -// OBSOLETE -// OBSOLETE CGEN_STATE cgen_state; -// OBSOLETE -// OBSOLETE sim_state_base base; -// OBSOLETE }; -// OBSOLETE -// OBSOLETE /* Misc. */ -// OBSOLETE -// OBSOLETE /* Catch address exceptions. */ -// OBSOLETE extern SIM_CORE_SIGNAL_FN fr30_core_signal; -// OBSOLETE #define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \ -// OBSOLETE fr30_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), \ -// OBSOLETE (TRANSFER), (ERROR)) -// OBSOLETE -// OBSOLETE /* Default memory size. */ -// OBSOLETE #define FR30_DEFAULT_MEM_SIZE 0x800000 /* 8M */ diff --git a/sim/fr30/tconfig.in b/sim/fr30/tconfig.in deleted file mode 100644 index a67e2275de6..00000000000 --- a/sim/fr30/tconfig.in +++ /dev/null @@ -1,42 +0,0 @@ -/* FR30 target configuration file. -*- C -*- */ - -/* Define this if the simulator can vary the size of memory. - See the xxx simulator for an example. - This enables the `-m size' option. - The memory size is stored in STATE_MEM_SIZE. */ -/* Not used for FR30 since we use the memory module. TODO -- check this */ -/* #define SIM_HAVE_MEM_SIZE */ - -/* See sim-hload.c. We properly handle LMA. -- TODO: check this */ -#define SIM_HANDLES_LMA 1 - -/* For MSPR support. FIXME: revisit. */ -#define WITH_DEVICES 1 - -/* FIXME: Revisit. */ -#ifdef HAVE_DV_SOCKSER -MODULE_INSTALL_FN dv_sockser_install; -#define MODULE_LIST dv_sockser_install, -#endif - -#if 0 -/* Enable watchpoints. */ -#define WITH_WATCHPOINTS 1 -#endif - -/* ??? Temporary hack until model support unified. */ -#define SIM_HAVE_MODEL - -/* Define this to enable the intrinsic breakpoint mechanism. */ -/* FIXME: may be able to remove SIM_HAVE_BREAKPOINTS since it essentially - duplicates ifdef SIM_BREAKPOINT (right?) */ -#if 0 -#define SIM_HAVE_BREAKPOINTS -#define SIM_BREAKPOINT { 0x10, 0xf1 } -#define SIM_BREAKPOINT_SIZE 2 -#endif - -/* This is a global setting. Different cpu families can't mix-n-match -scache - and -pbb. However some cpu families may use -simple while others use - one of -scache/-pbb. ???? */ -#define WITH_SCACHE_PBB 1 diff --git a/sim/fr30/traps.c b/sim/fr30/traps.c deleted file mode 100644 index 68523591752..00000000000 --- a/sim/fr30/traps.c +++ /dev/null @@ -1,218 +0,0 @@ -// OBSOLETE /* fr30 exception, interrupt, and trap (EIT) support -// OBSOLETE Copyright (C) 1998, 1999 Free Software Foundation, Inc. -// OBSOLETE Contributed by Cygnus Solutions. -// OBSOLETE -// OBSOLETE This file is part of the GNU simulators. -// OBSOLETE -// OBSOLETE This program is free software; you can redistribute it and/or modify -// OBSOLETE it under the terms of the GNU General Public License as published by -// OBSOLETE the Free Software Foundation; either version 2, or (at your option) -// OBSOLETE any later version. -// OBSOLETE -// OBSOLETE This program is distributed in the hope that it will be useful, -// OBSOLETE but WITHOUT ANY WARRANTY; without even the implied warranty of -// OBSOLETE MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// OBSOLETE GNU General Public License for more details. -// OBSOLETE -// OBSOLETE You should have received a copy of the GNU General Public License along -// OBSOLETE with this program; if not, write to the Free Software Foundation, Inc., -// OBSOLETE 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -// OBSOLETE -// OBSOLETE #include "sim-main.h" -// OBSOLETE #include "targ-vals.h" -// OBSOLETE #include "cgen-engine.h" -// OBSOLETE -// OBSOLETE /* The semantic code invokes this for invalid (unrecognized) instructions. */ -// OBSOLETE -// OBSOLETE SEM_PC -// OBSOLETE sim_engine_invalid_insn (SIM_CPU *current_cpu, IADDR cia, SEM_PC vpc) -// OBSOLETE { -// OBSOLETE SIM_DESC sd = CPU_STATE (current_cpu); -// OBSOLETE -// OBSOLETE #if 0 -// OBSOLETE if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) -// OBSOLETE { -// OBSOLETE h_bsm_set (current_cpu, h_sm_get (current_cpu)); -// OBSOLETE h_bie_set (current_cpu, h_ie_get (current_cpu)); -// OBSOLETE h_bcond_set (current_cpu, h_cond_get (current_cpu)); -// OBSOLETE /* sm not changed */ -// OBSOLETE h_ie_set (current_cpu, 0); -// OBSOLETE h_cond_set (current_cpu, 0); -// OBSOLETE -// OBSOLETE h_bpc_set (current_cpu, cia); -// OBSOLETE -// OBSOLETE sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL, -// OBSOLETE EIT_RSVD_INSN_ADDR); -// OBSOLETE } -// OBSOLETE else -// OBSOLETE #endif -// OBSOLETE sim_engine_halt (sd, current_cpu, NULL, cia, sim_stopped, SIM_SIGILL); -// OBSOLETE return vpc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Process an address exception. */ -// OBSOLETE -// OBSOLETE void -// OBSOLETE fr30_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia, -// OBSOLETE unsigned int map, int nr_bytes, address_word addr, -// OBSOLETE transfer_type transfer, sim_core_signals sig) -// OBSOLETE { -// OBSOLETE #if 0 -// OBSOLETE if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) -// OBSOLETE { -// OBSOLETE h_bsm_set (current_cpu, h_sm_get (current_cpu)); -// OBSOLETE h_bie_set (current_cpu, h_ie_get (current_cpu)); -// OBSOLETE h_bcond_set (current_cpu, h_cond_get (current_cpu)); -// OBSOLETE /* sm not changed */ -// OBSOLETE h_ie_set (current_cpu, 0); -// OBSOLETE h_cond_set (current_cpu, 0); -// OBSOLETE -// OBSOLETE h_bpc_set (current_cpu, cia); -// OBSOLETE -// OBSOLETE sim_engine_restart (CPU_STATE (current_cpu), current_cpu, NULL, -// OBSOLETE EIT_ADDR_EXCP_ADDR); -// OBSOLETE } -// OBSOLETE else -// OBSOLETE #endif -// OBSOLETE sim_core_signal (sd, current_cpu, cia, map, nr_bytes, addr, -// OBSOLETE transfer, sig); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Read/write functions for system call interface. */ -// OBSOLETE -// OBSOLETE static int -// OBSOLETE syscall_read_mem (host_callback *cb, struct cb_syscall *sc, -// OBSOLETE unsigned long taddr, char *buf, int bytes) -// OBSOLETE { -// OBSOLETE SIM_DESC sd = (SIM_DESC) sc->p1; -// OBSOLETE SIM_CPU *cpu = (SIM_CPU *) sc->p2; -// OBSOLETE -// OBSOLETE return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes); -// OBSOLETE } -// OBSOLETE -// OBSOLETE static int -// OBSOLETE syscall_write_mem (host_callback *cb, struct cb_syscall *sc, -// OBSOLETE unsigned long taddr, const char *buf, int bytes) -// OBSOLETE { -// OBSOLETE SIM_DESC sd = (SIM_DESC) sc->p1; -// OBSOLETE SIM_CPU *cpu = (SIM_CPU *) sc->p2; -// OBSOLETE -// OBSOLETE return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Subroutine of fr30_int to save the PS and PC and setup for INT and INTE. */ -// OBSOLETE -// OBSOLETE static void -// OBSOLETE setup_int (SIM_CPU *current_cpu, PCADDR pc) -// OBSOLETE { -// OBSOLETE USI ssp = fr30bf_h_dr_get (current_cpu, H_DR_SSP); -// OBSOLETE USI ps = fr30bf_h_ps_get (current_cpu); -// OBSOLETE -// OBSOLETE ssp -= 4; -// OBSOLETE SETMEMSI (current_cpu, pc, ssp, ps); -// OBSOLETE ssp -= 4; -// OBSOLETE SETMEMSI (current_cpu, pc, ssp, pc + 2); -// OBSOLETE fr30bf_h_dr_set (current_cpu, H_DR_SSP, ssp); -// OBSOLETE fr30bf_h_sbit_set (current_cpu, 0); -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Trap support. -// OBSOLETE The result is the pc address to continue at. -// OBSOLETE Preprocessing like saving the various registers has already been done. */ -// OBSOLETE -// OBSOLETE USI -// OBSOLETE fr30_int (SIM_CPU *current_cpu, PCADDR pc, int num) -// OBSOLETE { -// OBSOLETE SIM_DESC sd = CPU_STATE (current_cpu); -// OBSOLETE host_callback *cb = STATE_CALLBACK (sd); -// OBSOLETE -// OBSOLETE #ifdef SIM_HAVE_BREAKPOINTS -// OBSOLETE /* Check for breakpoints "owned" by the simulator first, regardless -// OBSOLETE of --environment. */ -// OBSOLETE if (num == TRAP_BREAKPOINT) -// OBSOLETE { -// OBSOLETE /* First try sim-break.c. If it's a breakpoint the simulator "owns" -// OBSOLETE it doesn't return. Otherwise it returns and let's us try. */ -// OBSOLETE sim_handle_breakpoint (sd, current_cpu, pc); -// OBSOLETE /* Fall through. */ -// OBSOLETE } -// OBSOLETE #endif -// OBSOLETE -// OBSOLETE if (STATE_ENVIRONMENT (sd) == OPERATING_ENVIRONMENT) -// OBSOLETE { -// OBSOLETE /* The new pc is the trap vector entry. -// OBSOLETE We assume there's a branch there to some handler. */ -// OBSOLETE USI new_pc; -// OBSOLETE setup_int (current_cpu, pc); -// OBSOLETE fr30bf_h_ibit_set (current_cpu, 0); -// OBSOLETE new_pc = GETMEMSI (current_cpu, pc, -// OBSOLETE fr30bf_h_dr_get (current_cpu, H_DR_TBR) -// OBSOLETE + 1024 - ((num + 1) * 4)); -// OBSOLETE return new_pc; -// OBSOLETE } -// OBSOLETE -// OBSOLETE switch (num) -// OBSOLETE { -// OBSOLETE case TRAP_SYSCALL : -// OBSOLETE { -// OBSOLETE /* TODO: find out what the ABI for this is */ -// OBSOLETE CB_SYSCALL s; -// OBSOLETE -// OBSOLETE CB_SYSCALL_INIT (&s); -// OBSOLETE s.func = fr30bf_h_gr_get (current_cpu, 0); -// OBSOLETE s.arg1 = fr30bf_h_gr_get (current_cpu, 4); -// OBSOLETE s.arg2 = fr30bf_h_gr_get (current_cpu, 5); -// OBSOLETE s.arg3 = fr30bf_h_gr_get (current_cpu, 6); -// OBSOLETE -// OBSOLETE if (s.func == TARGET_SYS_exit) -// OBSOLETE { -// OBSOLETE sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1); -// OBSOLETE } -// OBSOLETE -// OBSOLETE s.p1 = (PTR) sd; -// OBSOLETE s.p2 = (PTR) current_cpu; -// OBSOLETE s.read_mem = syscall_read_mem; -// OBSOLETE s.write_mem = syscall_write_mem; -// OBSOLETE cb_syscall (cb, &s); -// OBSOLETE fr30bf_h_gr_set (current_cpu, 2, s.errcode); /* TODO: check this one */ -// OBSOLETE fr30bf_h_gr_set (current_cpu, 4, s.result); -// OBSOLETE fr30bf_h_gr_set (current_cpu, 1, s.result2); /* TODO: check this one */ -// OBSOLETE break; -// OBSOLETE } -// OBSOLETE -// OBSOLETE case TRAP_BREAKPOINT: -// OBSOLETE sim_engine_halt (sd, current_cpu, NULL, pc, -// OBSOLETE sim_stopped, SIM_SIGTRAP); -// OBSOLETE break; -// OBSOLETE -// OBSOLETE default : -// OBSOLETE { -// OBSOLETE USI new_pc; -// OBSOLETE setup_int (current_cpu, pc); -// OBSOLETE fr30bf_h_ibit_set (current_cpu, 0); -// OBSOLETE new_pc = GETMEMSI (current_cpu, pc, -// OBSOLETE fr30bf_h_dr_get (current_cpu, H_DR_TBR) -// OBSOLETE + 1024 - ((num + 1) * 4)); -// OBSOLETE return new_pc; -// OBSOLETE } -// OBSOLETE } -// OBSOLETE -// OBSOLETE /* Fake an "reti" insn. -// OBSOLETE Since we didn't push anything to stack, all we need to do is -// OBSOLETE update pc. */ -// OBSOLETE return pc + 2; -// OBSOLETE } -// OBSOLETE -// OBSOLETE USI -// OBSOLETE fr30_inte (SIM_CPU *current_cpu, PCADDR pc, int num) -// OBSOLETE { -// OBSOLETE /* The new pc is the trap #9 vector entry. -// OBSOLETE We assume there's a branch there to some handler. */ -// OBSOLETE USI new_pc; -// OBSOLETE setup_int (current_cpu, pc); -// OBSOLETE fr30bf_h_ilm_set (current_cpu, 4); -// OBSOLETE new_pc = GETMEMSI (current_cpu, pc, -// OBSOLETE fr30bf_h_dr_get (current_cpu, H_DR_TBR) -// OBSOLETE + 1024 - ((9 + 1) * 4)); -// OBSOLETE return new_pc; -// OBSOLETE } diff --git a/sim/mn10200/ChangeLog b/sim/mn10200/ChangeLog deleted file mode 100644 index ea930dcf794..00000000000 --- a/sim/mn10200/ChangeLog +++ /dev/null @@ -1,472 +0,0 @@ -2004-06-28 Andrew Cagney - - * interp.c: Rename ui_loop_hook to deprecated_ui_loop_hook. - -2003-02-27 Andrew Cagney - - * interp.c (sim_open, sim_create_inferior): Rename _bfd to bfd. - -2002-06-16 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -2002-06-09 Andrew Cagney - - * Makefile.in (INCLUDE): Update path to callback.h. - * mn10200_sim.h: Include "gdb/callback.h" and "gdb/remote-sim.h". - -2001-04-15 J.T. Conklin - - * Makefile.in (simops.o): Add simops.h to dependency list. - -Tue May 23 21:39:23 2000 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Thu Sep 2 18:15:53 1999 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -1999-05-08 Felix Lee - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -1999-04-06 Keith Seitz - - * interp.c (sim_stop): Set the sim's exception - to SIGINT. - -1999-04-02 Keith Seitz - - * interp.c (UI_LOOP_POLL_INTERVAL): Define. Used to tweak the - frequency at which ui_loop_hook is called. - (ui_loop_hook_counter): New global defined when NEED_UI_LOOP_HOOK - is defined. - (sim_resume): Call ui_loop_hook (if defined) when the interval - passes. - * Makefile.in (SIM_EXTRA_CFLAGS): Include NEED_UI_LOOP_HOOK. - -Wed Jun 17 11:37:59 1998 Mark Alexander - - * Makefile.in: Define NL_TARGET so that targ-vals.h will be used - instead of syscall.h. - * simops.c: Use targ-vals.h instead of syscall.h. - -Tue Apr 28 18:33:31 1998 Geoffrey Noer - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Sun Apr 26 15:31:55 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Sun Apr 26 15:19:58 1998 Tom Tromey - - * acconfig.h: New file. - * configure.in: Reverted change of Apr 24; use sinclude again. - -Fri Apr 24 14:16:40 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Fri Apr 24 11:19:13 1998 Tom Tromey - - * configure.in: Don't call sinclude. - -Thu Apr 23 09:48:14 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Sat Apr 4 20:36:25 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Mar 27 16:15:52 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 25 12:35:29 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 18 12:38:12 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Feb 17 12:46:22 1998 Andrew Cagney - - * interp.c (sim_store_register, sim_fetch_register): Pass in - length parameter. Return -1. - -Sun Feb 1 16:47:51 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Sat Jan 31 18:15:41 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Jan 19 22:26:29 1998 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Jan 13 00:01:40 1998 Jeffrey A Law (law@cygnus.com) - - * simops.c: Stores to abs16 memory addresses zero extend the - abs16 address. - -Mon Dec 15 23:17:11 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Thu Dec 4 09:21:05 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Oct 22 14:43:00 1997 Andrew Cagney - - * interp.c (sim_load): Pass lma_p and sim_write args to - sim_load_file. - -Fri Oct 3 09:28:00 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Sep 24 17:38:57 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Sep 23 11:04:38 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Sep 22 11:46:20 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Sep 19 17:45:25 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Sep 15 17:36:15 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Thu Sep 4 17:21:23 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Sep 2 18:41:23 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: PC relative instructions are relative to the next - instruction, not the current instruction. - -Wed Aug 27 18:13:22 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Tue Aug 26 10:40:45 1997 Andrew Cagney - - * interp.c (sim_kill): Delete. - (sim_create_inferior): Add ABFD argument. - (sim_load): Move setting of PC from here. - (sim_create_inferior): To here. - -Mon Aug 25 17:50:22 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Mon Aug 25 16:14:44 1997 Andrew Cagney - - * interp.c (sim_open): Add ABFD argument. - -Tue Jun 24 13:44:08 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (sim_resume): Clear State.exited. - (sim_stop_reason): If State.exited is nonzero, then indicate that - the simulator exited instead of stopped. - * mn10200_sim.h (struct _state): Add exited field. - * simops.c (syscall): Set State.exited for SYS_exit. - -Tue May 20 17:45:47 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c: Replace all references to load_mem and store_mem - with references to load_byte, load_half, load_3_byte, load_word - and store_byte, store_half, store_3_byte, store_word. - (INLINE): Delete definition. - (load_mem_big): Likewise. - (max_mem): Make it global. - (dispatch): Make this function inline. - (load_mem, store_mem): Delete functions. - * mn10200_sim.h (INLINE): Define. - (RLW): Delete unused definition. - (load_mem, store_mem): Delete declarations. - (load_mem_big): New definition. - (load_byte, load_half, load_3_byte, load_word): New functions. - (store_byte, store_half, store_3_byte, store_word): New functions. - * simops.c: Replace all references to load_mem and store_mem - with references to load_byte, load_half, load_3_byte, load_word - and store_byte, store_half, store_3_byte, store_word. - -Tue May 20 10:21:00 1997 Andrew Cagney - - * interp.c (sim_open): Add callback argument. - (sim_set_callbacks): Delete SIM_DESC argument. - -Sun May 18 16:59:09 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (compare_simops): New function. - (sim_open): Sort the Simops table before inserting entries - into the hash table. - -Fri May 16 16:29:18 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (load_mem): Fix formatting/indention problems with - last change. If we get a load from an out of range address, - abort instead of returning zero. - (store_mem): Abort if we try to store to an out of range address. - -Wed May 14 21:21:30 1997 Bob Manson - - * simops.c (OP_F010): Fix some arguments to correspond - with reality (types of arguments passed to lseek, read, - write, open). - - * interp.c (max_mem): New variable. - (load_mem): Check memory address against max_mem to - avoid some self-destructive behaviors. - -Tue May 13 21:45:24 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix typo in cc0 setting for lsr. - -Tue May 6 13:22:12 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c: Random typo/thinko cleanups. - -Thu Apr 24 00:39:51 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Apr 21 10:29:30 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix typo in "open" syscall emulation. - -Fri Apr 18 14:04:31 1997 Andrew Cagney - - * interp.c (sim_stop): Add stub function. - -Thu Apr 17 03:23:58 1997 Doug Evans - - * Makefile.in (SIM_OBJS): Add sim-load.o. - * interp.c (sim_kind, myname): New static locals. - (sim_open): Set sim_kind, myname. Ignore -E arg. - (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to - load file into simulator. Set start address from bfd. - (sim_create_inferior): Return SIM_RC. Delete arg start_address. - -Wed Apr 16 18:06:50 1997 Andrew Cagney - - * simops.c (OP_F010): SYS_execv, SYS_time, SYS_times, SYS_utime - only include if implemented by host. - -Mon Apr 7 15:45:02 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Fri Apr 4 20:01:56 1997 Ian Lance Taylor - - * Makefile.in: Change mn10200-opc.o to m10200-opc.o, to match - corresponding change in opcodes directory. - -Wed Apr 2 15:06:28 1997 Doug Evans - - * interp.c (sim_open): New arg `kind'. - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Apr 2 14:34:19 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Thu Mar 20 20:28:14 1997 Jeffrey A Law (law@cygnus.com) - - * mn10200_sim.h: Protect uses of "signed" to cater to broken - non-ansi compilers (HPs). Don't use #error for the same reason. - -Tue Mar 18 12:23:31 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Don't sign-extend immediate for "mov imm16,an". - Simplify "sub" handling. Fix "mul" to properly sign extend - operands. Set CF appropriately for btst imm16,dn. Implement "rti". - - * gencode.c: Delete unused "Opcodes" and "curop" variables. - -Wed Mar 19 01:14:00 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Mar 17 15:10:07 1997 Andrew Cagney - - * configure: Re-generate. - -Fri Mar 14 10:34:11 1997 Michael Meissner - - * configure: Regenerate to track ../common/aclocal.m4 changes. - -Thu Mar 13 12:53:14 1997 Doug Evans - - * interp.c (sim_open): New SIM_DESC result. Argument is now - in argv form. - (other sim_*): New SIM_DESC argument. - -Wed Mar 12 15:02:35 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix typo for "bclr". - -Wed Feb 26 16:46:13 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Handle new calling convention in emulated syscall - code. - -Mon Feb 24 14:25:11 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (load_mem_big): Add some missing parens. - -Wed Feb 19 23:19:08 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Don't use "long long" data types for intermediate - values in "divu", "mul" and "mulu" instructions. - -Fri Feb 14 02:46:46 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (hash): Rework to be more efficient. - (dispatch): Renamed from lookup_hash. Dispatch to the target - function and update the PC here. - (load_mem_big): Now a macro. - (sim_resume): Restructure code to read an insn, determine its - length, call dispatch routines, etc to be much more efficient. - -Fri Feb 7 12:59:36 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (MAX_HASH): Redefine to 127. - (struct hash_entry): Add "count" field when HASH_STAT is defined. - (hash): Improve hashing for many heavily used opcodes. - (lookup_hash): Bump counters if HASH_STAT is defined. - (sim_open): Don't put the same opcode in the hash table more - than once. Clear counters if HASH_STAT is defined. - (sim_resume): After program exits, dump hash table stats if - HASH_STAT is defined. - -Wed Feb 5 10:28:37 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix register extraction for "ext dn". - -Tue Feb 4 17:27:41 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix register extractions for "movbu (an), dm". - -Tue Feb 4 13:33:30 1997 Doug Evans - - * Makefile.in (@COMMON_MAKEFILE_FRAG): Use - COMMON_{PRE,POST}_CONFIG_FRAG instead. - * configure.in: sinclude ../common/aclocal.m4. - * configure: Regenerated. - -Fri Jan 31 01:19:02 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Get carry-in bit right for rol. Just clear the - NF flag for btst imm8,dn. - -Wed Jan 29 15:47:42 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Properly compute ZF flag for many insns. - -Sat Jan 25 17:06:55 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Properly truncate divisor and dividend before - performing "divu" operation. - -Fri Jan 24 10:47:48 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c (init_system): Allocate 2^19 bytes of space for - the simulator. - -Thu Jan 23 21:17:33 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Rework code to extract arguments for emulated - syscalls to handle 24bit pointers. - -Thu Jan 23 14:06:04 1997 Stu Grossman (grossman@critters.cygnus.com) - - * configure configure.in Makefile.in: Update to new configure - scheme which is more compatible with WinGDB builds. - * configure.in: Improve comment on how to run autoconf. - * configure: Re-run autoconf to get new ../common/aclocal.m4. - * Makefile.in: Use autoconf substitution to install common - makefile fragment. - -Thu Jan 23 12:04:38 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix destination register for "mov (abs24),an". - -Tue Jan 21 15:59:21 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: "rts" adds 4 to the stack pointer. - - * simops.c: Fix CF and CX computation for add instructions. - - * simops.c: Leave the upper 8 bits alone for logical ops. - Mask off high 8 bits before doing any shifts/rotates. - Fix carry bit handling in rotates again. - -Mon Jan 20 10:45:08 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Don't lose the sign bit for "asr". - -Fri Jan 17 01:45:14 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix overflow computation for "cmp" and "sub" - instructions. - - * simops.c: Use the right register for "jmp (an)" and "jsr (an)". - - * interp.c (hash): Improve hashing for 3 byte instructions. - - * simops.c: Fix extraction of 16/24bit immediates for some - instructions. "cmp" instructions only modify the PSW. - Fix various thinkos when extracting register operands too. - -Thu Jan 16 07:47:56 1997 Jeffrey A Law (law@cygnus.com) - - * simops.c: Fix "rol" and "ror". - - * simops.c: Truncate PC to 24bits after modifying it. - Closer stab at emulated system calls. - -Tue Jan 14 12:33:12 1997 Jeffrey A Law (law@cygnus.com) - - * interp.c (hash): Improve hashing of two byte insns. - (store_mem): Handle storing 3 byte quantities. - - * simops.c: Fix various typos/thinkos. - - * interp.c (load_mem_big, load_mem, store_mem): Fix thinko in - code to handle 24bit addresses. - * simops.c (REG0_8, REG0_16): Fix typo. - -Mon Jan 6 16:17:09 1997 Jeffrey A Law (law@cygnus.com) - - * mn10200_sim.h: Various fixes for mixed 16/24bit architecture. - * interp.c: Similarly. - * simops.c: Similarly. - - * Makefile.in, config.in, configure, configure.in: New files. - * gencode.c, interp.c, mn10200_sim.h, simops.c: New files. - diff --git a/sim/mn10200/Makefile.in b/sim/mn10200/Makefile.in deleted file mode 100644 index 563a4edec7b..00000000000 --- a/sim/mn10200/Makefile.in +++ /dev/null @@ -1,52 +0,0 @@ -# Makefile template for Configure for the mn10200 sim library. -# Copyright (C) 1997 Free Software Foundation, Inc. -# Written by Cygnus Support. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -## COMMON_PRE_CONFIG_FRAG - -SIM_OBJS = interp.o table.o simops.o sim-load.o -SIM_EXTRA_CFLAGS = -I$(srcdir)/../../newlib/libc/sys/sysmec -DNEED_UI_LOOP_HOOK -SIM_EXTRA_CLEAN = clean-extra - -# Select mn10200 support in nltvals.def. -NL_TARGET = -DNL_TARGET_mn10200 - -INCLUDE = mn10200_sim.h $(srcdir)/../../include/gdb/callback.h - -## COMMON_POST_CONFIG_FRAG - -simops.h: gencode - ./gencode -h >$@ - -table.c: gencode simops.h - ./gencode >$@ - -gencode.o: gencode.c $(INCLUDE) - $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/gencode.c - -m10200-opc.o: $(srcdir)/../../opcodes/m10200-opc.c - $(CC_FOR_BUILD) $(BUILD_CFLAGS) -c $(srcdir)/../../opcodes/m10200-opc.c - -gencode: gencode.o m10200-opc.o - $(CC_FOR_BUILD) $(BUILD_CFLAGS) -o gencode gencode.o m10200-opc.o $(BUILD_LIB) - -clean-extra: - rm -f table.c simops.h gencode - -interp.o: interp.c table.c $(INCLUDE) -simops.o: simops.c simops.h $(INCLUDE) -table.o: table.c diff --git a/sim/mn10200/acconfig.h b/sim/mn10200/acconfig.h deleted file mode 100644 index f9b87a10c60..00000000000 --- a/sim/mn10200/acconfig.h +++ /dev/null @@ -1,15 +0,0 @@ - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES diff --git a/sim/mn10200/config.in b/sim/mn10200/config.in deleted file mode 100644 index 1f87a2bee4e..00000000000 --- a/sim/mn10200/config.in +++ /dev/null @@ -1,158 +0,0 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define if you have the __setfpucw function. */ -#undef HAVE___SETFPUCW - -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the getrusage function. */ -#undef HAVE_GETRUSAGE - -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP - -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV - -/* Define if you have the setenv function. */ -#undef HAVE_SETENV - -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE - -/* Define if you have the sigaction function. */ -#undef HAVE_SIGACTION - -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the time function. */ -#undef HAVE_TIME - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the header file. */ -#undef HAVE_FPU_CONTROL_H - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the header file. */ -#undef HAVE_STRING_H - -/* Define if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_VALUES_H diff --git a/sim/mn10200/configure b/sim/mn10200/configure deleted file mode 100755 index 2720d6b5d38..00000000000 --- a/sim/mn10200/configure +++ /dev/null @@ -1,4024 +0,0 @@ -#! /bin/sh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sim_inline="-DDEFAULT_INLINE=0" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# This file is derived from `gettext.m4'. The difference is that the -# included macros assume Cygnus-style source and build trees. - -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 3 - - - - - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - - - -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - - - - - - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help - --disable-nls do not use Native Language Support" -ac_help="$ac_help - --with-included-gettext use the GNU gettext library included here" -ac_help="$ac_help - --enable-maintainer-mode Enable developer functionality." -ac_help="$ac_help - --enable-sim-bswap Use Host specific BSWAP instruction." -ac_help="$ac_help - --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" -ac_help="$ac_help - --enable-sim-debug=opts Enable debugging flags" -ac_help="$ac_help - --enable-sim-stdio Specify whether to use stdio for console input/output." -ac_help="$ac_help - --enable-sim-trace=opts Enable tracing flags" -ac_help="$ac_help - --enable-sim-profile=opts Enable profiling flags" - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -sitefile= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --site-file=FILE use FILE as the site file - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -site-file | --site-file | --site-fil | --site-fi | --site-f) - ac_prev=sitefile ;; - -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) - sitefile="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=Makefile.in - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$sitefile"; then - if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi - fi -else - CONFIG_SITE="$sitefile" -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:679: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:700: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:717: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:734: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:759: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:786: checking for POSIXized ISC" >&5 -if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 -then - echo "$ac_t""yes" 1>&6 - ISC=yes # If later tests want to check for ISC. - cat >> confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - - if test "$GCC" = yes; then - CC="$CC -posix" - else - CC="$CC -Xp" - fi -else - echo "$ac_t""no" 1>&6 - ISC= -fi - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:807: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:820: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:911: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF - -fi - -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:986: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_inline=$ac_kw; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in - inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <&6 -echo "configure:1026: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes -else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long -EOF - -fi - -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1059: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_size_t=yes -else - rm -rf conftest* - ac_cv_type_size_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned -EOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:1094: checking for working alloca.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:1106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 -EOF - -fi - -echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1127: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int main() { -char *p = (char *) alloca(1); -; return 0; } -EOF -if { (eval echo configure:1160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_func_alloca_works=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 -if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF - -fi - -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - - -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:1192: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_os_cray=yes -else - rm -rf conftest* - ac_cv_os_cray=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 -if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1222: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <&6 -fi - -done -fi - -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:1277: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat > conftest.$ac_ext < addr) ? 1 : -1; -} -main () -{ - exit (find_stack_direction() < 0); -} -EOF -if { (eval echo configure:1304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_stack_direction=1 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <&6 -echo "configure:1329: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1339: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getpagesize -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1368: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:1421: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat > conftest.$ac_ext < -#include -#include - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef HAVE_UNISTD_H -# include -# endif - -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - -int -main() -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); -} - -EOF -if { (eval echo configure:1569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_MMAP 1 -EOF - -fi - -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:1592: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_cygwin=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1625: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_mingw32=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_mingw32=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes - -# autoconf.info says this should be called right after AC_INIT. - - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1704: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:1725: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1743: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF_SED > conftestsed -s,\\,\\\\,g; s,\$,$$,g -EOF_SED - program_transform_name="`echo $program_transform_name|sed -f conftestsed`" - rm -f conftestsed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1787: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1817: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1868: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1900: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 1911 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1942: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1947: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1975: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:2018: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - -# Put a plausible default for CC_FOR_BUILD in Makefile. -if test "x$cross_compiling" = "xno"; then - CC_FOR_BUILD='$(CC)' -else - CC_FOR_BUILD=gcc -fi - - - - -AR=${AR-ar} - -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2086: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - -ALL_LINGUAS= - - for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2121: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2131: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2161: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - for ac_func in stpcpy -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2218: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_STPCPY 1 -EOF - - fi - - if test $ac_cv_header_locale_h = yes; then - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:2280: checking for LC_MESSAGES" >&5 -if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return LC_MESSAGES -; return 0; } -EOF -if { (eval echo configure:2292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_val_LC_MESSAGES=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_val_LC_MESSAGES=no -fi -rm -f conftest* -fi - -echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 - if test $am_cv_val_LC_MESSAGES = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF - - fi - fi - echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:2313: checking whether NLS is requested" >&5 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi - - echo "$ac_t""$USE_NLS" 1>&6 - - - USE_INCLUDED_LIBINTL=no - - if test "$USE_NLS" = "yes"; then - cat >> confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - - echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:2333: checking whether included gettext is requested" >&5 - # Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi - - echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:2352: checking for libintl.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:2379: checking for gettext in libc" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return (int) gettext ("") -; return 0; } -EOF -if { (eval echo configure:2391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libc=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libc=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 - - if test "$gt_cv_func_gettext_libc" != "yes"; then - echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:2407: checking for bindtextdomain in -lintl" >&5 -ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lintl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:2442: checking for gettext in libintl" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libintl=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libintl=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2482: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - if test "$MSGFMT" != "no"; then - for ac_func in dcgettext -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2516: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2571: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2607: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - CATOBJEXT=.gmo - DATADIRNAME=share -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CATOBJEXT=.mo - DATADIRNAME=lib -fi -rm -f conftest* - INSTOBJEXT=.mo - fi - fi - -else - echo "$ac_t""no" 1>&6 -fi - - - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - INTLOBJS="\$(GETTOBJS)" - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2679: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2713: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2749: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/../intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6 - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - - - - - - - - - - - - - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:2839: checking for catalogs to be installed" >&5 - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - echo "$ac_t""$LINGUAS" 1>&6 - fi - - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - - - if test -f $srcdir/po2tbl.sed.in; then - if test "$CATOBJEXT" = ".cat"; then - ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:2867: checking for linux/version.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - msgformat=linux -else - echo "$ac_t""no" 1>&6 -msgformat=xopen -fi - - - sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed - fi - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/po2tbl.sed.in > po2tbl.sed - fi - - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - - - - MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs" - - - l= - - - if test -d $srcdir/po; then - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - fi - - -# Check for common headers. -# FIXME: Seems to me this can cause problems for i386-windows hosts. -# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*. -for ac_hdr in stdlib.h string.h strings.h unistd.h time.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2946: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in sys/time.h sys/resource.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2986: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in fcntl.h fpu_control.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3026: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in dlfcn.h errno.h sys/stat.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3066: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getrusage time sigaction __setfpucw -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3105: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - -# Check for socket libraries -echo $ac_n "checking for bind in -lsocket""... $ac_c" 1>&6 -echo "configure:3160: checking for bind in -lsocket" >&5 -ac_lib_var=`echo socket'_'bind | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - -echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3207: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - - -. ${srcdir}/../../bfd/configure.host - - - -USE_MAINTAINER_MODE=no -# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval="$enable_maintainer_mode" - case "${enableval}" in - yes) MAINT="" USE_MAINTAINER_MODE=yes ;; - no) MAINT="#" ;; - *) { echo "configure: error: "--enable-maintainer-mode does not take a value"" 1>&2; exit 1; }; MAINT="#" ;; -esac -if test x"$silent" != x"yes" && test x"$MAINT" = x""; then - echo "Setting maintainer mode" 6>&1 -fi -else - MAINT="#" -fi - - - -# Check whether --enable-sim-bswap or --disable-sim-bswap was given. -if test "${enable_sim_bswap+set}" = set; then - enableval="$enable_sim_bswap" - case "${enableval}" in - yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";; - no) sim_bswap="-DWITH_BSWAP=0";; - *) { echo "configure: error: "--enable-sim-bswap does not take a value"" 1>&2; exit 1; }; sim_bswap="";; -esac -if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then - echo "Setting bswap flags = $sim_bswap" 6>&1 -fi -else - sim_bswap="" -fi - - - -# Check whether --enable-sim-cflags or --disable-sim-cflags was given. -if test "${enable_sim_cflags+set}" = set; then - enableval="$enable_sim_cflags" - case "${enableval}" in - yes) sim_cflags="-O2 -fomit-frame-pointer";; - trace) { echo "configure: error: "Please use --enable-sim-debug instead."" 1>&2; exit 1; }; sim_cflags="";; - no) sim_cflags="";; - *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac -if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then - echo "Setting sim cflags = $sim_cflags" 6>&1 -fi -else - sim_cflags="" -fi - - - -# Check whether --enable-sim-debug or --disable-sim-debug was given. -if test "${enable_sim_debug+set}" = set; then - enableval="$enable_sim_debug" - case "${enableval}" in - yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";; - no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";; - *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";; -esac -if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then - echo "Setting sim debug = $sim_debug" 6>&1 -fi -else - sim_debug="" -fi - - - -# Check whether --enable-sim-stdio or --disable-sim-stdio was given. -if test "${enable_sim_stdio+set}" = set; then - enableval="$enable_sim_stdio" - case "${enableval}" in - yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; - no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; - *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; -esac -if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then - echo "Setting stdio flags = $sim_stdio" 6>&1 -fi -else - sim_stdio="" -fi - - - -# Check whether --enable-sim-trace or --disable-sim-trace was given. -if test "${enable_sim_trace+set}" = set; then - enableval="$enable_sim_trace" - case "${enableval}" in - yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";; - no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";; - [-0-9]*) - sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";; - [a-z]*) - sim_trace="" - for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - if test x"$sim_trace" = x; then - sim_trace="-DWITH_TRACE='(TRACE_$x" - else - sim_trace="${sim_trace}|TRACE_$x" - fi - done - sim_trace="$sim_trace)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then - echo "Setting sim trace = $sim_trace" 6>&1 -fi -else - sim_trace="" -fi - - - -# Check whether --enable-sim-profile or --disable-sim-profile was given. -if test "${enable_sim_profile+set}" = set; then - enableval="$enable_sim_profile" - case "${enableval}" in - yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";; - no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";; - [-0-9]*) - sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";; - [a-z]*) - sim_profile="" - for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - if test x"$sim_profile" = x; then - sim_profile="-DWITH_PROFILE='(PROFILE_$x" - else - sim_profile="${sim_profile}|PROFILE_$x" - fi - done - sim_profile="$sim_profile)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then - echo "Setting sim profile = $sim_profile" 6>&1 -fi -else - sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1" -fi - - - -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3402: checking return type of signal handlers" >&5 -if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int main() { -int i; -; return 0; } -EOF -if { (eval echo configure:3424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_type_signal=void -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_type_signal=int -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_type_signal" 1>&6 -cat >> confdefs.h <&6 -echo "configure:3446: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:3456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi - -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT - - -sim_link_files= -sim_link_links= - -sim_link_links=tconfig.h -if test -f ${srcdir}/tconfig.in -then - sim_link_files=tconfig.in -else - sim_link_files=../common/tconfig.in -fi - -# targ-vals.def points to the libc macro description file. -case "${target}" in -*-*-*) TARG_VALS_DEF=../common/nltvals.def ;; -esac -sim_link_files="${sim_link_files} ${TARG_VALS_DEF}" -sim_link_links="${sim_link_links} targ-vals.def" - - - -for ac_hdr in unistd.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3501: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS </dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" - -trap 'rm -fr `echo "Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@sim_environment@%$sim_environment%g -s%@sim_alignment@%$sim_alignment%g -s%@sim_assert@%$sim_assert%g -s%@sim_bitsize@%$sim_bitsize%g -s%@sim_endian@%$sim_endian%g -s%@sim_hostendian@%$sim_hostendian%g -s%@sim_float@%$sim_float%g -s%@sim_scache@%$sim_scache%g -s%@sim_default_model@%$sim_default_model%g -s%@sim_hw_cflags@%$sim_hw_cflags%g -s%@sim_hw_objs@%$sim_hw_objs%g -s%@sim_hw@%$sim_hw%g -s%@sim_inline@%$sim_inline%g -s%@sim_packages@%$sim_packages%g -s%@sim_regparm@%$sim_regparm%g -s%@sim_reserved_bits@%$sim_reserved_bits%g -s%@sim_smp@%$sim_smp%g -s%@sim_stdcall@%$sim_stdcall%g -s%@sim_xor_endian@%$sim_xor_endian%g -s%@WARN_CFLAGS@%$WARN_CFLAGS%g -s%@WERROR_CFLAGS@%$WERROR_CFLAGS%g -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@CC@%$CC%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g -s%@HDEFINES@%$HDEFINES%g -s%@AR@%$AR%g -s%@RANLIB@%$RANLIB%g -s%@SET_MAKE@%$SET_MAKE%g -s%@CPP@%$CPP%g -s%@ALLOCA@%$ALLOCA%g -s%@USE_NLS@%$USE_NLS%g -s%@MSGFMT@%$MSGFMT%g -s%@GMSGFMT@%$GMSGFMT%g -s%@XGETTEXT@%$XGETTEXT%g -s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g -s%@CATALOGS@%$CATALOGS%g -s%@CATOBJEXT@%$CATOBJEXT%g -s%@DATADIRNAME@%$DATADIRNAME%g -s%@GMOFILES@%$GMOFILES%g -s%@INSTOBJEXT@%$INSTOBJEXT%g -s%@INTLDEPS@%$INTLDEPS%g -s%@INTLLIBS@%$INTLLIBS%g -s%@INTLOBJS@%$INTLOBJS%g -s%@POFILES@%$POFILES%g -s%@POSUB@%$POSUB%g -s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g -s%@GT_NO@%$GT_NO%g -s%@GT_YES@%$GT_YES%g -s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g -s%@l@%$l%g -s%@MAINT@%$MAINT%g -s%@sim_bswap@%$sim_bswap%g -s%@sim_cflags@%$sim_cflags%g -s%@sim_debug@%$sim_debug%g -s%@sim_stdio@%$sim_stdio%g -s%@sim_trace@%$sim_trace%g -s%@sim_profile@%$sim_profile%g -s%@EXEEXT@%$EXEEXT%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -srcdir=$ac_given_srcdir -while test -n "$ac_sources"; do - set $ac_dests; ac_dest=$1; shift; ac_dests=$* - set $ac_sources; ac_source=$1; shift; ac_sources=$* - - echo "linking $srcdir/$ac_source to $ac_dest" - - if test ! -r $srcdir/$ac_source; then - { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; } - fi - rm -f $ac_dest - - # Make relative symlinks. - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'` - if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then - # The dest file is in a subdirectory. - test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" - ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dest_dir_suffix. - ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dest_dir_suffix= ac_dots= - fi - - case "$srcdir" in - [/$]*) ac_rel_source="$srcdir/$ac_source" ;; - *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;; - esac - - # Make a symlink if possible; otherwise try a hard link. - if ln -s $ac_rel_source $ac_dest 2>/dev/null || - ln $srcdir/$ac_source $ac_dest; then : - else - { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; } - fi -done -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -case "x$CONFIG_FILES" in - xMakefile*) - echo "Merging Makefile.sim+Make-common.sim into Makefile ..." - rm -f Makesim1.tmp Makesim2.tmp Makefile - sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' Makesim1.tmp - sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' Makesim2.tmp - sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \ - -e '/^## COMMON_POST_/ r Makesim2.tmp' \ - Makefile - rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp - ;; - esac - case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - - diff --git a/sim/mn10200/configure.in b/sim/mn10200/configure.in deleted file mode 100644 index 033b0bc1615..00000000000 --- a/sim/mn10200/configure.in +++ /dev/null @@ -1,10 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -sinclude(../common/aclocal.m4) -AC_PREREQ(2.5)dnl -AC_INIT(Makefile.in) - -SIM_AC_COMMON - -AC_CHECK_HEADERS(unistd.h) - -SIM_AC_OUTPUT diff --git a/sim/mn10200/gencode.c b/sim/mn10200/gencode.c deleted file mode 100644 index 8ba873eb224..00000000000 --- a/sim/mn10200/gencode.c +++ /dev/null @@ -1,154 +0,0 @@ -#include "mn10200_sim.h" - -static void write_header PARAMS ((void)); -static void write_opcodes PARAMS ((void)); -static void write_template PARAMS ((void)); - -int -main (argc, argv) - int argc; - char *argv[]; -{ - if ((argc > 1) && (strcmp (argv[1], "-h") == 0)) - write_header(); - else if ((argc > 1) && (strcmp (argv[1], "-t") == 0)) - write_template (); - else - write_opcodes(); - return 0; -} - - -static void -write_header () -{ - struct mn10200_opcode *opcode; - - for (opcode = (struct mn10200_opcode *)mn10200_opcodes; opcode->name; opcode++) - printf("void OP_%X PARAMS ((unsigned long, unsigned long));\t\t/* %s */\n", - opcode->opcode, opcode->name); -} - - -/* write_template creates a file all required functions, ready */ -/* to be filled out */ - -static void -write_template () -{ - struct mn10200_opcode *opcode; - int i,j; - - printf ("#include \"mn10200_sim.h\"\n"); - printf ("#include \"simops.h\"\n"); - - for (opcode = (struct mn10200_opcode *)mn10200_opcodes; opcode->name; opcode++) - { - printf("/* %s */\nvoid\nOP_%X (insn, extension)\n unsigned long insn, extension;\n{\n", opcode->name, opcode->opcode); - - /* count operands */ - j = 0; - for (i = 0; i < 6; i++) - { - int flags = mn10200_operands[opcode->operands[i]].flags; - - if (flags) - j++; - } - switch (j) - { - case 0: - printf ("printf(\" %s\\n\");\n", opcode->name); - break; - case 1: - printf ("printf(\" %s\\t%%x\\n\", OP[0]);\n", opcode->name); - break; - case 2: - printf ("printf(\" %s\\t%%x,%%x\\n\",OP[0],OP[1]);\n", - opcode->name); - break; - case 3: - printf ("printf(\" %s\\t%%x,%%x,%%x\\n\",OP[0],OP[1],OP[2]);\n", - opcode->name); - break; - default: - fprintf (stderr,"Too many operands: %d\n", j); - } - printf ("}\n\n"); - } -} - -static void -write_opcodes () -{ - struct mn10200_opcode *opcode; - int i, j; - int numops; - - /* write out opcode table */ - printf ("#include \"mn10200_sim.h\"\n"); - printf ("#include \"simops.h\"\n\n"); - printf ("struct simops Simops[] = {\n"); - - for (opcode = (struct mn10200_opcode *)mn10200_opcodes; opcode->name; opcode++) - { - int size; - - if (opcode->format == FMT_1) - size = 1; - else if (opcode->format == FMT_2 || opcode->format == FMT_4) - size = 2; - else if (opcode->format == FMT_3 || opcode->format == FMT_5) - size = 3; - else if (opcode->format == FMT_6) - size = 4; - else if (opcode->format == FMT_7) - size = 5; - else - abort (); - - printf (" { 0x%x,0x%x,OP_%X,%d,%d,", - opcode->opcode, opcode->mask, opcode->opcode, - size, opcode->format); - - /* count operands */ - j = 0; - for (i = 0; i < 6; i++) - { - int flags = mn10200_operands[opcode->operands[i]].flags; - - if (flags) - j++; - } - printf ("%d,{",j); - - j = 0; - numops = 0; - for (i = 0; i < 6; i++) - { - int flags = mn10200_operands[opcode->operands[i]].flags; - int shift = mn10200_operands[opcode->operands[i]].shift; - - if (flags) - { - if (j) - printf (", "); - printf ("%d,%d,%d", shift, - mn10200_operands[opcode->operands[i]].bits,flags); - j = 1; - numops++; - } - } - - switch (numops) - { - case 0: - printf ("0,0,0"); - case 1: - printf (",0,0,0"); - } - - printf ("}},\n"); - } - printf ("{ 0,0,NULL,0,0,0,{0,0,0,0,0,0}},\n};\n"); -} diff --git a/sim/mn10200/interp.c b/sim/mn10200/interp.c deleted file mode 100644 index 90529c89887..00000000000 --- a/sim/mn10200/interp.c +++ /dev/null @@ -1,820 +0,0 @@ -#include -#include "sysdep.h" -#include "bfd.h" - -#include "mn10200_sim.h" - -#ifdef NEED_UI_LOOP_HOOK -/* How often to run the ui_loop update, when in use */ -#define UI_LOOP_POLL_INTERVAL 0x60000 - -/* Counter for the ui_loop_hook update */ -static long ui_loop_hook_counter = UI_LOOP_POLL_INTERVAL; - -/* Actual hook to call to run through gdb's gui event loop */ -extern int (*deprecated_ui_loop_hook) (int); -#endif /* NEED_UI_LOOP_HOOK */ - -host_callback *mn10200_callback; -int mn10200_debug; -static SIM_OPEN_KIND sim_kind; -static char *myname; - -static void dispatch PARAMS ((uint32, uint32, int)); -static long hash PARAMS ((long)); -static void init_system PARAMS ((void)); -#define MAX_HASH 127 - -struct hash_entry -{ - struct hash_entry *next; - long opcode; - long mask; - struct simops *ops; -#ifdef HASH_STAT - unsigned long count; -#endif -}; - -int max_mem = 0; -struct hash_entry hash_table[MAX_HASH+1]; - - -/* This probably doesn't do a very good job at bucket filling, but - it's simple... */ -static INLINE long -hash(insn) - long insn; -{ - /* These are one byte insns. */ - if ((insn & 0xffffff00) == 0x00) - { - if ((insn & 0xf0) != 0x80) - return ((insn & 0xf0) >> 4) & 0x7f; - - if ((insn & 0xf0) == 0x80 - && (insn & 0x0c) >> 2 != (insn & 0x03)) - return (insn & 0xf0) & 0x7f; - - return (insn & 0xff) & 0x7f; - } - - if ((insn & 0xffff0000) == 0) - { - if ((insn & 0xf000) == 0xd000) - return ((insn & 0xfc00) >> 10) & 0x7f; - - if ((insn & 0xf000) == 0xe000) - return ((insn & 0xff00) >> 8) & 0x7f; - - if ((insn & 0xf200) == 0xf200) - return ((insn & 0xfff0) >> 4) & 0x7f; - - if ((insn & 0xc000) == 0x4000 - || (insn & 0xf000) == 0x8000) - return ((insn & 0xf000) >> 8) & 0x7f; - - if ((insn & 0xf200) == 0xf000) - return ((insn & 0xffc0) >> 8) & 0x7f; - - return ((insn & 0xff00) >> 8) & 0x7f; - } - - if ((insn & 0xff000000) == 0) - { - - if ((insn & 0xf00000) != 0xf00000 - || (insn & 0xfc0000) == 0xf80000) - return ((insn & 0xfc0000) >> 16) & 0x7f; - - if ((insn & 0xff0000) == 0xf50000) - return ((insn & 0xfff000) >> 12) & 0x7f; - return ((insn & 0xff0000) >> 16) & 0x7f; - } - - return ((insn & 0xfff0000) >> 20) & 0x7f; -} - -static INLINE void -dispatch (insn, extension, length) - uint32 insn; - uint32 extension; - int length; -{ - struct hash_entry *h; - - h = &hash_table[hash(insn)]; - - while ((insn & h->mask) != h->opcode - || (length != h->ops->length)) - { - if (!h->next) - { - (*mn10200_callback->printf_filtered) (mn10200_callback, - "ERROR looking up hash for 0x%x, PC=0x%x\n", insn, PC); - exit(1); - } - h = h->next; - } - - -#ifdef HASH_STAT - h->count++; -#endif - - /* Now call the right function. */ - (h->ops->func)(insn, extension); - PC += length; -} - -/* FIXME These would more efficient to use than load_mem/store_mem, - but need to be changed to use the memory map. */ - -uint32 -get_word (x) - uint8 *x; -{ - uint8 *a = x; - return (a[3]<<24) + (a[2]<<16) + (a[1]<<8) + (a[0]); -} - -void -put_word (addr, data) - uint8 *addr; - uint32 data; -{ - uint8 *a = addr; - a[0] = data & 0xff; - a[1] = (data >> 8) & 0xff; - a[2] = (data >> 16) & 0xff; - a[3] = (data >> 24) & 0xff; -} - -void -sim_size (power) - int power; - -{ - if (State.mem) - free (State.mem); - - max_mem = 1 << power; - State.mem = (uint8 *) calloc (1, 1 << power); - if (!State.mem) - { - (*mn10200_callback->printf_filtered) (mn10200_callback, "Allocation of main memory failed.\n"); - exit (1); - } -} - -static void -init_system () -{ - if (!State.mem) - sim_size(19); -} - -int -sim_write (sd,addr, buffer, size) - SIM_DESC sd; - SIM_ADDR addr; - unsigned char *buffer; - int size; -{ - int i; - - init_system (); - - for (i = 0; i < size; i++) - store_byte (addr + i, buffer[i]); - - return size; -} - -/* Compare two opcode table entries for qsort. */ -static int -compare_simops (arg1, arg2) - const PTR arg1; - const PTR arg2; -{ - unsigned long code1 = ((struct simops *)arg1)->opcode; - unsigned long code2 = ((struct simops *)arg2)->opcode; - - if (code1 < code2) - return -1; - if (code2 < code1) - return 1; - return 0; -} - -SIM_DESC -sim_open (kind, cb, abfd, argv) - SIM_OPEN_KIND kind; - host_callback *cb; - struct bfd *abfd; - char **argv; -{ - struct simops *s; - struct hash_entry *h; - char **p; - int i; - - mn10200_callback = cb; - - /* Sort the opcode array from smallest opcode to largest. - This will generally improve simulator performance as the smaller - opcodes are generally preferred to the larger opcodes. */ - for (i = 0, s = Simops; s->func; s++, i++) - ; - qsort (Simops, i, sizeof (Simops[0]), compare_simops); - - sim_kind = kind; - myname = argv[0]; - - for (p = argv + 1; *p; ++p) - { - if (strcmp (*p, "-E") == 0) - ++p; /* ignore endian spec */ - else -#ifdef DEBUG - if (strcmp (*p, "-t") == 0) - mn10200_debug = DEBUG; - else -#endif - (*mn10200_callback->printf_filtered) (mn10200_callback, "ERROR: unsupported option(s): %s\n",*p); - } - - /* put all the opcodes in the hash table */ - for (s = Simops; s->func; s++) - { - h = &hash_table[hash(s->opcode)]; - - /* go to the last entry in the chain */ - while (h->next) - { - /* Don't insert the same opcode more than once. */ - if (h->opcode == s->opcode - && h->mask == s->mask - && h->ops == s) - break; - else - h = h->next; - } - - /* Don't insert the same opcode more than once. */ - if (h->opcode == s->opcode - && h->mask == s->mask - && h->ops == s) - continue; - - if (h->ops) - { - h->next = calloc(1,sizeof(struct hash_entry)); - h = h->next; - } - h->ops = s; - h->mask = s->mask; - h->opcode = s->opcode; -#ifdef HASH_STAT - h->count = 0; -#endif - } - - /* fudge our descriptor for now */ - return (SIM_DESC) 1; -} - - -void -sim_set_profile (n) - int n; -{ - (*mn10200_callback->printf_filtered) (mn10200_callback, "sim_set_profile %d\n", n); -} - -void -sim_set_profile_size (n) - int n; -{ - (*mn10200_callback->printf_filtered) (mn10200_callback, "sim_set_profile_size %d\n", n); -} - -int -sim_stop (sd) - SIM_DESC sd; -{ - State.exception = SIGINT; - return 1; -} - -void -sim_resume (sd, step, siggnal) - SIM_DESC sd; - int step, siggnal; -{ - uint32 inst; - - if (step) - State.exception = SIGTRAP; - else - State.exception = 0; - - State.exited = 0; - - do - { - unsigned long insn, extension; - -#ifdef NEED_UI_LOOP_HOOK - if (deprecated_ui_loop_hook != NULL && ui_loop_hook_counter-- < 0) - { - ui_loop_hook_counter = UI_LOOP_POLL_INTERVAL; - deprecated_ui_loop_hook (0); - } -#endif /* NEED_UI_LOOP_HOOK */ - - /* Fetch the current instruction, fetch a double word to - avoid redundant fetching for the common cases below. */ - inst = load_mem_big (PC, 2); - - /* Using a giant case statement may seem like a waste because of the - code/rodata size the table itself will consume. However, using - a giant case statement speeds up the simulator by 10-15% by avoiding - cascading if/else statements or cascading case statements. */ - switch ((inst >> 8) & 0xff) - { - /* All the single byte insns except 0x80, which must - be handled specially. */ - case 0x00: - case 0x01: - case 0x02: - case 0x03: - case 0x04: - case 0x05: - case 0x06: - case 0x07: - case 0x08: - case 0x09: - case 0x0a: - case 0x0b: - case 0x0c: - case 0x0d: - case 0x0e: - case 0x0f: - case 0x10: - case 0x11: - case 0x12: - case 0x13: - case 0x14: - case 0x15: - case 0x16: - case 0x17: - case 0x18: - case 0x19: - case 0x1a: - case 0x1b: - case 0x1c: - case 0x1d: - case 0x1e: - case 0x1f: - case 0x20: - case 0x21: - case 0x22: - case 0x23: - case 0x24: - case 0x25: - case 0x26: - case 0x27: - case 0x28: - case 0x29: - case 0x2a: - case 0x2b: - case 0x2c: - case 0x2d: - case 0x2e: - case 0x2f: - case 0x30: - case 0x31: - case 0x32: - case 0x33: - case 0x34: - case 0x35: - case 0x36: - case 0x37: - case 0x38: - case 0x39: - case 0x3a: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x3f: - case 0x90: - case 0x91: - case 0x92: - case 0x93: - case 0x94: - case 0x95: - case 0x96: - case 0x97: - case 0x98: - case 0x99: - case 0x9a: - case 0x9b: - case 0x9c: - case 0x9d: - case 0x9e: - case 0x9f: - case 0xa0: - case 0xa1: - case 0xa2: - case 0xa3: - case 0xa4: - case 0xa5: - case 0xa6: - case 0xa7: - case 0xa8: - case 0xa9: - case 0xaa: - case 0xab: - case 0xac: - case 0xad: - case 0xae: - case 0xaf: - case 0xb0: - case 0xb1: - case 0xb2: - case 0xb3: - case 0xb4: - case 0xb5: - case 0xb6: - case 0xb7: - case 0xb8: - case 0xb9: - case 0xba: - case 0xbb: - case 0xbc: - case 0xbd: - case 0xbe: - case 0xbf: - case 0xeb: - case 0xf6: - case 0xfe: - case 0xff: - insn = (inst >> 8) & 0xff; - extension = 0; - dispatch (insn, extension, 1); - break; - - /* Special case as mov dX,dX really means mov imm8,dX. */ - case 0x80: - case 0x85: - case 0x8a: - case 0x8f: - /* Fetch the full instruction. */ - insn = inst; - extension = 0; - dispatch (insn, extension, 2); - break; - - case 0x81: - case 0x82: - case 0x83: - case 0x84: - case 0x86: - case 0x87: - case 0x88: - case 0x89: - case 0x8b: - case 0x8c: - case 0x8d: - case 0x8e: - insn = (inst >> 8) & 0xff; - extension = 0; - dispatch (insn, extension, 1); - break; - - /* And the two byte insns. */ - case 0x40: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - case 0x4b: - case 0x4c: - case 0x4d: - case 0x4e: - case 0x4f: - case 0x50: - case 0x51: - case 0x52: - case 0x53: - case 0x54: - case 0x55: - case 0x56: - case 0x57: - case 0x58: - case 0x59: - case 0x5a: - case 0x5b: - case 0x5c: - case 0x5d: - case 0x5e: - case 0x5f: - case 0x60: - case 0x61: - case 0x62: - case 0x63: - case 0x64: - case 0x65: - case 0x66: - case 0x67: - case 0x68: - case 0x69: - case 0x6a: - case 0x6b: - case 0x6c: - case 0x6d: - case 0x6e: - case 0x6f: - case 0x70: - case 0x71: - case 0x72: - case 0x73: - case 0x74: - case 0x75: - case 0x76: - case 0x77: - case 0x78: - case 0x79: - case 0x7a: - case 0x7b: - case 0x7c: - case 0x7d: - case 0x7e: - case 0x7f: - case 0xd0: - case 0xd1: - case 0xd2: - case 0xd3: - case 0xd4: - case 0xd5: - case 0xd6: - case 0xd7: - case 0xd8: - case 0xd9: - case 0xda: - case 0xdb: - case 0xe0: - case 0xe1: - case 0xe2: - case 0xe3: - case 0xe4: - case 0xe5: - case 0xe6: - case 0xe7: - case 0xe8: - case 0xe9: - case 0xea: - case 0xf0: - case 0xf1: - case 0xf2: - case 0xf3: - /* Fetch the full instruction. */ - insn = inst; - extension = 0; - dispatch (insn, extension, 2); - break; - - /* And the 3 byte insns with a 16bit operand in little - endian format. */ - case 0xc0: - case 0xc1: - case 0xc2: - case 0xc3: - case 0xc4: - case 0xc5: - case 0xc6: - case 0xc7: - case 0xc8: - case 0xc9: - case 0xca: - case 0xcb: - case 0xcc: - case 0xcd: - case 0xce: - case 0xcf: - case 0xdc: - case 0xdd: - case 0xde: - case 0xdf: - case 0xec: - case 0xed: - case 0xee: - case 0xef: - case 0xf8: - case 0xf9: - case 0xfa: - case 0xfb: - case 0xfc: - case 0xfd: - insn = load_byte (PC); - insn <<= 16; - insn |= load_half (PC + 1); - extension = 0; - dispatch (insn, extension, 3); - break; - - /* 3 byte insns without 16bit operand. */ - case 0xf5: - insn = load_mem_big (PC, 3); - extension = 0; - dispatch (insn, extension, 3); - break; - - /* 4 byte insns. */ - case 0xf7: - insn = inst; - insn <<= 16; - insn |= load_half (PC + 2); - extension = 0; - dispatch (insn, extension, 4); - break; - - case 0xf4: - insn = inst; - insn <<= 16; - insn |= load_mem_big (PC + 4, 1) << 8; - insn |= load_mem_big (PC + 3, 1); - extension = load_mem_big (PC + 2, 1); - dispatch (insn, extension, 5); - break; - - default: - abort (); - } - } - while (!State.exception); - -#ifdef HASH_STAT - { - int i; - for (i = 0; i < MAX_HASH; i++) - { - struct hash_entry *h; - h = &hash_table[i]; - - printf("hash 0x%x:\n", i); - - while (h) - { - printf("h->opcode = 0x%x, count = 0x%x\n", h->opcode, h->count); - h = h->next; - } - - printf("\n\n"); - } - fflush (stdout); - } -#endif - -} - - -void -sim_close (sd, quitting) - SIM_DESC sd; - int quitting; -{ - /* nothing to do */ -} - -int -sim_trace (sd) - SIM_DESC sd; -{ -#ifdef DEBUG - mn10200_debug = DEBUG; -#endif - sim_resume (sd, 0, 0); - return 1; -} - -void -sim_info (sd, verbose) - SIM_DESC sd; - int verbose; -{ - (*mn10200_callback->printf_filtered) (mn10200_callback, "sim_info\n"); -} - -SIM_RC -sim_create_inferior (sd, abfd, argv, env) - SIM_DESC sd; - struct bfd *abfd; - char **argv; - char **env; -{ - if (abfd != NULL) - PC = bfd_get_start_address (abfd); - else - PC = 0; - return SIM_RC_OK; -} - -void -sim_set_callbacks (p) - host_callback *p; -{ - mn10200_callback = p; -} - -/* All the code for exiting, signals, etc needs to be revamped. - - This is enough to get c-torture limping though. */ - -void -sim_stop_reason (sd, reason, sigrc) - SIM_DESC sd; - enum sim_stop *reason; - int *sigrc; -{ - if (State.exited) - *reason = sim_exited; - else - *reason = sim_stopped; - if (State.exception == SIGQUIT) - *sigrc = 0; - else - *sigrc = State.exception; -} - -int -sim_fetch_register (sd, rn, memory, length) - SIM_DESC sd; - int rn; - unsigned char *memory; - int length; -{ - put_word (memory, State.regs[rn]); - return -1; -} - -int -sim_store_register (sd, rn, memory, length) - SIM_DESC sd; - int rn; - unsigned char *memory; - int length; -{ - State.regs[rn] = get_word (memory); - return -1; -} - -int -sim_read (sd, addr, buffer, size) - SIM_DESC sd; - SIM_ADDR addr; - unsigned char *buffer; - int size; -{ - int i; - for (i = 0; i < size; i++) - buffer[i] = load_byte (addr + i); - - return size; -} - -void -sim_do_command (sd, cmd) - SIM_DESC sd; - char *cmd; -{ - (*mn10200_callback->printf_filtered) (mn10200_callback, "\"%s\" is not a valid mn10200 simulator command.\n", cmd); -} - -SIM_RC -sim_load (sd, prog, abfd, from_tty) - SIM_DESC sd; - char *prog; - bfd *abfd; - int from_tty; -{ - extern bfd *sim_load_file (); /* ??? Don't know where this should live. */ - bfd *prog_bfd; - - prog_bfd = sim_load_file (sd, myname, mn10200_callback, prog, abfd, - sim_kind == SIM_OPEN_DEBUG, - 0, sim_write); - if (prog_bfd == NULL) - return SIM_RC_FAIL; - if (abfd == NULL) - bfd_close (prog_bfd); - return SIM_RC_OK; -} diff --git a/sim/mn10200/mn10200_sim.h b/sim/mn10200/mn10200_sim.h deleted file mode 100644 index 2f85aa0cb4f..00000000000 --- a/sim/mn10200/mn10200_sim.h +++ /dev/null @@ -1,297 +0,0 @@ -#include -#include -#include "ansidecl.h" -#include "gdb/callback.h" -#include "opcode/mn10200.h" -#include -#include "gdb/remote-sim.h" - -#ifndef INLINE -#ifdef __GNUC__ -#define INLINE inline -#else -#define INLINE -#endif -#endif - -extern host_callback *mn10200_callback; - -#define DEBUG_TRACE 0x00000001 -#define DEBUG_VALUES 0x00000002 - -extern int mn10200_debug; - -#ifdef __STDC__ -#define SIGNED signed -#else -#define SIGNED -#endif - -#if UCHAR_MAX == 255 -typedef unsigned char uint8; -typedef SIGNED char int8; -#else -error "Char is not an 8-bit type" -#endif - -#if SHRT_MAX == 32767 -typedef unsigned short uint16; -typedef SIGNED short int16; -#else -error "Short is not a 16-bit type" -#endif - -#if INT_MAX == 2147483647 - -typedef unsigned int uint32; -typedef SIGNED int int32; - -#else -# if LONG_MAX == 2147483647 - -typedef unsigned long uint32; -typedef SIGNED long int32; - -# else - error "Neither int nor long is a 32-bit type" -# endif -#endif - -typedef uint32 reg_t; - -struct simops -{ - long opcode; - long mask; - void (*func)(); - int length; - int format; - int numops; - int operands[16]; -}; - -/* The current state of the processor; registers, memory, etc. */ - -struct _state -{ - reg_t regs[11]; /* registers, d0-d3, a0-a3, pc, mdr, psw */ - uint8 *mem; /* main memory */ - int exception; /* Actually a signal number. */ - int exited; /* Did the program exit? */ -} State; - -extern uint32 OP[4]; -extern struct simops Simops[]; - -#define PC (State.regs[8]) - -#define PSW (State.regs[10]) -#define PSW_ZF 0x1 -#define PSW_NF 0x2 -#define PSW_CF 0x4 -#define PSW_VF 0x8 -#define PSW_ZX 0x10 -#define PSW_NX 0x20 -#define PSW_CX 0x40 -#define PSW_VX 0x80 - -#define REG_D0 0 -#define REG_A0 4 -#define REG_SP 7 -#define REG_PC 8 -#define REG_MDR 9 -#define REG_PSW 10 - -#define SEXT3(x) ((((x)&0x7)^(~0x3))+0x4) - -/* sign-extend a 4-bit number */ -#define SEXT4(x) ((((x)&0xf)^(~0x7))+0x8) - -/* sign-extend a 5-bit number */ -#define SEXT5(x) ((((x)&0x1f)^(~0xf))+0x10) - -/* sign-extend an 8-bit number */ -#define SEXT8(x) ((((x)&0xff)^(~0x7f))+0x80) - -/* sign-extend a 9-bit number */ -#define SEXT9(x) ((((x)&0x1ff)^(~0xff))+0x100) - -/* sign-extend a 16-bit number */ -#define SEXT16(x) ((((x)&0xffff)^(~0x7fff))+0x8000) - -/* sign-extend a 22-bit number */ -#define SEXT22(x) ((((x)&0x3fffff)^(~0x1fffff))+0x200000) - -/* sign-extend a 24-bit number */ -#define SEXT24(x) ((((x)&0xffffff)^(~0x7fffff))+0x800000) - -#ifdef _WIN32 -#define SIGTRAP 5 -#define SIGQUIT 3 -#endif - -extern int max_mem; - -#define load_mem_big(addr,len) \ - (len == 1 ? *(((addr) & 0xffffff) + State.mem) : \ - len == 2 ? ((*(((addr) & 0xffffff) + State.mem) << 8) \ - | *((((addr) + 1) & 0xffffff) + State.mem)) : \ - ((*(((addr) & 0xffffff) + State.mem) << 16) \ - | (*((((addr) + 1) & 0xffffff) + State.mem) << 8) \ - | *((((addr) + 2) & 0xffffff) + State.mem))) - -static INLINE uint32 -load_byte (addr) - SIM_ADDR addr; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - return p[0]; -} - -static INLINE uint32 -load_half (addr) - SIM_ADDR addr; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - return p[1] << 8 | p[0]; -} - -static INLINE uint32 -load_3_byte (addr) - SIM_ADDR addr; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - return p[2] << 16 | p[1] << 8 | p[0]; -} - -static INLINE uint32 -load_word (addr) - SIM_ADDR addr; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - return p[3] << 24 | p[2] << 16 | p[1] << 8 | p[0]; -} - -static INLINE uint32 -load_mem (addr, len) - SIM_ADDR addr; - int len; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - switch (len) - { - case 1: - return p[0]; - case 2: - return p[1] << 8 | p[0]; - case 3: - return p[2] << 16 | p[1] << 8 | p[0]; - case 4: - return p[3] << 24 | p[2] << 16 | p[1] << 8 | p[0]; - default: - abort (); - } -} - -static INLINE void -store_byte (addr, data) - SIM_ADDR addr; - uint32 data; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - p[0] = data; -} - -static INLINE void -store_half (addr, data) - SIM_ADDR addr; - uint32 data; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - p[0] = data; - p[1] = data >> 8; -} - -static INLINE void -store_3_byte (addr, data) - SIM_ADDR addr; - uint32 data; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - p[0] = data; - p[1] = data >> 8; - p[2] = data >> 16; -} - -static INLINE void -store_word (addr, data) - SIM_ADDR addr; - uint32 data; -{ - uint8 *p = (addr & 0xffffff) + State.mem; - -#ifdef CHECK_ADDR - if ((addr & 0xffffff) > max_mem) - abort (); -#endif - - p[0] = data; - p[1] = data >> 8; - p[2] = data >> 16; - p[3] = data >> 24; -} - -/* Function declarations. */ - -uint32 get_word PARAMS ((uint8 *)); -void put_word PARAMS ((uint8 *, uint32)); - -extern uint8 *map PARAMS ((SIM_ADDR addr)); diff --git a/sim/mn10200/simops.c b/sim/mn10200/simops.c deleted file mode 100644 index ecceccae92f..00000000000 --- a/sim/mn10200/simops.c +++ /dev/null @@ -1,2449 +0,0 @@ -#include "config.h" - -#include -#ifdef HAVE_UNISTD_H -#include -#endif -#include "mn10200_sim.h" -#include "simops.h" -#include "targ-vals.h" -#include "bfd.h" -#include -#include -#include -#include - -#define REG0(X) ((X) & 0x3) -#define REG1(X) (((X) & 0xc) >> 2) -#define REG0_4(X) (((X) & 0x30) >> 4) -#define REG0_8(X) (((X) & 0x300) >> 8) -#define REG1_8(X) (((X) & 0xc00) >> 10) -#define REG0_16(X) (((X) & 0x30000) >> 16) -#define REG1_16(X) (((X) & 0xc0000) >> 18) -#define TRUNC(X) ((X) & 0xffffff) - -/* mov imm8, dn */ -void OP_8000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_8 (insn)] = SEXT8 (insn & 0xff); -} - -/* mov dn, dm */ -void OP_80 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = State.regs[REG_D0 + REG1 (insn)]; -} - -/* mov dm, an */ -void OP_F230 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0 (insn)] = State.regs[REG_D0 + REG1 (insn)]; -} - -/* mov an, dm */ -void OP_F2F0 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = State.regs[REG_A0 + REG1 (insn)]; -} - -/* mov an, am */ -void OP_F270 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0 (insn)] = State.regs[REG_A0 + REG1 (insn)]; -} - -/* mov psw, dn */ -void OP_F3F0 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = PSW & 0xffff; -} - -/* mov dn, psw */ -void OP_F3D0 (insn, extension) - unsigned long insn, extension; -{ - PSW = State.regs[REG_D0 + REG1 (insn)] & 0xffff ; -} - -/* mov mdr, dn */ -void OP_F3E0 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = State.regs[REG_MDR] & 0xffff; -} - -/* mov dn, mdr */ -void OP_F3C0 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_MDR] = State.regs[REG_D0 + REG1 (insn)] & 0xffff; -} - -/* mov (an), dm */ -void OP_20 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] - = SEXT16 (load_half (State.regs[REG_A0 + REG1 (insn)])); -} - -/* mov (d8,an), dm */ -void OP_6000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_8 (insn)] - = SEXT16 (load_half ((State.regs[REG_A0 + REG1_8 (insn)] - + SEXT8 (insn & 0xff)))); -} - -/* mov (d16,an), dm */ -void OP_F7C00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT16 (load_half ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT16 (insn & 0xffff)))); -} - -/* mov (d24,am), dn */ -void OP_F4800000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT16 (load_half ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)))); -} - -/* mov (di,an), dm */ -void OP_F140 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] - = SEXT16 (load_half ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)]))); -} - -/* mov (abs16), dn */ -void OP_C80000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] = SEXT16 (load_half ((insn & 0xffff))); -} - -/* mov (abs24), dn */ -void OP_F4C00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT16 (load_half ((((insn & 0xffff) << 8) + extension))); -} - -/* mov (d8,an), am */ -void OP_7000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_8 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1_8 (insn)] - + SEXT8 (insn & 0xff)))); -} - -/* mov (d16,an), am */ -void OP_F7B00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_16 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT16 (insn & 0xffff)))); -} - -/* mov (d24,am), an */ -void OP_F4F00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_16 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)))); -} - -/* mov (di,an), am */ -void OP_F100 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)]))); -} - -/* mov (abs16), an */ -void OP_F7300000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_16 (insn)] = SEXT24 (load_3_byte ((insn & 0xffff))); -} - -/* mov (abs24), an */ -void OP_F4D00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_16 (insn)] - = SEXT24 (load_3_byte ((((insn & 0xffff) << 8) + extension))); -} - -/* mov dm, (an) */ -void OP_0 (insn, extension) - unsigned long insn, extension; -{ - store_half (State.regs[REG_A0 + REG1 (insn)], - State.regs[REG_D0 + REG0 (insn)]); -} - -/* mov dm, (d8,an) */ -void OP_4000 (insn, extension) - unsigned long insn, extension; -{ - store_half (State.regs[REG_A0 + REG1_8 (insn)] + SEXT8 (insn & 0xff), - State.regs[REG_D0 + REG0_8 (insn)]); -} - -/* mov dm, (d16,an) */ -void OP_F7800000 (insn, extension) - unsigned long insn, extension; -{ - store_half (State.regs[REG_A0 + REG1_16 (insn)] + SEXT16 (insn & 0xffff), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* mov dm, (d24,am) */ -void OP_F4000000 (insn, extension) - unsigned long insn, extension; -{ - store_half ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* mov dm, (di,an) */ -void OP_F1C0 (insn, extension) - unsigned long insn, extension; -{ - store_half ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)]), - State.regs[REG_D0 + REG0 (insn)]); -} - -/* mov dn, (abs16) */ -void OP_C00000 (insn, extension) - unsigned long insn, extension; -{ - store_half ((insn & 0xffff), State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* mov dn, (abs24) */ -void OP_F4400000 (insn, extension) - unsigned long insn, extension; -{ - store_half (SEXT24 (((insn & 0xffff) << 8) + extension), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* mov am, (d8,an) */ -void OP_5000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte (State.regs[REG_A0 + REG1_8 (insn)] + SEXT8 (insn & 0xff), - State.regs[REG_A0 + REG0_8 (insn)]); -} - -/* mov am, (d16,an) */ -void OP_F7A00000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte (State.regs[REG_A0 + REG1_16 (insn)] + SEXT16 (insn & 0xffff), - State.regs[REG_A0 + REG0_16 (insn)]); -} - -/* mov am, (d24,an) */ -void OP_F4100000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)), - State.regs[REG_A0 + REG0_16 (insn)]); -} - -/* mov am, (di,an) */ -void OP_F180 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)]), - State.regs[REG_A0 + REG0 (insn)]); -} - -/* mov an, (abs16) */ -void OP_F7200000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte ((insn & 0xffff), State.regs[REG_A0 + REG0_16 (insn)]); -} - -/* mov an, (abs24) */ -void OP_F4500000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte (SEXT24 (((insn & 0xffff) << 8) + extension), - State.regs[REG_A0 + REG0_16 (insn)]); -} - -/* mov imm16, dn */ -void OP_F80000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] = SEXT16 (insn & 0xffff); -} - -/* mov imm24, dn */ -void OP_F4700000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT24 (((insn & 0xffff) << 8) + extension); -} - -/* mov imm16, an */ -void OP_DC0000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_16 (insn)] = insn & 0xffff; -} - -/* mov imm24, an */ -void OP_F4740000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_A0 + REG0_16 (insn)] - = SEXT24 (((insn & 0xffff) << 8) + extension); -} - -/* movx (d8,an), dm */ -void OP_F57000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_8 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1_8 (insn)] - + SEXT8 (insn & 0xff)))); -} - -/* movx (d16,an), dm */ -void OP_F7700000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT16 (insn & 0xffff)))); -} - -/* movx (d24,am), dn */ -void OP_F4B00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT24 (load_3_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)))); -} - -/* movx dm, (d8,an) */ -void OP_F55000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte (State.regs[REG_A0 + REG1_8 (insn)] + SEXT8 (insn & 0xff), - State.regs[REG_D0 + REG0_8 (insn)]); -} - -/* movx dm, (d16,an) */ -void OP_F7600000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte (State.regs[REG_A0 + REG1_16 (insn)] + SEXT16 (insn & 0xffff), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* movx dm, (d24,am) */ -void OP_F4300000 (insn, extension) - unsigned long insn, extension; -{ - store_3_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* movb (d8,an), dm */ -void OP_F52000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_8 (insn)] - = SEXT8 (load_byte ((State.regs[REG_A0 + REG1_8 (insn)] - + SEXT8 (insn & 0xff)))); -} - -/* movb (d16,an), dm */ -void OP_F7D00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT8 (load_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT16 (insn & 0xffff)))); -} - -/* movb (d24,am), dn */ -void OP_F4A00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT8 (load_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)))); -} - -/* movb (di,an), dm */ -void OP_F040 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] - = SEXT8 (load_byte ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)]))); -} - -/* mov (abs24), dn */ -void OP_F4C40000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = SEXT8 (load_byte ((((insn & 0xffff) << 8) + extension))); -} - -/* movb dm, (an) */ -void OP_10 (insn, extension) - unsigned long insn, extension; -{ - store_byte (State.regs[REG_A0 + REG1 (insn)], - State.regs[REG_D0 + REG0 (insn)]); -} - -/* movb dm, (d8,an) */ -void OP_F51000 (insn, extension) - unsigned long insn, extension; -{ - store_byte (State.regs[REG_A0 + REG1_8 (insn)] + SEXT8 (insn & 0xff), - State.regs[REG_D0 + REG0_8 (insn)]); -} - -/* movb dm, (d16,an) */ -void OP_F7900000 (insn, extension) - unsigned long insn, extension; -{ - store_byte (State.regs[REG_A0 + REG1_16 (insn)] + SEXT16 (insn & 0xffff), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* movb dm, (d24,am) */ -void OP_F4200000 (insn, extension) - unsigned long insn, extension; -{ - store_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension)), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* movb dm, (di,an) */ -void OP_F0C0 (insn, extension) - unsigned long insn, extension; -{ - store_byte ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)]), - State.regs[REG_D0 + REG0 (insn)]); -} - -/* movb dn, (abs16) */ -void OP_C40000 (insn, extension) - unsigned long insn, extension; -{ - store_byte ((insn & 0xffff), State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* movb dn, (abs24) */ -void OP_F4440000 (insn, extension) - unsigned long insn, extension; -{ - store_byte (SEXT24 (((insn & 0xffff) << 8) + extension), - State.regs[REG_D0 + REG0_16 (insn)]); -} - -/* movbu (an), dm */ -void OP_30 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] - = load_byte (State.regs[REG_A0 + REG1 (insn)]); -} - -/* movbu (d8,an), dm */ -void OP_F53000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_8 (insn)] - = load_byte ((State.regs[REG_A0 + REG1_8 (insn)] + SEXT8 (insn & 0xff))); -} - -/* movbu (d16,an), dm */ -void OP_F7500000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = load_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT16 (insn & 0xffff))); -} - -/* movbu (d24,am), dn */ -void OP_F4900000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = load_byte ((State.regs[REG_A0 + REG1_16 (insn)] - + SEXT24 (((insn & 0xffff) << 8) + extension))); -} - -/* movbu (di,an), dm */ -void OP_F080 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] - = load_byte ((State.regs[REG_A0 + REG1 (insn)] - + State.regs[REG_D0 + REG0_4 (insn)])); -} - -/* movbu (abs16), dn */ -void OP_CC0000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] = load_byte ((insn & 0xffff)); -} - -/* movbu (abs24), dn */ -void OP_F4C80000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0_16 (insn)] - = load_byte ((((insn & 0xffff) << 8) + extension)); -} - -/* ext dn */ -void OP_F3C1 (insn, extension) - unsigned long insn, extension; -{ - if (State.regs[REG_D0 + REG1 (insn)] & 0x8000) - State.regs[REG_MDR] = 0xffff; - else - State.regs[REG_MDR] = 0; -} - -/* extx dn */ -void OP_B0 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = SEXT16 (State.regs[REG_D0 + REG0 (insn)]); -} - -/* extxu dn */ -void OP_B4 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = State.regs[REG_D0 + REG0 (insn)] & 0xffff; -} - -/* extxb dn */ -void OP_B8 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = SEXT8 (State.regs[REG_D0 + REG0 (insn)]); -} - -/* extxbu dn */ -void OP_BC (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_D0 + REG0 (insn)] = State.regs[REG_D0 + REG0 (insn)] & 0xff; -} - -/* add dn,dm */ -void OP_90 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg1 + reg2); - State.regs[REG_D0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (reg2 & 0xffff)); - cx = (value < reg1) || (value < reg2); - v = ((reg2 & 0x8000) == (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) == (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add dm, an */ -void OP_F200 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_A0 + REG0 (insn)]); - value = TRUNC (reg1 + reg2); - State.regs[REG_A0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (reg2 & 0xffff)); - cx = (value < reg1) || (value < reg2); - v = ((reg2 & 0x8000) == (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) == (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add an, dm */ -void OP_F2C0 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg1 + reg2); - State.regs[REG_D0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (reg2 & 0xffff)); - cx = (value < reg1) || (value < reg2); - v = ((reg2 & 0x8000) == (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) == (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add an,am */ -void OP_F240 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_A0 + REG0 (insn)]); - value = TRUNC (reg1 + reg2); - State.regs[REG_A0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (reg2 & 0xffff)); - cx = (value < reg1) || (value < reg2); - v = ((reg2 & 0x8000) == (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) == (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add imm8, dn */ -void OP_D400 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_8 (insn)]); - imm = TRUNC (SEXT8 (insn & 0xff)); - value = TRUNC (reg1 + imm); - State.regs[REG_D0 + REG0_8 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (imm & 0xffff)); - cx = (value < reg1) || (value < imm); - v = ((reg1 & 0x8000) == (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) == (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add imm16, dn */ -void OP_F7180000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_16 (insn)]); - imm = TRUNC (SEXT16 (insn & 0xffff)); - value = TRUNC (reg1 + imm); - State.regs[REG_D0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (imm & 0xffff)); - cx = (value < reg1) || (value < imm); - v = ((reg1 & 0x8000) == (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) == (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add imm24,dn */ -void OP_F4600000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_16 (insn)]); - imm = TRUNC (((insn & 0xffff) << 8) + extension); - value = TRUNC (reg1 + imm); - State.regs[REG_D0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (imm & 0xffff)); - cx = (value < reg1) || (value < imm); - v = ((reg1 & 0x8000) == (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) == (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add imm8, an */ -void OP_D000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_8 (insn)]); - imm = TRUNC (SEXT8 (insn & 0xff)); - value = TRUNC (reg1 + imm); - State.regs[REG_A0 + REG0_8 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (imm & 0xffff)); - cx = (value < reg1) || (value < imm); - v = ((reg1 & 0x8000) == (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) == (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add imm16, an */ -void OP_F7080000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_16 (insn)]); - imm = TRUNC (SEXT16 (insn & 0xffff)); - value = TRUNC (reg1 + imm); - State.regs[REG_A0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (imm & 0xffff)); - cx = (value < reg1) || (value < imm); - v = ((reg1 & 0x8000) == (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) == (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* add imm24, an */ -void OP_F4640000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_16 (insn)]); - imm = TRUNC (((insn & 0xffff) << 8) + extension); - value = TRUNC (reg1 + imm); - State.regs[REG_A0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) || ((value & 0xffff) < (imm & 0xffff)); - cx = (value < reg1) || (value < imm); - v = ((reg1 & 0x8000) == (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) == (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* addc dm,dn */ -void OP_F280 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg1 + reg2 + ((PSW & PSW_CF) != 0)); - State.regs[REG_D0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((value & 0xffff) < (reg1 & 0xffff)) - || ((value & 0xffff) < (reg2 & 0xffff)); - cx = (value < reg1) || (value < reg2); - v = ((reg2 & 0x8000) == (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) == (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* addnf imm8, an */ -void OP_F50C00 (insn, extension) - unsigned long insn, extension; -{ - unsigned long reg1, imm, value; - - reg1 = State.regs[REG_A0 + REG0_8 (insn)]; - imm = SEXT8 (insn & 0xff); - value = reg1 + imm; - State.regs[REG_A0 + REG0_8 (insn)] = TRUNC (value); -} - -/* sub dn, dm */ -void OP_A0 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - State.regs[REG_D0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub dm, an */ -void OP_F210 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_A0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - State.regs[REG_A0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub an, dm */ -void OP_F2D0 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - State.regs[REG_D0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub an, am */ -void OP_F250 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_A0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - State.regs[REG_A0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub imm16, dn */ -void OP_F71C0000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_16 (insn)]); - imm = TRUNC (SEXT16 (insn & 0xffff)); - value = TRUNC (reg1 - imm); - State.regs[REG_D0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub imm24, dn */ -void OP_F4680000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_16 (insn)]); - imm = TRUNC (((insn & 0xffff) << 8) + extension); - value = TRUNC (reg1 - imm); - State.regs[REG_D0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub imm16, an */ -void OP_F70C0000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_16 (insn)]); - imm = TRUNC (SEXT16 (insn & 0xffff)); - value = TRUNC (reg1 - imm); - State.regs[REG_A0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* sub imm24, an */ -void OP_F46C0000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_16 (insn)]); - imm = TRUNC (((insn & 0xffff) << 8) + extension); - value = TRUNC (reg1 - imm); - State.regs[REG_A0 + REG0_16 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* subc dm, dn */ -void OP_F290 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1 - ((PSW & PSW_CF) != 0)); - State.regs[REG_D0 + REG0 (insn)] = value; - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* mul dn, dm */ -void OP_F340 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int n, z; - - temp = (SEXT16 (State.regs[REG_D0 + REG0 (insn)] & 0xffff) - * SEXT16 ((State.regs[REG_D0 + REG1 (insn)] & 0xffff))); - State.regs[REG_D0 + REG0 (insn)] = temp & 0xffffff; - State.regs[REG_MDR] = temp >> 16; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* mulu dn, dm */ -void OP_F350 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int n, z; - - temp = ((State.regs[REG_D0 + REG0 (insn)] & 0xffff) - * (State.regs[REG_D0 + REG1 (insn)] & 0xffff)); - State.regs[REG_D0 + REG0 (insn)] = temp & 0xffffff; - State.regs[REG_MDR] = temp >> 16; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - - -/* divu dm, dn */ -void OP_F360 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int n, z; - - temp = State.regs[REG_MDR]; - temp &= 0xffff; - temp <<= 16; - temp |= (State.regs[REG_D0 + REG0 (insn)] & 0xffff); - State.regs[REG_MDR] = (temp - % (unsigned long)(State.regs[REG_D0 + REG1 (insn)] & 0xffff)); - temp /= (unsigned long)(State.regs[REG_D0 + REG1 (insn)] & 0xffff); - State.regs[REG_D0 + REG0 (insn)] = temp & 0xffff; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* cmp imm8, dn */ -void OP_D800 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_8 (insn)]); - imm = TRUNC (SEXT8 (insn & 0xff)); - value = TRUNC (reg1 - imm); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); -} - -/* cmp dn, dm */ -void OP_F390 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp dm, an */ -void OP_F220 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_A0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp an, dm */ -void OP_F2E0 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_D0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp an, am */ -void OP_F260 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, reg2, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG1 (insn)]); - reg2 = TRUNC (State.regs[REG_A0 + REG0 (insn)]); - value = TRUNC (reg2 - reg1); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) > (reg2 & 0xffff)); - cx = (reg1 > reg2); - v = ((reg2 & 0x8000) != (reg1 & 0x8000) - && (reg2 & 0x8000) != (value & 0x8000)); - vx = ((reg2 & 0x800000) != (reg1 & 0x800000) - && (reg2 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp imm16, dn */ -void OP_F7480000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_16 (insn)]); - imm = TRUNC (SEXT16 (insn & 0xffff)); - value = TRUNC (reg1 - imm); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp imm24, dn */ -void OP_F4780000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_D0 + REG0_16 (insn)]); - imm = TRUNC (((insn & 0xffff) << 8) + extension); - value = TRUNC (reg1 - imm); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp imm16, an */ -void OP_EC0000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_16 (insn)]); - imm = TRUNC (insn & 0xffff); - value = TRUNC (reg1 - imm); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* cmp imm24, an */ -void OP_F47C0000 (insn, extension) - unsigned long insn, extension; -{ - int z, c, n, v, zx, cx, nx, vx; - unsigned long reg1, imm, value; - - reg1 = TRUNC (State.regs[REG_A0 + REG0_16 (insn)]); - imm = TRUNC (((insn & 0xffff) << 8) + extension); - value = TRUNC (reg1 - imm); - - z = ((value & 0xffff) == 0); - zx = (value == 0); - n = (value & 0x8000); - nx = (value & 0x800000); - c = ((reg1 & 0xffff) < (imm & 0xffff)); - cx = (reg1 < imm); - v = ((reg1 & 0x8000) != (imm & 0x8000) - && (reg1 & 0x8000) != (value & 0x8000)); - vx = ((reg1 & 0x800000) != (imm & 0x800000) - && (reg1 & 0x800000) != (value & 0x800000)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF - | PSW_ZX | PSW_NX | PSW_CX | PSW_VX); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0) - | (zx ? PSW_ZX : 0) | (nx ? PSW_NX : 0) - | (cx ? PSW_CX : 0) | (vx ? PSW_VX : 0)); - - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | ( n ? PSW_NF : 0) - | (c ? PSW_CF : 0) | (v ? PSW_VF : 0)); -} - -/* and dn, dm */ -void OP_F300 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0 (insn)] & State.regs[REG_D0 + REG1 (insn)]; - temp &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* and imm8, dn */ -void OP_F50000 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0_8 (insn)] & (insn & 0xff); - temp &= 0xffff; - State.regs[REG_D0 + REG0_8 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0_8 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0_8 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0_8 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* and imm16, dn */ -void OP_F7000000 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0_16 (insn)] & (insn & 0xffff); - temp &= 0xffff; - State.regs[REG_D0 + REG0_16 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0_16 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0_16 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0_16 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* and imm16, psw */ -void OP_F7100000 (insn, extension) - unsigned long insn, extension; -{ - PSW &= (insn & 0xffff); -} - -/* or dn, dm */ -void OP_F310 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0 (insn)] | State.regs[REG_D0 + REG1 (insn)]; - temp &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* or imm8, dn */ -void OP_F50800 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0_8 (insn)] | (insn & 0xff); - temp &= 0xffff; - State.regs[REG_D0 + REG0_8 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0_8 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0_8 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0_8 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* or imm16, dn */ -void OP_F7400000 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0_16 (insn)] | (insn & 0xffff); - temp &= 0xffff; - State.regs[REG_D0 + REG0_16 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0_16 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0_16 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0_16 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* or imm16, psw */ -void OP_F7140000 (insn, extension) - unsigned long insn, extension; -{ - PSW |= (insn & 0xffff); -} - -/* xor dn, dm */ -void OP_F320 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0 (insn)] ^ State.regs[REG_D0 + REG1 (insn)]; - temp &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* xor imm16, dn */ -void OP_F74C0000 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = State.regs[REG_D0 + REG0_16 (insn)] ^ (insn & 0xffff); - temp &= 0xffff; - State.regs[REG_D0 + REG0_16 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0_16 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0_16 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0_16 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* not dn */ -void OP_F3E4 (insn, extension) - unsigned long insn, extension; -{ - int n, z; - unsigned long temp; - - temp = ~State.regs[REG_D0 + REG0 (insn)]; - temp &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0)); -} - -/* asr dn */ -void OP_F338 (insn, extension) - unsigned long insn, extension; -{ - long temp; - int z, n, c, high; - - temp = State.regs[REG_D0 + REG0 (insn)] & 0xffff; - c = temp & 1; - high = temp & 0x8000; - temp >>= 1; - temp |= high; - temp &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) | (c ? PSW_CF : 0)); -} - -/* lsr dn */ -void OP_F33C (insn, extension) - unsigned long insn, extension; -{ - int z, n, c; - long temp; - - temp = State.regs[REG_D0 + REG0 (insn)] & 0xffff; - c = temp & 1; - temp >>= 1; - temp &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= temp; - z = (State.regs[REG_D0 + REG0 (insn)] & 0xffff) == 0; - n = (State.regs[REG_D0 + REG0 (insn)] & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) | (c ? PSW_CF : 0)); -} - -/* ror dn */ -void OP_F334 (insn, extension) - unsigned long insn, extension; -{ - unsigned long value; - int c,n,z; - - value = State.regs[REG_D0 + REG0 (insn)] & 0xffff; - c = (value & 0x1); - - value >>= 1; - value |= (PSW & PSW_CF ? 0x8000 : 0); - value &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= value; - z = (value == 0); - n = (value & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) | (c ? PSW_CF : 0)); -} - -/* rol dn */ -void OP_F330 (insn, extension) - unsigned long insn, extension; -{ - unsigned long value; - int c,n,z; - - value = State.regs[REG_D0 + REG0 (insn)] & 0xffff; - c = (value & 0x8000) ? 1 : 0; - - value <<= 1; - value |= (PSW & PSW_CF ? 0x1 : 0); - value &= 0xffff; - State.regs[REG_D0 + REG0 (insn)] &= ~0xffff; - State.regs[REG_D0 + REG0 (insn)] |= value; - z = (value == 0); - n = (value & 0x8000) != 0; - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= ((z ? PSW_ZF : 0) | (n ? PSW_NF : 0) | (c ? PSW_CF : 0)); -} - -/* btst imm8, dn */ -void OP_F50400 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int z; - - temp = State.regs[REG_D0 + REG0_8 (insn)]; - temp &= (insn & 0xff); - z = (temp == 0); - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= (z ? PSW_ZF : 0); -} - -/* btst imm16, dn */ -void OP_F7040000 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int z, n, c; - - temp = State.regs[REG_D0 + REG0_16 (insn)]; - c = temp & 0x1; - temp &= (insn & 0xffff); - n = (temp & 0x8000) != 0; - z = (temp == 0); - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= (z ? PSW_ZF : 0) | (n ? PSW_NF : 0) | (c ? PSW_CF : 0); -} - -/* bset dm, (an) */ -void OP_F020 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int z; - - temp = load_byte (State.regs[REG_A0 + REG1 (insn)]); - z = (temp & State.regs[REG_D0 + REG0 (insn)]) == 0; - temp |= State.regs[REG_D0 + REG0 (insn)]; - store_byte (State.regs[REG_A0 + REG1 (insn)], temp); - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= (z ? PSW_ZF : 0); -} - -/* bclr dm, (an) */ -void OP_F030 (insn, extension) - unsigned long insn, extension; -{ - unsigned long temp; - int z; - - temp = load_byte (State.regs[REG_A0 + REG1 (insn)]); - z = (temp & State.regs[REG_D0 + REG0 (insn)]) == 0; - temp = temp & ~State.regs[REG_D0 + REG0 (insn)]; - store_byte (State.regs[REG_A0 + REG1 (insn)], temp); - PSW &= ~(PSW_ZF | PSW_NF | PSW_CF | PSW_VF); - PSW |= (z ? PSW_ZF : 0); -} - -/* beqx label:8 */ -void OP_F5E800 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_ZX) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bnex label:8 */ -void OP_F5E900 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_ZX)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bgtx label:8 */ -void OP_F5E100 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!((PSW & PSW_ZX) - || (((PSW & PSW_NX) != 0) ^ ((PSW & PSW_VX) != 0)))) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bgex label:8 */ -void OP_F5E200 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(((PSW & PSW_NX) != 0) ^ ((PSW & PSW_VX) != 0))) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* blex label:8 */ -void OP_F5E300 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if ((PSW & PSW_ZX) - || (((PSW & PSW_NX) != 0) ^ ((PSW & PSW_VX) != 0))) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bltx label:8 */ -void OP_F5E000 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (((PSW & PSW_NX) != 0) ^ ((PSW & PSW_VX) != 0)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bhix label:8 */ -void OP_F5E500 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(((PSW & PSW_CX) != 0) || (PSW & PSW_ZX) != 0)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bccx label:8 */ -void OP_F5E600 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_CX)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* blsx label:8 */ -void OP_F5E700 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (((PSW & PSW_CX) != 0) || (PSW & PSW_ZX) != 0) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bcsx label:8 */ -void OP_F5E400 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_CX) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bvcx label:8 */ -void OP_F5EC00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_VX)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bvsx label:8 */ -void OP_F5ED00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_VX) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bncx label:8 */ -void OP_F5EE00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_NX)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bnsx label:8 */ -void OP_F5EF00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_NX) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* beq label:8 */ -void OP_E800 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_ZF) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bne label:8 */ -void OP_E900 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_ZF)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bgt label:8 */ -void OP_E100 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (!((PSW & PSW_ZF) - || (((PSW & PSW_NF) != 0) ^ ((PSW & PSW_VF) != 0)))) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bge label:8 */ -void OP_E200 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (!(((PSW & PSW_NF) != 0) ^ ((PSW & PSW_VF) != 0))) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* ble label:8 */ -void OP_E300 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if ((PSW & PSW_ZF) - || (((PSW & PSW_NF) != 0) ^ ((PSW & PSW_VF) != 0))) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* blt label:8 */ -void OP_E000 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (((PSW & PSW_NF) != 0) ^ ((PSW & PSW_VF) != 0)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bhi label:8 */ -void OP_E500 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (!(((PSW & PSW_CF) != 0) || (PSW & PSW_ZF) != 0)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bcc label:8 */ -void OP_E600 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_CF)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bls label:8 */ -void OP_E700 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (((PSW & PSW_CF) != 0) || (PSW & PSW_ZF) != 0) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bcs label:8 */ -void OP_E400 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_CF) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bvc label:8 */ -void OP_F5FC00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_VF)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bvs label:8 */ -void OP_F5FD00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_VF) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bnc label:8 */ -void OP_F5FE00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (!(PSW & PSW_NF)) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bns label:8 */ -void OP_F5FF00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 3 after we return, so - we subtract two here to make things right. */ - if (PSW & PSW_NF) - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* bra label:8 */ -void OP_EA00 (insn, extension) - unsigned long insn, extension; -{ - /* The dispatching code will add 2 after we return, so - we subtract two here to make things right. */ - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT8 (insn & 0xff)); -} - -/* jmp (an) */ -void OP_F000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_PC] = TRUNC (State.regs[REG_A0 + REG1 (insn)] - 2); -} - -/* jmp label:16 */ -void OP_FC0000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT16 (insn & 0xffff)); -} - -/* jmp label:24 */ -void OP_F4E00000 (insn, extension) - unsigned long insn, extension; -{ - State.regs[REG_PC] - = TRUNC (State.regs[REG_PC] + (((insn & 0xffff) << 8) + extension)); -} - -/* jsr (an) */ -void OP_F001 (insn, extension) - unsigned long insn, extension; -{ - unsigned int next_pc, sp; - - sp = State.regs[REG_SP]; - sp -= 4; - State.regs[REG_SP] = sp; - next_pc = State.regs[REG_PC] + 2; - State.mem[sp] = next_pc & 0xff; - State.mem[sp+1] = (next_pc & 0xff00) >> 8; - State.mem[sp+2] = (next_pc & 0xff0000) >> 16; - State.regs[REG_PC] = TRUNC (State.regs[REG_A0 + REG1 (insn)] - 2); -} - -/* jsr label:16 */ -void OP_FD0000 (insn, extension) - unsigned long insn, extension; -{ - unsigned int next_pc, sp; - - sp = State.regs[REG_SP]; - sp -= 4; - State.regs[REG_SP] = sp; - next_pc = State.regs[REG_PC] + 3; - State.mem[sp] = next_pc & 0xff; - State.mem[sp+1] = (next_pc & 0xff00) >> 8; - State.mem[sp+2] = (next_pc & 0xff0000) >> 16; - State.regs[REG_PC] = TRUNC (State.regs[REG_PC] + SEXT16 (insn & 0xffff)); -} - -/* jsr label:24 */ -void OP_F4E10000 (insn, extension) - unsigned long insn, extension; -{ - unsigned int next_pc, sp; - - sp = State.regs[REG_SP]; - sp -= 4; - State.regs[REG_SP] = sp; - next_pc = State.regs[REG_PC] + 5; - State.mem[sp] = next_pc & 0xff; - State.mem[sp+1] = (next_pc & 0xff00) >> 8; - State.mem[sp+2] = (next_pc & 0xff0000) >> 16; - State.regs[REG_PC] - = TRUNC (State.regs[REG_PC] + (((insn & 0xffff) << 8) + extension)); -} - -/* rts */ -void OP_FE (insn, extension) - unsigned long insn, extension; -{ - unsigned int sp; - - sp = State.regs[REG_SP]; - State.regs[REG_PC] = (State.mem[sp] | (State.mem[sp+1] << 8) - | (State.mem[sp+2] << 16)); - State.regs[REG_PC] -= 1; - State.regs[REG_SP] += 4; -} - -/* rti */ -void OP_EB (insn, extension) - unsigned long insn, extension; -{ - PSW = load_half (State.regs[REG_A0 + 3]); - State.regs[REG_PC] = load_3_byte (State.regs[REG_A0 + 3] + 2) - 1; - State.regs[REG_A0 + 3] += 6; -} - -/* syscall */ -void OP_F010 (insn, extension) - unsigned long insn, extension; -{ - /* We use this for simulated system calls; we may need to change - it to a reserved instruction if we conflict with uses at - Matsushita. */ - int save_errno = errno; - int offset = 6; - errno = 0; - -/* Registers passed to syscall 0 */ - -/* Function number. */ -#define FUNC (State.regs[0]) - -#define PARM1 (State.regs[1]) - -/* Parameters. */ -#define PARM(x, y) (load_mem (State.regs[REG_SP] + x, y)) - -/* Registers set by syscall 0 */ - -#define RETVAL State.regs[0] /* return value */ -#define RETERR State.regs[1] /* return error code */ - -/* Turn a pointer in a register into a pointer into real memory. */ - -#define MEMPTR(x) (State.mem + (x & 0xffffff)) - - switch (FUNC) - { -#if !defined(__GO32__) && !defined(_WIN32) -#ifdef TARGET_SYS_fork - case TARGET_SYS_fork: - RETVAL = fork (); - break; -#endif -#ifdef TARGET_SYS_execve - case TARGET_SYS_execve: - RETVAL = execve (MEMPTR (PARM1), (char **) MEMPTR (PARM (4, 4)), - (char **)MEMPTR (PARM (8, 4))); - break; -#endif -#ifdef TARGET_SYS_execv - case TARGET_SYS_execv: - RETVAL = execve (MEMPTR (PARM1), (char **) MEMPTR (PARM (4, 4)), NULL); - break; -#endif -#endif - - case TARGET_SYS_read: - RETVAL = mn10200_callback->read (mn10200_callback, PARM1, - MEMPTR (PARM (4, 4)), PARM (8, 4)); - break; - case TARGET_SYS_write: - RETVAL = (int)mn10200_callback->write (mn10200_callback, PARM1, - MEMPTR (PARM (4, 4)), - PARM (8, 4)); - break; - case TARGET_SYS_lseek: - RETVAL = mn10200_callback->lseek (mn10200_callback, PARM1, - PARM (4, 4), PARM (8, 2)); - break; - case TARGET_SYS_close: - RETVAL = mn10200_callback->close (mn10200_callback, PARM1); - break; - case TARGET_SYS_open: - RETVAL = mn10200_callback->open (mn10200_callback, MEMPTR (PARM1), - PARM (4, 2)); - break; - case TARGET_SYS_exit: - /* EXIT - caller can look in PARM1 to work out the - reason */ - if (PARM1 == 0xdead) - State.exception = SIGABRT; - else - State.exception = SIGQUIT; - State.exited = 1; - break; - - case TARGET_SYS_stat: /* added at hmsi */ - /* stat system call */ - { - struct stat host_stat; - reg_t buf; - - RETVAL = stat (MEMPTR (PARM1), &host_stat); - - buf = PARM (4, 4); - - /* Just wild-assed guesses. */ - store_half (buf, host_stat.st_dev); - store_half (buf + 2, host_stat.st_ino); - store_word (buf + 4, host_stat.st_mode); - store_half (buf + 8, host_stat.st_nlink); - store_half (buf + 10, host_stat.st_uid); - store_half (buf + 12, host_stat.st_gid); - store_half (buf + 14, host_stat.st_rdev); - store_word (buf + 16, host_stat.st_size); - store_word (buf + 20, host_stat.st_atime); - store_word (buf + 28, host_stat.st_mtime); - store_word (buf + 36, host_stat.st_ctime); - } - break; - -#ifdef TARGET_SYS_chown - case TARGET_SYS_chown: - RETVAL = chown (MEMPTR (PARM1), PARM (4, 2), PARM (6, 2)); - break; -#endif - case TARGET_SYS_chmod: - RETVAL = chmod (MEMPTR (PARM1), PARM (4, 2)); - break; -#ifdef TARGET_SYS_time - case TARGET_SYS_time: - RETVAL = time ((time_t *)MEMPTR (PARM1)); - break; -#endif -#ifdef TARGET_SYS_times - case TARGET_SYS_times: - { - struct tms tms; - RETVAL = times (&tms); - store_word (PARM1, tms.tms_utime); - store_word (PARM1 + 4, tms.tms_stime); - store_word (PARM1 + 8, tms.tms_cutime); - store_word (PARM1 + 12, tms.tms_cstime); - break; - } -#endif -#ifdef TARGET_SYS_gettimeofday - case TARGET_SYS_gettimeofday: - { - struct timeval t; - struct timezone tz; - RETVAL = gettimeofday (&t, &tz); - store_word (PARM1, t.tv_sec); - store_word (PARM1 + 4, t.tv_usec); - store_word (PARM (4, 4), tz.tz_minuteswest); - store_word (PARM (4, 4) + 4, tz.tz_dsttime); - break; - } -#endif -#ifdef TARGET_SYS_utime - case TARGET_SYS_utime: - /* Cast the second argument to void *, to avoid type mismatch - if a prototype is present. */ - RETVAL = utime (MEMPTR (PARM1), (void *) MEMPTR (PARM (4, 4))); - break; -#endif - default: - abort (); - } - RETERR = errno; - errno = save_errno; -} - -/* nop */ -void OP_F6 (insn, extension) - unsigned long insn, extension; -{ -} - -/* breakpoint */ -void -OP_FF (insn, extension) - unsigned long insn, extension; -{ - State.exception = SIGTRAP; - PC -= 1; -} diff --git a/sim/z8k/ChangeLog b/sim/z8k/ChangeLog deleted file mode 100644 index 1bc783beb86..00000000000 --- a/sim/z8k/ChangeLog +++ /dev/null @@ -1,514 +0,0 @@ -2003-02-27 Andrew Cagney - - * iface.c (sim_open, sim_create_inferior): Rename _bfd to bfd. - -2002-06-16 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -2002-06-09 Andrew Cagney - - * iface.c: Include "gdb/callback.h" and "gdb/remote-sim.h". - * support.c: Ditto. - -2002-06-06 Andrew Cagney - - * writecode.c (lookup_inst): Generate inverse table on-the-fly. - (z8k_inv_list): Delete global. - (DIRTY_HACK): Delete macro. - (makelist): Delete global. - (main): Delete code making a list. Delete dirty hack code. Use - lookup_inst instead of z8k_inv_list. - * list.c: Delete file. - * Makefile.in (writecode): Do not link in list.o. - (list.o): Delete target. - -2002-04-29 Nick Clifton - - * writecode.c (lookup_inst): Ignore CLASS_IGNORE. - (info_args): Treat CLASS_IGNORE like CLASS_BIT. - Handle ARG_NIM4. - (info_len_in_words): Handle CLASS_IGNORE and ARG_NIM4. - -Tue May 23 21:39:23 2000 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Thu Sep 2 18:15:53 1999 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -1999-05-08 Felix Lee - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Nov 25 18:22:10 1998 Andrew Cagney - - * support.c: Include - -Tue Apr 28 18:33:31 1998 Geoffrey Noer - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Sun Apr 26 15:31:55 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Sun Apr 26 15:18:45 1998 Tom Tromey - - * acconfig.h: New file. - * configure.in: Reverted change of Apr 24; use sinclude again. - -Fri Apr 24 14:16:40 1998 Tom Tromey - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Fri Apr 24 11:17:28 1998 Tom Tromey - - * configure.in: Don't use sinclude. - -Sat Apr 4 20:36:25 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Mar 27 16:15:52 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 25 12:35:29 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 18 12:38:12 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Feb 17 12:54:05 1998 Andrew Cagney - - * iface.c (sim_store_register, sim_fetch_register): Pass in length - parameter. Return -1. - -Sun Feb 1 16:47:51 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Sat Jan 31 18:15:41 1998 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Jan 19 22:26:29 1998 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Dec 15 23:17:11 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Thu Dec 4 09:21:05 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Oct 22 14:43:00 1997 Andrew Cagney - - * iface.c (sim_load): Pass lma_p and sim_write args to - sim_load_file. - -Fri Oct 3 09:28:00 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Sep 24 17:38:57 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Tue Sep 23 11:04:38 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Sep 22 11:46:20 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Sep 19 17:45:25 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Sep 17 13:23:45 1997 Andrew Cagney - - * Makefile.in (CONFIG_H): Use config.h from local directory. - -Mon Sep 15 17:36:15 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Thu Sep 4 17:21:23 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Aug 27 18:13:22 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Tue Aug 26 10:43:33 1997 Andrew Cagney - - * iface.c (sim_kill): Delete. - (sim_create_inferior): Add ABFD argument. - (sim_load): Move setting of PC from here. - (sim_create_inferior): To here. - (sim_open, sim_load): Add FIXME about need to move arch test to - sim_open. - -Mon Aug 25 17:50:22 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Mon Aug 25 16:36:10 1997 Andrew Cagney - - * iface.c (sim_open): Add ABFD argument. Change ARGV to PARGV. - -Tue May 20 10:28:07 1997 Andrew Cagney - - * iface.c (sim_set_callbacs): Delete SIM_DESC argument. - (sim_open): Add callback argument. - -Wed Apr 30 10:28:34 1997 Doug Evans - - * iface.c (sim_load): Set sim_z8001_mode if bfd_mach_z8001. - * tconfig.in (SIM_PRE_LOAD): Delete, no longer used. - -Thu Apr 24 00:39:51 1997 Doug Evans - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Fri Apr 18 14:18:06 1997 Andrew Cagney - - * mem.h (Z8k_PAGE_SIZE): Rename from PAGE_SIZE. Is it used? - - * iface.c (sim_stop): New function. - (NULL): Define if not already. - -Thu Apr 17 03:54:23 1997 Doug Evans - - * Makefile.in (SIM_OBJS): Add sim-load.o. - * iface.c: #include bfd.h. - (z8k_callback): New global. - (sim_kind, myname): New static locals. - (sim_open): Set sim_kind, myname. - (sim_load): Return SIM_RC. New arg abfd. Call sim_load_file to - load file into simulator. Set start address from bfd. - (sim_create_inferior): Return SIM_RC. Delete arg start_address. - (sim_set_callbacks): Set z8k_callback. - -Thu Apr 17 11:36:04 1997 Andrew Cagney - - * tm.h (sim_trace) : Remove prototype - now in remote-sim.h - * support.c (sim_trace): Update. - -Mon Apr 7 15:45:02 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - * config.in: Ditto. - -Wed Apr 2 15:06:28 1997 Doug Evans - - * iface.c (sim_open): New arg `kind'. - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Apr 2 14:34:19 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Wed Mar 19 01:14:00 1997 Andrew Cagney - - * configure: Regenerated to track ../common/aclocal.m4 changes. - -Mon Mar 17 15:10:07 1997 Andrew Cagney - - * configure: Re-generate. - -Fri Mar 14 10:34:11 1997 Michael Meissner - - * configure: Regenerate to track ../common/aclocal.m4 changes. - -Thu Mar 13 13:02:08 1997 Doug Evans - - * iface.c (sim_open): New SIM_DESC result. Argument is now - in argv form. - (other sim_*): New SIM_DESC argument. - -Tue Feb 4 13:33:30 1997 Doug Evans - - * Makefile.in (@COMMON_MAKEFILE_FRAG): Use - COMMON_{PRE,POST}_CONFIG_FRAG instead. - * configure.in: sinclude ../common/aclocal.m4. - * configure: Regenerated. - -Thu Jan 23 11:46:23 1997 Stu Grossman (grossman@critters.cygnus.com) - - * configure configure.in Makefile.in: Update to new configure - scheme which is more compatible with WinGDB builds. - * configure.in: Improve comment on how to run autoconf. - * configure: Re-run autoconf to get new ../common/aclocal.m4. - * Makefile.in: Use autoconf substitution to install common - makefile fragment. - -Wed Nov 20 02:28:21 1996 Doug Evans - - * Makefile.in: Delete stuff moved to ../common/Make-common.in. - (SIM_OBJS,SIM_EXTRA_CFLAGS,SIM_EXTRA_CLEAN): Define. - * configure.in: Simplify using macros in ../common/aclocal.m4. - * configure: Regenerated. - * iface.c (sim_size): New function. - (sim_stop_reason): Properly set sim_exited return code. - * support.c: #include "callback.h". - * run.c: Deleted, using one in ../common now. - * tconfig.in: New file. - -Thu Oct 3 16:19:07 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) - - * Makefile.in (mostlyclean): Don't remove config.log here. - -Wed Jun 26 12:32:29 1996 Jason Molenda (crash@godzilla.cygnus.co.jp) - - * Makefile.in (bindir, libdir, datadir, mandir, infodir, includedir, - INSTALL_PROGRAM, INSTALL_DATA): Use autoconf-set values. - (docdir): Removed. - * configure.in (AC_PREREQ): autoconf 2.5 or higher. - (AC_PROG_INSTALL): Added. - * configure: Rebuilt. - -Wed Feb 21 12:17:27 1996 Ian Lance Taylor - - * configure: Regenerate with autoconf 2.7. - -Thu Jan 11 16:59:07 1996 Jim Wilson - - * writecode.c (info_args, case CLASS_DISP8): Sign extend using - shifts instead of char cast. - (shift): Likewise. - -Fri Jan 5 15:36:26 1996 Jim Wilson - - * mem.c (get_page_and_offset): Allocate 16MB not 8MB. - -Fri Oct 13 15:02:45 1995 steve chamberlain - - * iface.c (sim_set_callbacks): New. - -Tue Oct 10 11:13:55 1995 Fred Fish - - * Makefile.in (BISON): Remove macro. - -Wed Sep 20 13:35:35 1995 Ian Lance Taylor - - * Makefile.in (maintainer-clean): New synonym for realclean. - -Fri Sep 8 13:16:10 1995 Ian Lance Taylor - - * Makefile.in (install): Don't install in $(tooldir). - - * configure.in: Call AC_CONFIG_HEADER. Don't try to use - bfd/hosts/*.h file or bfd/config/*.mh file. Call AC_PROG_CC and - AC_PROG_RANLIB. Substitute in values for CFLAGS, HDEFINES, AR, - and CC_FOR_BUILD. Call AC_CHECK_HEADERS for various header files. - Touch stamp.h if creating config.h. - * configure: Rebuild. - * config.in: New file, created by autoheader. - * Makefile.in (AR): Define as @AR@. - (CC): New variable, defined as @CC@. - (CFLAGS): Define as @CFLAGS@. - (CC_FOR_BUILD): New variable, defined as @CC_FOR_BUILD@. - (RANLIB): Define as @RANLIB@. - (HDEFINES, TDEFINES): New variables. - (@host_makefile_frag@): Remove. - (support.o, comped1.o, comped3.o): Depend upon config.h. - (compedb3.o, comped2.o): Likewise. - (mem.o): New target. - (tc-gen2.h): Depend upon writecode, not quick.c. - (writecode): Build using $(CC_FOR_BUILD). - (writecode.o, list.o, quick.o): New targets. - (mostlyclean): Make the same as clean, not distclean. - (clean): Remove config.log. - (distclean): Remove config.h and stamp-h. - (Makefile): Don't depend upon @frags@. Just rebuild Makefile when - invoking config.status. - (config.h, stamp-h): New targets. - * comped1.c: Don't include "sysdep.h". - (INLINE): Define as inline, not static inline. - * comped3.c, compedb3.c, run.c: Don't include "sysdep.h". - * mem.c: Include "config.h". Don't include "sysdep.h". Include - if it exists. - * support.c: Include "config.h". Don't include "sysdep.h". - Include . Include and if they - exists. Include and . - (get_now): Only use times if exists; otherwise use - time. - * writecode.c: Include "config.h". Include . Include - and if they exist. Include if - it exists and does not. - -Thu Aug 3 10:45:37 1995 Fred Fish - - * Update all FSF addresses except those in COPYING* files. - -Mon Jul 31 10:18:06 1995 steve chamberlain - - * support.c (normal_flags_16): Calculate carry correctly. - (support_call): Return values in std regs too. - -Fri Jul 28 12:10:06 1995 steve chamberlain - - * inlines.h (put_byte_mem_da): Moved. - * run.c (main): Return program result. - * support.c (support_call): Return exit argument. - * writecode.c (rotate): Fix a load of bugs. - (info_decode): Insert missing break after OPC_rrc. - -Wed Jul 5 16:13:43 1995 J.T. Conklin - - * Makefile.in, configure.in: converted to autoconf. - * configure: New file, generated with autconf 2.4. - - * z8k.mt: Removed. - -Fri Jun 30 16:53:09 1995 Stan Shebs - - * iface.c (sim_do_command): New function. - -Wed May 24 16:31:38 1995 Jim Wilson - - * configure.in: Fix typo in last change. - -Mon Mar 27 10:32:34 1995 J.T. Conklin - - * run.c: parse arguments with getopt(). - -Tue Feb 28 17:31:00 1995 Ian Lance Taylor - - * configure.in: Use ../../bfd/hosts/std-host.h if specific - host unavailable. - -Sun Feb 12 16:03:29 1995 Steve Chamberlain - - * iface.c (sim_stop_reason): (Make a bad syscall give a SIGILL. - * writecode.c (adiv): Divides are always signed. - -Wed Dec 28 21:30:09 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * inlines.h: Make INLINES static. - * mem.c (sitoptr): New instance. - * support.c (normal_flags_[32|16|8]): New functions. - (optimize_normal_flags): Use new functions. - * writecode.c (info_special): Handle sbc. (optimize_normal_flags): - Always recalc flags. - -Wed May 18 14:38:49 1994 Doug Evans (dje@canuck.cygnus.com) - - * support.c (sim_open): Delete from here. - (sim_set_args): Delete from here. - (sim_kill): Delete from here. - * iface.c (sim_*): Make result void where there isn't one. - (sim_clear_breakpoints): Delete. - (sim_set_pc): Delete. - (sim_info): Delete printf_fn arg, all callers changed. - (sim_open): Define here. - (sim_close): New function. - (sim_load): New function. - (sim_create_inferior): Renamed from sim_set_args. - (sim_kill): Define here. - * run.c (printf): Delete declaration. - (main): Call sim_create_inferior instead of sim_set_pc. - * sim.h (sim_clear_breakpoints): Delete. - -Wed May 18 13:22:02 1994 Steve Chamberlain (sac@jonny.cygnus.com) - - * writecode.c (main): Disable the chopping of large initializers. - GCC can now cope. - -Sat May 7 17:24:46 1994 Steve Chamberlain (sac@cygnus.com) - - * writecode.c (info_args): Add resflg and setflg. - * list.c : Regenerated. - * Makefile.in: First rule is now called 'all' - -Sat Dec 11 16:39:30 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * iface.c (sim_store_register): Get regval the right way up. - * writecode.c (info_args): Add lda. - -Tue Oct 26 13:01:46 1993 Doug Evans (dje@canuck.cygnus.com) - - * Makefile.in (INCDIR): Fix definition. - (CSEARCH): Add -I$(srcdir)/../../gdb - (comped1.o, comped3.o, compedb3.o, comped2.o): Use CSEARCH, not INCDIR. - * iface.c: Replace #include "../include/wait.h" with "remote-sim.h". - (sim_set_pc): int result, use SIM_ADDR for type of arg `addr'. - (sim_store_register): int result, pass value by reference. - (sim_fetch_register): Use unsigned char * for arg `buf'. - (sim_write): int result, use SIM_ADDR for `where' arg, - use unsigned char * for `what' arg. - (sim_read): Ditto. - (sim_resume): int result. - (sim_stop_reason): Renamed from sim_stop_signal, int result, - new arg `reason'. - (sim_info): int result, merge sim_info_print into here. - (sim_info_print): Deleted. - * run.c: #include - (main): Update call to sim_info. - * sim.h: Remove various prototypes defined in remote-sim.h. - -Sat Oct 23 15:16:45 1993 Doug Evans (dje@canuck.cygnus.com) - - * iface.c (sim_stop_signal): Result is now enum sim_stop. - -Thu Oct 7 19:01:07 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * writecode.c (doset, info_docode): Understand set and res insns. - -Thu Sep 30 11:30:42 1993 Steve Chamberlain (sac@phydeaux.cygnus.com) - - * support.c (tm_info_print): If no timetaken, don't divide by zero. - -Fri Jul 30 15:51:54 1993 david d `zoo' zuhn (zoo@rtl.cygnus.com) - - * writecode.c (div): rename to divide, to resolve conflict with - ANSI function div from - -Mon Mar 15 15:48:50 1993 Ian Lance Taylor (ian@cygnus.com) - - * z8k.mt (DO_INSTALL): Renamed from INSTALL. - -Tue Mar 9 12:32:29 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * writecode.c (main): Make the vector 'big' static, so that it - will compile on the apollo. - * support.c: Use the ANSI compilant __inline__. - -Fri Mar 5 07:54:18 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * writecode.c (main): When using gcc, split the tables into - sections so that it will compile. - * Makefile.in: Get ar args right. - * tm.h: Fix gcc prototypes. - -Wed Mar 3 15:04:48 1993 Steve Chamberlain (sac@poseidon.cygnus.com) - - * support.c (fail): Get the argument count right. - * tm.h: Lint. - * writecode.c (main): Pass all the arguments emit needs. - -Tue Feb 2 07:49:42 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * lint, prototypes - -Fri Jan 15 12:43:08 1993 Steve Chamberlain (sac@thepub.cygnus.com) - - * New - - diff --git a/sim/z8k/Makefile.in b/sim/z8k/Makefile.in deleted file mode 100644 index db3f9318ac3..00000000000 --- a/sim/z8k/Makefile.in +++ /dev/null @@ -1,63 +0,0 @@ -# Makefile template for Configure for the z8k sim library. -# Copyright (C) 1993, 95, 96, 1997 Free Software Foundation, Inc. -# Written by Cygnus Support. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -## COMMON_PRE_CONFIG_FRAG - -SIM_OBJS = iface.o mem.o support.o quick.o \ - comped1.o comped2.o comped3.o compedb3.o sim-load.o -# FIXME: hack to find syscall.h. Better support for syscall.h is -# in progress. -SIM_EXTRA_CFLAGS = -I$(srcdir)/../../newlib/libc/sys/z8k -SIM_EXTRA_CLEAN = clean-extra - -CONFIG_H = config.h - -## COMMON_POST_CONFIG_FRAG - -support.o:support.c inlines.h $(CONFIG_H) -mem.o: mem.c tm.h mem.h sim.h $(CONFIG_H) - -comped1.o:comped1.c tc-gen1.h $(CONFIG_H) -comped3.o:comped3.c tc-gen3.h $(CONFIG_H) -compedb3.o:compedb3.c tc-genb3.h $(CONFIG_H) -comped2.o:comped2.c tc-gen2.h $(CONFIG_H) - -tc-gen1.h:writecode - ./writecode -1 >tc-gen1.h - -tc-gen2.h:writecode - ./writecode -2 >tc-gen2.h - -tc-gen3.h:writecode - ./writecode -3 >tc-gen3.h - -tc-genb3.h:writecode - ./writecode -b3 >tc-genb3.h - -writecode: writecode.o bquick.o - $(CC_FOR_BUILD) -o writecode writecode.o bquick.o - -writecode.o: writecode.c $(CONFIG_H) - $(CC_FOR_BUILD) -c $(CFLAGS) $(HDEFINES) $(CSEARCH) $(CSWITCHES) $(srcdir)/writecode.c - -# Two copies of quick.o are created. One for $build and one for $host. -bquick.o: quick.c - $(CC_FOR_BUILD) -c $(CFLAGS) $(HDEFINES) $(CSEARCH) $(CSWITCHES) $(srcdir)/quick.c -o bquick.o - -clean-extra: - rm -f tc-gen1.h tc-gen2.h tc-gen3.h tc-genb3.h writecode diff --git a/sim/z8k/acconfig.h b/sim/z8k/acconfig.h deleted file mode 100644 index f9b87a10c60..00000000000 --- a/sim/z8k/acconfig.h +++ /dev/null @@ -1,15 +0,0 @@ - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have catgets and don't want to use GNU gettext. */ -#undef HAVE_CATGETS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES diff --git a/sim/z8k/comped1.c b/sim/z8k/comped1.c deleted file mode 100644 index 6c565138cfb..00000000000 --- a/sim/z8k/comped1.c +++ /dev/null @@ -1,31 +0,0 @@ -/* instruction interpreter module 1 - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KZIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include -#include "tm.h" -#include "sim.h" - - -#ifdef __GNUC__ -#define INLINE inline -#include "inlines.h" -#endif - -#include "tc-gen1.h" - diff --git a/sim/z8k/comped2.c b/sim/z8k/comped2.c deleted file mode 100644 index 60012d17034..00000000000 --- a/sim/z8k/comped2.c +++ /dev/null @@ -1,25 +0,0 @@ -/* instruction interpreter module 2 - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include -#include "tm.h" -#include "sim.h" -#include "tc-gen2.h" - - diff --git a/sim/z8k/comped3.c b/sim/z8k/comped3.c deleted file mode 100644 index c5269699170..00000000000 --- a/sim/z8k/comped3.c +++ /dev/null @@ -1,28 +0,0 @@ -/* instruction interpreter module 2 - Copyright (C) 1987, 1992 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - -#include -#include "tm.h" -#include "sim.h" - -#include "inlines.h" -#include "tc-gen3.h" - - diff --git a/sim/z8k/compedb3.c b/sim/z8k/compedb3.c deleted file mode 100644 index 54541dbf1df..00000000000 --- a/sim/z8k/compedb3.c +++ /dev/null @@ -1,29 +0,0 @@ -/* instruction interpreter module 3 - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#define ushort_type unsigned short - -#include -#include "tm.h" -#include "sim.h" -#include "inlines.h" - -#include "tc-genb3.h" - - diff --git a/sim/z8k/config.in b/sim/z8k/config.in deleted file mode 100644 index 7547724b34a..00000000000 --- a/sim/z8k/config.in +++ /dev/null @@ -1,161 +0,0 @@ -/* config.in. Generated automatically from configure.in by autoheader. */ - -/* Define if using alloca.c. */ -#undef C_ALLOCA - -/* Define to empty if the keyword does not work. */ -#undef const - -/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems. - This function is required for alloca.c support on those systems. */ -#undef CRAY_STACKSEG_END - -/* Define if you have alloca, as a function or macro. */ -#undef HAVE_ALLOCA - -/* Define if you have and it should be used (not on Ultrix). */ -#undef HAVE_ALLOCA_H - -/* Define if you have a working `mmap' system call. */ -#undef HAVE_MMAP - -/* Define as __inline if that's what the C compiler calls it. */ -#undef inline - -/* Define to `long' if doesn't define. */ -#undef off_t - -/* Define if you need to in order for stat and other things to work. */ -#undef _POSIX_SOURCE - -/* Define as the return type of signal handlers (int or void). */ -#undef RETSIGTYPE - -/* Define to `unsigned' if doesn't define. */ -#undef size_t - -/* If using the C implementation of alloca, define if you know the - direction of stack growth for your system; otherwise it will be - automatically deduced at run-time. - STACK_DIRECTION > 0 => grows toward higher addresses - STACK_DIRECTION < 0 => grows toward lower addresses - STACK_DIRECTION = 0 => direction of growth unknown - */ -#undef STACK_DIRECTION - -/* Define if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if NLS is requested. */ -#undef ENABLE_NLS - -/* Define as 1 if you have gettext and don't want to use GNU gettext. */ -#undef HAVE_GETTEXT - -/* Define as 1 if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if your locale.h file contains LC_MESSAGES. */ -#undef HAVE_LC_MESSAGES - -/* Define if you have the __argz_count function. */ -#undef HAVE___ARGZ_COUNT - -/* Define if you have the __argz_next function. */ -#undef HAVE___ARGZ_NEXT - -/* Define if you have the __argz_stringify function. */ -#undef HAVE___ARGZ_STRINGIFY - -/* Define if you have the __setfpucw function. */ -#undef HAVE___SETFPUCW - -/* Define if you have the dcgettext function. */ -#undef HAVE_DCGETTEXT - -/* Define if you have the getcwd function. */ -#undef HAVE_GETCWD - -/* Define if you have the getpagesize function. */ -#undef HAVE_GETPAGESIZE - -/* Define if you have the getrusage function. */ -#undef HAVE_GETRUSAGE - -/* Define if you have the munmap function. */ -#undef HAVE_MUNMAP - -/* Define if you have the putenv function. */ -#undef HAVE_PUTENV - -/* Define if you have the setenv function. */ -#undef HAVE_SETENV - -/* Define if you have the setlocale function. */ -#undef HAVE_SETLOCALE - -/* Define if you have the sigaction function. */ -#undef HAVE_SIGACTION - -/* Define if you have the stpcpy function. */ -#undef HAVE_STPCPY - -/* Define if you have the strcasecmp function. */ -#undef HAVE_STRCASECMP - -/* Define if you have the strchr function. */ -#undef HAVE_STRCHR - -/* Define if you have the time function. */ -#undef HAVE_TIME - -/* Define if you have the header file. */ -#undef HAVE_ARGZ_H - -/* Define if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define if you have the header file. */ -#undef HAVE_FPU_CONTROL_H - -/* Define if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define if you have the header file. */ -#undef HAVE_LOCALE_H - -/* Define if you have the header file. */ -#undef HAVE_MALLOC_H - -/* Define if you have the header file. */ -#undef HAVE_NL_TYPES_H - -/* Define if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define if you have the header file. */ -#undef HAVE_STRING_H - -/* Define if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_RESOURCE_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_SYS_TIMES_H - -/* Define if you have the header file. */ -#undef HAVE_TIME_H - -/* Define if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define if you have the header file. */ -#undef HAVE_VALUES_H diff --git a/sim/z8k/configure b/sim/z8k/configure deleted file mode 100755 index c21edf82008..00000000000 --- a/sim/z8k/configure +++ /dev/null @@ -1,4024 +0,0 @@ -#! /bin/sh - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -sim_inline="-DDEFAULT_INLINE=0" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# This file is derived from `gettext.m4'. The difference is that the -# included macros assume Cygnus-style source and build trees. - -# Macro to add for using GNU gettext. -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 3 - - - - - -# Search path for a program which passes the given test. -# Ulrich Drepper , 1996. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - - - -# Check whether LC_MESSAGES is available in . -# Ulrich Drepper , 1995. -# -# This file file be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU Public License -# but which still want to provide support for the GNU gettext functionality. -# Please note that the actual code is *not* freely available. - -# serial 1 - - - - - - -# Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. - -# Defaults: -ac_help= -ac_default_prefix=/usr/local -# Any additions from configure.in: -ac_help="$ac_help - --disable-nls do not use Native Language Support" -ac_help="$ac_help - --with-included-gettext use the GNU gettext library included here" -ac_help="$ac_help - --enable-maintainer-mode Enable developer functionality." -ac_help="$ac_help - --enable-sim-bswap Use Host specific BSWAP instruction." -ac_help="$ac_help - --enable-sim-cflags=opts Extra CFLAGS for use in building simulator" -ac_help="$ac_help - --enable-sim-debug=opts Enable debugging flags" -ac_help="$ac_help - --enable-sim-stdio Specify whether to use stdio for console input/output." -ac_help="$ac_help - --enable-sim-trace=opts Enable tracing flags" -ac_help="$ac_help - --enable-sim-profile=opts Enable profiling flags" - -# Initialize some variables set by options. -# The variables have the same names as the options, with -# dashes changed to underlines. -build=NONE -cache_file=./config.cache -exec_prefix=NONE -host=NONE -no_create= -nonopt=NONE -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -sitefile= -srcdir= -target=NONE -verbose= -x_includes=NONE -x_libraries=NONE -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' -includedir='${prefix}/include' -oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' - -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - -ac_prev= -for ac_option -do - - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" - ac_prev= - continue - fi - - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case "$ac_option" in - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; - - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; - - -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; - - -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --site-file=FILE use FILE as the site file - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; - - -host | --host | --hos | --ho) - ac_prev=host ;; - -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; - - -site-file | --site-file | --site-fil | --site-fi | --site-f) - ac_prev=sitefile ;; - -site-file=* | --site-file=* | --site-fil=* | --site-fi=* | --site-f=*) - sitefile="$ac_optarg" ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; - - -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; - - -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` - # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; - - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } - ;; - - *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" - ;; - - esac -done - -if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -fi - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 -fi -exec 5>./config.log - -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 - -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done - -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h - -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=Makefile.in - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. - srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi -fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` - -# Prefer explicitly selected file to automatically selected ones. -if test -z "$sitefile"; then - if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi - fi -else - CONFIG_SITE="$sitefile" -fi -for ac_site_file in $CONFIG_SITE; do - if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" - . "$ac_site_file" - fi -done - -if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file -else - echo "creating cache $cache_file" - > $cache_file -fi - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi - - - -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:679: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:700: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:717: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:734: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:759: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftestmake <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no -fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 - SET_MAKE= -else - echo "$ac_t""no" 1>&6 - SET_MAKE="MAKE=${MAKE-make}" -fi - -echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:786: checking for POSIXized ISC" >&5 -if test -d /etc/conf/kconfig.d && - grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 -then - echo "$ac_t""yes" 1>&6 - ISC=yes # If later tests want to check for ISC. - cat >> confdefs.h <<\EOF -#define _POSIX_SOURCE 1 -EOF - - if test "$GCC" = yes; then - CC="$CC -posix" - else - CC="$CC -Xp" - fi -else - echo "$ac_t""no" 1>&6 - ISC= -fi - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:807: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#include -#include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:820: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - ac_cv_header_stdc=yes -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext < -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then - : -else - rm -rf conftest* - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then - : -else - cat > conftest.$ac_ext < -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - : -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no -fi -rm -fr conftest* -fi - -fi -fi - -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF -#define STDC_HEADERS 1 -EOF - -fi - -echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:911: checking for working const" >&5 -if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <j = 5; -} -{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ - const int foo = 10; -} - -; return 0; } -EOF -if { (eval echo configure:965: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_const=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_const=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_c_const" 1>&6 -if test $ac_cv_c_const = no; then - cat >> confdefs.h <<\EOF -#define const -EOF - -fi - -echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:986: checking for inline" >&5 -if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_cv_c_inline=no -for ac_kw in inline __inline__ __inline; do - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_c_inline=$ac_kw; break -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 -fi -rm -f conftest* -done - -fi - -echo "$ac_t""$ac_cv_c_inline" 1>&6 -case "$ac_cv_c_inline" in - inline | yes) ;; - no) cat >> confdefs.h <<\EOF -#define inline -EOF - ;; - *) cat >> confdefs.h <&6 -echo "configure:1026: checking for off_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_off_t=yes -else - rm -rf conftest* - ac_cv_type_off_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_off_t" 1>&6 -if test $ac_cv_type_off_t = no; then - cat >> confdefs.h <<\EOF -#define off_t long -EOF - -fi - -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:1059: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_type_size_t=yes -else - rm -rf conftest* - ac_cv_type_size_t=no -fi -rm -f conftest* - -fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned -EOF - -fi - -# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works -# for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:1094: checking for working alloca.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:1106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA_H 1 -EOF - -fi - -echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1127: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -# define alloca _alloca -# else -# if HAVE_ALLOCA_H -# include -# else -# ifdef _AIX - #pragma alloca -# else -# ifndef alloca /* predefined by HP cc +Olibcalls */ -char *alloca (); -# endif -# endif -# endif -# endif -#endif - -int main() { -char *p = (char *) alloca(1); -; return 0; } -EOF -if { (eval echo configure:1160: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_func_alloca_works=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 -if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_ALLOCA 1 -EOF - -fi - -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF -#define C_ALLOCA 1 -EOF - - -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:1192: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* - ac_cv_os_cray=yes -else - rm -rf conftest* - ac_cv_os_cray=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 -if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1222: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1250: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <&6 -fi - -done -fi - -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:1277: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_c_stack_direction=0 -else - cat > conftest.$ac_ext < addr) ? 1 : -1; -} -main () -{ - exit (find_stack_direction() < 0); -} -EOF -if { (eval echo configure:1304: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_c_stack_direction=1 -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <&6 -echo "configure:1329: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1339: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getpagesize -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1368: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:1396: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - -echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:1421: checking for working mmap" >&5 -if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$cross_compiling" = yes; then - ac_cv_func_mmap_fixed_mapped=no -else - cat > conftest.$ac_ext < -#include -#include - -/* This mess was copied from the GNU getpagesize.h. */ -#ifndef HAVE_GETPAGESIZE -# ifdef HAVE_UNISTD_H -# include -# endif - -/* Assume that all systems that can run configure have sys/param.h. */ -# ifndef HAVE_SYS_PARAM_H -# define HAVE_SYS_PARAM_H 1 -# endif - -# ifdef _SC_PAGESIZE -# define getpagesize() sysconf(_SC_PAGESIZE) -# else /* no _SC_PAGESIZE */ -# ifdef HAVE_SYS_PARAM_H -# include -# ifdef EXEC_PAGESIZE -# define getpagesize() EXEC_PAGESIZE -# else /* no EXEC_PAGESIZE */ -# ifdef NBPG -# define getpagesize() NBPG * CLSIZE -# ifndef CLSIZE -# define CLSIZE 1 -# endif /* no CLSIZE */ -# else /* no NBPG */ -# ifdef NBPC -# define getpagesize() NBPC -# else /* no NBPC */ -# ifdef PAGESIZE -# define getpagesize() PAGESIZE -# endif /* PAGESIZE */ -# endif /* no NBPC */ -# endif /* no NBPG */ -# endif /* no EXEC_PAGESIZE */ -# else /* no HAVE_SYS_PARAM_H */ -# define getpagesize() 8192 /* punt totally */ -# endif /* no HAVE_SYS_PARAM_H */ -# endif /* no _SC_PAGESIZE */ - -#endif /* no HAVE_GETPAGESIZE */ - -#ifdef __cplusplus -extern "C" { void *malloc(unsigned); } -#else -char *malloc(); -#endif - -int -main() -{ - char *data, *data2, *data3; - int i, pagesize; - int fd; - - pagesize = getpagesize(); - - /* - * First, make a file with some known garbage in it. - */ - data = malloc(pagesize); - if (!data) - exit(1); - for (i = 0; i < pagesize; ++i) - *(data + i) = rand(); - umask(0); - fd = creat("conftestmmap", 0600); - if (fd < 0) - exit(1); - if (write(fd, data, pagesize) != pagesize) - exit(1); - close(fd); - - /* - * Next, try to mmap the file at a fixed address which - * already has something else allocated at it. If we can, - * also make sure that we see the same garbage. - */ - fd = open("conftestmmap", O_RDWR); - if (fd < 0) - exit(1); - data2 = malloc(2 * pagesize); - if (!data2) - exit(1); - data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1); - if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE, - MAP_PRIVATE | MAP_FIXED, fd, 0L)) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data2 + i)) - exit(1); - - /* - * Finally, make sure that changes to the mapped area - * do not percolate back to the file as seen by read(). - * (This is a bug on some variants of i386 svr4.0.) - */ - for (i = 0; i < pagesize; ++i) - *(data2 + i) = *(data2 + i) + 1; - data3 = malloc(pagesize); - if (!data3) - exit(1); - if (read(fd, data3, pagesize) != pagesize) - exit(1); - for (i = 0; i < pagesize; ++i) - if (*(data + i) != *(data3 + i)) - exit(1); - close(fd); - unlink("conftestmmap"); - exit(0); -} - -EOF -if { (eval echo configure:1569: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_func_mmap_fixed_mapped=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_mmap_fixed_mapped=no -fi -rm -fr conftest* -fi - -fi - -echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6 -if test $ac_cv_func_mmap_fixed_mapped = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_MMAP 1 -EOF - -fi - -echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6 -echo "configure:1592: checking for Cygwin environment" >&5 -if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_cygwin=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_cygwin=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_cygwin" 1>&6 -CYGWIN= -test "$ac_cv_cygwin" = yes && CYGWIN=yes -echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6 -echo "configure:1625: checking for mingw32 environment" >&5 -if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_mingw32=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_mingw32=no -fi -rm -f conftest* -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_mingw32" 1>&6 -MINGW32= -test "$ac_cv_mingw32" = yes && MINGW32=yes - -# autoconf.info says this should be called right after AC_INIT. - - -ac_aux_dir= -for ac_dir in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../..; do - if test -f $ac_dir/install-sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f $ac_dir/install.sh; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - fi -done -if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in `cd $srcdir;pwd`/../.. $srcdir/`cd $srcdir;pwd`/../.." 1>&2; exit 1; } -fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. - - -# Do some error checking and defaulting for the host and target type. -# The inputs are: -# configure --host=HOST --target=TARGET --build=BUILD NONOPT -# -# The rules are: -# 1. You are not allowed to specify --host, --target, and nonopt at the -# same time. -# 2. Host defaults to nonopt. -# 3. If nonopt is not specified, then host defaults to the current host, -# as determined by config.guess. -# 4. Target and build default to nonopt. -# 5. If nonopt is not specified, then target and build default to host. - -# The aliases save the names the user supplied, while $host etc. -# will get canonicalized. -case $host---$target---$nonopt in -NONE---*---* | *---NONE---* | *---*---NONE) ;; -*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -esac - - -# Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -fi - -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1704: checking host system type" >&5 - -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; -esac - -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 - -echo $ac_n "checking target system type""... $ac_c" 1>&6 -echo "configure:1725: checking target system type" >&5 - -target_alias=$target -case "$target_alias" in -NONE) - case $nonopt in - NONE) target_alias=$host_alias ;; - *) target_alias=$nonopt ;; - esac ;; -esac - -target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$target" 1>&6 - -echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:1743: checking build system type" >&5 - -build_alias=$build -case "$build_alias" in -NONE) - case $nonopt in - NONE) build_alias=$host_alias ;; - *) build_alias=$nonopt ;; - esac ;; -esac - -build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$build" 1>&6 - -test "$host_alias" != "$target_alias" && - test "$program_prefix$program_suffix$program_transform_name" = \ - NONENONEs,x,x, && - program_prefix=${target_alias}- - -if test "$program_transform_name" = s,x,x,; then - program_transform_name= -else - # Double any \ or $. echo might interpret backslashes. - cat <<\EOF_SED > conftestsed -s,\\,\\\\,g; s,\$,$$,g -EOF_SED - program_transform_name="`echo $program_transform_name|sed -f conftestsed`" - rm -f conftestsed -fi -test "$program_prefix" != NONE && - program_transform_name="s,^,${program_prefix},; $program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s,\$\$,${program_suffix},; $program_transform_name" - -# sed with no file args requires a program. -test "$program_transform_name" = "" && program_transform_name="s,x,x," - -# Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1787: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1817: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# -gt 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" - fi -fi -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1868: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -CC="$ac_cv_prog_CC" -if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - ;; - esac - fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -fi - -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1900: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 - -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -cat > conftest.$ac_ext << EOF - -#line 1911 "configure" -#include "confdefs.h" - -main(){return(0);} -EOF -if { (eval echo configure:1916: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no - else - ac_cv_prog_cc_cross=yes - fi -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no -fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross - -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } -fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1942: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross - -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1947: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes -else - ac_cv_prog_gcc=no -fi -fi - -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 - -if test $ac_cv_prog_gcc = yes; then - GCC=yes -else - GCC= -fi - -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1975: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then - ac_cv_prog_cc_g=yes -else - ac_cv_prog_cc_g=no -fi -rm -f conftest* - -fi - -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:2018: checking for a BSD compatible install" >&5 -if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then - if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 - fi - fi - done - ;; - esac - done - IFS="$ac_save_IFS" - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" - else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" - fi -fi -echo "$ac_t""$INSTALL" 1>&6 - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - - -# Put a plausible default for CC_FOR_BUILD in Makefile. -if test "x$cross_compiling" = "xno"; then - CC_FOR_BUILD='$(CC)' -else - CC_FOR_BUILD=gcc -fi - - - - -AR=${AR-ar} - -# Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2086: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_RANLIB="ranlib" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -fi -fi -RANLIB="$ac_cv_prog_RANLIB" -if test -n "$RANLIB"; then - echo "$ac_t""$RANLIB" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - -ALL_LINGUAS= - - for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \ -unistd.h values.h sys/param.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2121: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2131: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \ -__argz_count __argz_stringify __argz_next -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2161: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2189: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - - if test "${ac_cv_func_stpcpy+set}" != "set"; then - for ac_func in stpcpy -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2218: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2246: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - fi - if test "${ac_cv_func_stpcpy}" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_STPCPY 1 -EOF - - fi - - if test $ac_cv_header_locale_h = yes; then - echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:2280: checking for LC_MESSAGES" >&5 -if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return LC_MESSAGES -; return 0; } -EOF -if { (eval echo configure:2292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - am_cv_val_LC_MESSAGES=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - am_cv_val_LC_MESSAGES=no -fi -rm -f conftest* -fi - -echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6 - if test $am_cv_val_LC_MESSAGES = yes; then - cat >> confdefs.h <<\EOF -#define HAVE_LC_MESSAGES 1 -EOF - - fi - fi - echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:2313: checking whether NLS is requested" >&5 - # Check whether --enable-nls or --disable-nls was given. -if test "${enable_nls+set}" = set; then - enableval="$enable_nls" - USE_NLS=$enableval -else - USE_NLS=yes -fi - - echo "$ac_t""$USE_NLS" 1>&6 - - - USE_INCLUDED_LIBINTL=no - - if test "$USE_NLS" = "yes"; then - cat >> confdefs.h <<\EOF -#define ENABLE_NLS 1 -EOF - - echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:2333: checking whether included gettext is requested" >&5 - # Check whether --with-included-gettext or --without-included-gettext was given. -if test "${with_included_gettext+set}" = set; then - withval="$with_included_gettext" - nls_cv_force_use_gnu_gettext=$withval -else - nls_cv_force_use_gnu_gettext=no -fi - - echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6 - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - nls_cv_header_intl= - nls_cv_header_libgt= - CATOBJEXT=NONE - - ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:2352: checking for libintl.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2362: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:2379: checking for gettext in libc" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -int main() { -return (int) gettext ("") -; return 0; } -EOF -if { (eval echo configure:2391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libc=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libc=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 - - if test "$gt_cv_func_gettext_libc" != "yes"; then - echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:2407: checking for bindtextdomain in -lintl" >&5 -ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lintl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:2442: checking for gettext in libintl" >&5 -if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - gt_cv_func_gettext_libintl=yes -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - gt_cv_func_gettext_libintl=no -fi -rm -f conftest* -fi - -echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - fi - - if test "$gt_cv_func_gettext_libc" = "yes" \ - || test "$gt_cv_func_gettext_libintl" = "yes"; then - cat >> confdefs.h <<\EOF -#define HAVE_GETTEXT 1 -EOF - - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2482: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - if test "$MSGFMT" != "no"; then - for ac_func in dcgettext -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2516: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:2544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2571: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2607: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - CATOBJEXT=.gmo - DATADIRNAME=share -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CATOBJEXT=.mo - DATADIRNAME=lib -fi -rm -f conftest* - INSTOBJEXT=.mo - fi - fi - -else - echo "$ac_t""no" 1>&6 -fi - - - - if test "$CATOBJEXT" = "NONE"; then - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - INTLOBJS="\$(GETTOBJS)" - # Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2679: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$MSGFMT" in - /*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then - ac_cv_path_MSGFMT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test -n "$MSGFMT"; then - echo "$ac_t""$MSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2713: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$GMSGFMT" in - /*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - ?:/*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_GMSGFMT="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT="$ac_cv_path_GMSGFMT" -if test -n "$GMSGFMT"; then - echo "$ac_t""$GMSGFMT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - # Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2749: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - case "$XGETTEXT" in - /*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word" - break - fi - fi - done - IFS="$ac_save_ifs" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test -n "$XGETTEXT"; then - echo "$ac_t""$XGETTEXT" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - - - USE_INCLUDED_LIBINTL=yes - CATOBJEXT=.gmo - INSTOBJEXT=.mo - DATADIRNAME=share - INTLDEPS='$(top_builddir)/../intl/libintl.a' - INTLLIBS=$INTLDEPS - LIBS=`echo $LIBS | sed -e 's/-lintl//'` - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - if test "$XGETTEXT" != ":"; then - if $XGETTEXT --omit-header /dev/null 2> /dev/null; then - : ; - else - echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6 - XGETTEXT=":" - fi - fi - - # We need to process the po/ directory. - POSUB=po - else - DATADIRNAME=share - nls_cv_header_intl=libintl.h - nls_cv_header_libgt=libgettext.h - fi - - # If this is used in GNU gettext we have to set USE_NLS to `yes' - # because some of the sources are only built for this goal. - if test "$PACKAGE" = gettext; then - USE_NLS=yes - USE_INCLUDED_LIBINTL=yes - fi - - for lang in $ALL_LINGUAS; do - GMOFILES="$GMOFILES $lang.gmo" - POFILES="$POFILES $lang.po" - done - - - - - - - - - - - - - - - if test "x$CATOBJEXT" != "x"; then - if test "x$ALL_LINGUAS" = "x"; then - LINGUAS= - else - echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:2839: checking for catalogs to be installed" >&5 - NEW_LINGUAS= - for lang in ${LINGUAS=$ALL_LINGUAS}; do - case "$ALL_LINGUAS" in - *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;; - esac - done - LINGUAS=$NEW_LINGUAS - echo "$ac_t""$LINGUAS" 1>&6 - fi - - if test -n "$LINGUAS"; then - for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done - fi - fi - - if test $ac_cv_header_locale_h = yes; then - INCLUDE_LOCALE_H="#include " - else - INCLUDE_LOCALE_H="\ -/* The system does not provide the header . Take care yourself. */" - fi - - - if test -f $srcdir/po2tbl.sed.in; then - if test "$CATOBJEXT" = ".cat"; then - ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:2867: checking for linux/version.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2877: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - msgformat=linux -else - echo "$ac_t""no" 1>&6 -msgformat=xopen -fi - - - sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed - fi - sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \ - $srcdir/po2tbl.sed.in > po2tbl.sed - fi - - if test "$PACKAGE" = "gettext"; then - GT_NO="#NO#" - GT_YES= - else - GT_NO= - GT_YES="#YES#" - fi - - - - MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs" - - - l= - - - if test -d $srcdir/po; then - test -d po || mkdir po - if test "x$srcdir" != "x."; then - if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then - posrcprefix="$srcdir/" - else - posrcprefix="../$srcdir/" - fi - else - posrcprefix="../" - fi - rm -f po/POTFILES - sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ - < $srcdir/po/POTFILES.in > po/POTFILES - fi - - -# Check for common headers. -# FIXME: Seems to me this can cause problems for i386-windows hosts. -# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*. -for ac_hdr in stdlib.h string.h strings.h unistd.h time.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2946: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2956: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in sys/time.h sys/resource.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2986: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2996: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in fcntl.h fpu_control.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3026: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3036: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_hdr in dlfcn.h errno.h sys/stat.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3066: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3076: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - -for ac_func in getrusage time sigaction __setfpucw -do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3105: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); - -int main() { - -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) -choke me -#else -$ac_func(); -#endif - -; return 0; } -EOF -if { (eval echo configure:3133: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" -fi -rm -f conftest* -fi - -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 -fi -done - - -# Check for socket libraries -echo $ac_n "checking for bind in -lsocket""... $ac_c" 1>&6 -echo "configure:3160: checking for bind in -lsocket" >&5 -ac_lib_var=`echo socket'_'bind | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lsocket $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo socket | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - -echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3207: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - ac_save_LIBS="$LIBS" -LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" -fi -rm -f conftest* -LIBS="$ac_save_LIBS" - -fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo nsl | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&6 -fi - - -. ${srcdir}/../../bfd/configure.host - - - -USE_MAINTAINER_MODE=no -# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. -if test "${enable_maintainer_mode+set}" = set; then - enableval="$enable_maintainer_mode" - case "${enableval}" in - yes) MAINT="" USE_MAINTAINER_MODE=yes ;; - no) MAINT="#" ;; - *) { echo "configure: error: "--enable-maintainer-mode does not take a value"" 1>&2; exit 1; }; MAINT="#" ;; -esac -if test x"$silent" != x"yes" && test x"$MAINT" = x""; then - echo "Setting maintainer mode" 6>&1 -fi -else - MAINT="#" -fi - - - -# Check whether --enable-sim-bswap or --disable-sim-bswap was given. -if test "${enable_sim_bswap+set}" = set; then - enableval="$enable_sim_bswap" - case "${enableval}" in - yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";; - no) sim_bswap="-DWITH_BSWAP=0";; - *) { echo "configure: error: "--enable-sim-bswap does not take a value"" 1>&2; exit 1; }; sim_bswap="";; -esac -if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then - echo "Setting bswap flags = $sim_bswap" 6>&1 -fi -else - sim_bswap="" -fi - - - -# Check whether --enable-sim-cflags or --disable-sim-cflags was given. -if test "${enable_sim_cflags+set}" = set; then - enableval="$enable_sim_cflags" - case "${enableval}" in - yes) sim_cflags="-O2 -fomit-frame-pointer";; - trace) { echo "configure: error: "Please use --enable-sim-debug instead."" 1>&2; exit 1; }; sim_cflags="";; - no) sim_cflags="";; - *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;; -esac -if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then - echo "Setting sim cflags = $sim_cflags" 6>&1 -fi -else - sim_cflags="" -fi - - - -# Check whether --enable-sim-debug or --disable-sim-debug was given. -if test "${enable_sim_debug+set}" = set; then - enableval="$enable_sim_debug" - case "${enableval}" in - yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";; - no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";; - *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";; -esac -if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then - echo "Setting sim debug = $sim_debug" 6>&1 -fi -else - sim_debug="" -fi - - - -# Check whether --enable-sim-stdio or --disable-sim-stdio was given. -if test "${enable_sim_stdio+set}" = set; then - enableval="$enable_sim_stdio" - case "${enableval}" in - yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";; - no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";; - *) { echo "configure: error: "Unknown value $enableval passed to --enable-sim-stdio"" 1>&2; exit 1; }; sim_stdio="";; -esac -if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then - echo "Setting stdio flags = $sim_stdio" 6>&1 -fi -else - sim_stdio="" -fi - - - -# Check whether --enable-sim-trace or --disable-sim-trace was given. -if test "${enable_sim_trace+set}" = set; then - enableval="$enable_sim_trace" - case "${enableval}" in - yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";; - no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";; - [-0-9]*) - sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";; - [a-z]*) - sim_trace="" - for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - if test x"$sim_trace" = x; then - sim_trace="-DWITH_TRACE='(TRACE_$x" - else - sim_trace="${sim_trace}|TRACE_$x" - fi - done - sim_trace="$sim_trace)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then - echo "Setting sim trace = $sim_trace" 6>&1 -fi -else - sim_trace="" -fi - - - -# Check whether --enable-sim-profile or --disable-sim-profile was given. -if test "${enable_sim_profile+set}" = set; then - enableval="$enable_sim_profile" - case "${enableval}" in - yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";; - no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";; - [-0-9]*) - sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";; - [a-z]*) - sim_profile="" - for x in `echo "$enableval" | sed -e "s/,/ /g"`; do - if test x"$sim_profile" = x; then - sim_profile="-DWITH_PROFILE='(PROFILE_$x" - else - sim_profile="${sim_profile}|PROFILE_$x" - fi - done - sim_profile="$sim_profile)'" ;; -esac -if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then - echo "Setting sim profile = $sim_profile" 6>&1 -fi -else - sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1" -fi - - - -echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:3402: checking return type of signal handlers" >&5 -if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -#include -#ifdef signal -#undef signal -#endif -#ifdef __cplusplus -extern "C" void (*signal (int, void (*)(int)))(int); -#else -void (*signal ()) (); -#endif - -int main() { -int i; -; return 0; } -EOF -if { (eval echo configure:3424: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - ac_cv_type_signal=void -else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_type_signal=int -fi -rm -f conftest* -fi - -echo "$ac_t""$ac_cv_type_signal" 1>&6 -cat >> confdefs.h <&6 -echo "configure:3446: checking for executable suffix" >&5 -if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test "$CYGWIN" = yes || test "$MINGW32" = yes; then - ac_cv_exeext=.exe -else - rm -f conftest* - echo 'int main () { return 0; }' > conftest.$ac_ext - ac_cv_exeext= - if { (eval echo configure:3456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then - for file in conftest.*; do - case $file in - *.c | *.o | *.obj | *.ilk | *.pdb) ;; - *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;; - esac - done - else - { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; } - fi - rm -f conftest* - test x"${ac_cv_exeext}" = x && ac_cv_exeext=no -fi -fi - -EXEEXT="" -test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext} -echo "$ac_t""${ac_cv_exeext}" 1>&6 -ac_exeext=$EXEEXT - - -sim_link_files= -sim_link_links= - -sim_link_links=tconfig.h -if test -f ${srcdir}/tconfig.in -then - sim_link_files=tconfig.in -else - sim_link_files=../common/tconfig.in -fi - -# targ-vals.def points to the libc macro description file. -case "${target}" in -*-*-*) TARG_VALS_DEF=../common/nltvals.def ;; -esac -sim_link_files="${sim_link_files} ${TARG_VALS_DEF}" -sim_link_links="${sim_link_links} targ-vals.def" - - - -for ac_hdr in string.h strings.h stdlib.h time.h sys/times.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3501: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3511: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" -fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 -fi -done - - - - -trap '' 1 2 15 -cat > confcache <<\EOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. -# -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. -# -EOF -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file - else - echo "not updating unwritable cache $cache_file" - fi -fi -rm -f confcache - -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi - -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 - -DEFS=-DHAVE_CONFIG_H - -# Without the "./", some shells look in PATH for config.status. -: ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS </dev/null | sed 1q`: -# -# $0 $ac_configure_args -# -# Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. - -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done - -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" - -trap 'rm -fr `echo "Makefile.sim:Makefile.in Make-common.sim:../common/Make-common.in .gdbinit:../common/gdbinit.in config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@sim_environment@%$sim_environment%g -s%@sim_alignment@%$sim_alignment%g -s%@sim_assert@%$sim_assert%g -s%@sim_bitsize@%$sim_bitsize%g -s%@sim_endian@%$sim_endian%g -s%@sim_hostendian@%$sim_hostendian%g -s%@sim_float@%$sim_float%g -s%@sim_scache@%$sim_scache%g -s%@sim_default_model@%$sim_default_model%g -s%@sim_hw_cflags@%$sim_hw_cflags%g -s%@sim_hw_objs@%$sim_hw_objs%g -s%@sim_hw@%$sim_hw%g -s%@sim_inline@%$sim_inline%g -s%@sim_packages@%$sim_packages%g -s%@sim_regparm@%$sim_regparm%g -s%@sim_reserved_bits@%$sim_reserved_bits%g -s%@sim_smp@%$sim_smp%g -s%@sim_stdcall@%$sim_stdcall%g -s%@sim_xor_endian@%$sim_xor_endian%g -s%@WARN_CFLAGS@%$WARN_CFLAGS%g -s%@WERROR_CFLAGS@%$WERROR_CFLAGS%g -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@target@%$target%g -s%@target_alias@%$target_alias%g -s%@target_cpu@%$target_cpu%g -s%@target_vendor@%$target_vendor%g -s%@target_os@%$target_os%g -s%@build@%$build%g -s%@build_alias@%$build_alias%g -s%@build_cpu@%$build_cpu%g -s%@build_vendor@%$build_vendor%g -s%@build_os@%$build_os%g -s%@CC@%$CC%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@CC_FOR_BUILD@%$CC_FOR_BUILD%g -s%@HDEFINES@%$HDEFINES%g -s%@AR@%$AR%g -s%@RANLIB@%$RANLIB%g -s%@SET_MAKE@%$SET_MAKE%g -s%@CPP@%$CPP%g -s%@ALLOCA@%$ALLOCA%g -s%@USE_NLS@%$USE_NLS%g -s%@MSGFMT@%$MSGFMT%g -s%@GMSGFMT@%$GMSGFMT%g -s%@XGETTEXT@%$XGETTEXT%g -s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g -s%@CATALOGS@%$CATALOGS%g -s%@CATOBJEXT@%$CATOBJEXT%g -s%@DATADIRNAME@%$DATADIRNAME%g -s%@GMOFILES@%$GMOFILES%g -s%@INSTOBJEXT@%$INSTOBJEXT%g -s%@INTLDEPS@%$INTLDEPS%g -s%@INTLLIBS@%$INTLLIBS%g -s%@INTLOBJS@%$INTLOBJS%g -s%@POFILES@%$POFILES%g -s%@POSUB@%$POSUB%g -s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g -s%@GT_NO@%$GT_NO%g -s%@GT_YES@%$GT_YES%g -s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g -s%@l@%$l%g -s%@MAINT@%$MAINT%g -s%@sim_bswap@%$sim_bswap%g -s%@sim_cflags@%$sim_cflags%g -s%@sim_debug@%$sim_debug%g -s%@sim_stdio@%$sim_stdio%g -s%@sim_trace@%$sim_trace%g -s%@sim_profile@%$sim_profile%g -s%@EXEEXT@%$EXEEXT%g - -CEOF -EOF - -cat >> $CONFIG_STATUS <<\EOF - -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file - else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file - fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file - else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` - fi -done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat -fi -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. - - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dir_suffix= ac_dots= - fi - - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; - esac - - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; - esac - - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* - -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. -# -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' - -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - - echo creating $ac_file - - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in - -EOF - -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr - -# This sed command replaces #undef with comments. This is necessary, for -# example, in the case of _POSIX_SOURCE, which is predefined and required -# on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF - -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. - -rm -f conftest.tail -while : -do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS - echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals -done -rm -f conftest.vals - -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h - else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file - fi -fi; done - -EOF - -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -srcdir=$ac_given_srcdir -while test -n "$ac_sources"; do - set $ac_dests; ac_dest=$1; shift; ac_dests=$* - set $ac_sources; ac_source=$1; shift; ac_sources=$* - - echo "linking $srcdir/$ac_source to $ac_dest" - - if test ! -r $srcdir/$ac_source; then - { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; } - fi - rm -f $ac_dest - - # Make relative symlinks. - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'` - if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then - # The dest file is in a subdirectory. - test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" - ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dest_dir_suffix. - ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'` - else - ac_dest_dir_suffix= ac_dots= - fi - - case "$srcdir" in - [/$]*) ac_rel_source="$srcdir/$ac_source" ;; - *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;; - esac - - # Make a symlink if possible; otherwise try a hard link. - if ln -s $ac_rel_source $ac_dest 2>/dev/null || - ln $srcdir/$ac_source $ac_dest; then : - else - { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; } - fi -done -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -case "x$CONFIG_FILES" in - xMakefile*) - echo "Merging Makefile.sim+Make-common.sim into Makefile ..." - rm -f Makesim1.tmp Makesim2.tmp Makefile - sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' Makesim1.tmp - sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' Makesim2.tmp - sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \ - -e '/^## COMMON_POST_/ r Makesim2.tmp' \ - Makefile - rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp - ;; - esac - case "x$CONFIG_HEADERS" in xconfig.h:config.in) echo > stamp-h ;; esac - -exit 0 -EOF -chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - - diff --git a/sim/z8k/configure.in b/sim/z8k/configure.in deleted file mode 100644 index e96fc7d0e52..00000000000 --- a/sim/z8k/configure.in +++ /dev/null @@ -1,10 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -sinclude(../common/aclocal.m4) -AC_PREREQ(2.5)dnl -AC_INIT(Makefile.in) - -SIM_AC_COMMON - -AC_CHECK_HEADERS(string.h strings.h stdlib.h time.h sys/times.h) - -SIM_AC_OUTPUT diff --git a/sim/z8k/iface.c b/sim/z8k/iface.c deleted file mode 100644 index 51041720cd3..00000000000 --- a/sim/z8k/iface.c +++ /dev/null @@ -1,263 +0,0 @@ -/* gdb->simulator interface. - Copyright (C) 1992, 1993, 1994, 1997 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "ansidecl.h" -#include "sim.h" -#include "tm.h" -#include "signal.h" -#include "bfd.h" -#include "gdb/callback.h" -#include "gdb/remote-sim.h" - -#ifndef NULL -#define NULL 0 -#endif - -host_callback *z8k_callback; - -static SIM_OPEN_KIND sim_kind; -static char *myname; - -void -sim_size (n) - int n; -{ - /* Size is fixed. */ -} - -int -sim_store_register (sd, regno, value, length) - SIM_DESC sd; - int regno; - unsigned char *value; - int length; -{ - /* FIXME: Review the computation of regval. */ - int regval = (value[0] << 24) | (value[1] << 16) | (value[2] << 8) | value[3]; - - tm_store_register (regno, regval); - return -1; -} - -int -sim_fetch_register (sd, regno, buf, length) - SIM_DESC sd; - int regno; - unsigned char *buf; - int length; -{ - tm_fetch_register (regno, buf); - return -1; -} - -int -sim_write (sd, where, what, howmuch) - SIM_DESC sd; - SIM_ADDR where; - unsigned char *what; - int howmuch; -{ - int i; - - for (i = 0; i < howmuch; i++) - tm_write_byte (where + i, what[i]); - return howmuch; -} - -int -sim_read (sd, where, what, howmuch) - SIM_DESC sd; - SIM_ADDR where; - unsigned char *what; - int howmuch; -{ - int i; - - for (i = 0; i < howmuch; i++) - what[i] = tm_read_byte (where + i); - return howmuch; -} - -static void -control_c (sig, code, scp, addr) - int sig; - int code; - char *scp; - char *addr; -{ - tm_exception (SIM_INTERRUPT); -} - -int -sim_stop (sd) - SIM_DESC sd; -{ - tm_exception (SIM_INTERRUPT); - return 1; -} - -void -sim_resume (sd, step, sig) - SIM_DESC sd; - int step; - int sig; -{ - void (*prev) (); - - prev = signal (SIGINT, control_c); - tm_resume (step); - signal (SIGINT, prev); -} - -void -sim_stop_reason (sd, reason, sigrc) - SIM_DESC sd; - enum sim_stop *reason; - int *sigrc; -{ - switch (tm_signal ()) - { - case SIM_DIV_ZERO: - *sigrc = SIGFPE; - break; - case SIM_INTERRUPT: - *sigrc = SIGINT; - break; - case SIM_BAD_INST: - *sigrc = SIGILL; - break; - case SIM_BREAKPOINT: - *sigrc = SIGTRAP; - break; - case SIM_SINGLE_STEP: - *sigrc = SIGTRAP; - break; - case SIM_BAD_SYSCALL: - *sigrc = SIGILL; - break; - case SIM_BAD_ALIGN: - *sigrc = SIGSEGV; - break; - case SIM_DONE: - { - sim_state_type x; - tm_state (&x); - *sigrc = x.regs[2].word & 255; - *reason = sim_exited; - return; - } - default: - abort (); - } - *reason = sim_stopped; -} - -void -sim_info (sd, verbose) - SIM_DESC sd; - int verbose; -{ - sim_state_type x; - - tm_state (&x); - tm_info_print (&x); -} - -SIM_DESC -sim_open (kind, cb, abfd, argv) - SIM_OPEN_KIND kind; - host_callback *cb; - struct bfd *abfd; - char **argv; -{ - /* FIXME: The code in sim_load that determines the exact z8k arch - should be moved to here */ - - sim_kind = kind; - myname = argv[0]; - z8k_callback = cb; - - /* fudge our descriptor for now */ - return (SIM_DESC) 1; -} - -void -sim_close (sd, quitting) - SIM_DESC sd; - int quitting; -{ - /* nothing to do */ -} - -SIM_RC -sim_load (sd, prog, abfd, from_tty) - SIM_DESC sd; - char *prog; - bfd *abfd; - int from_tty; -{ - extern bfd *sim_load_file (); /* ??? Don't know where this should live. */ - bfd *prog_bfd; - - /* FIXME: The code determining the type of z9k processor should be - moved from here to sim_open. */ - - prog_bfd = sim_load_file (sd, myname, z8k_callback, prog, abfd, - sim_kind == SIM_OPEN_DEBUG, - 0, sim_write); - if (prog_bfd == NULL) - return SIM_RC_FAIL; - if (bfd_get_mach (prog_bfd) == bfd_mach_z8001) - { - extern int sim_z8001_mode; - sim_z8001_mode = 1; - } - /* Close the bfd if we opened it. */ - if (abfd == NULL) - bfd_close (prog_bfd); - return SIM_RC_OK; -} - -SIM_RC -sim_create_inferior (sd, abfd, argv, env) - SIM_DESC sd; - struct bfd *abfd; - char **argv; - char **env; -{ - if (abfd != NULL) - tm_store_register (REG_PC, bfd_get_start_address (abfd)); - else - tm_store_register (REG_PC, 0); - return SIM_RC_OK; -} - -void -sim_do_command (sd, cmd) - SIM_DESC sd; - char *cmd; -{ -} - -void -sim_set_callbacks (ptr) - host_callback *ptr; -{ - z8k_callback = ptr; -} diff --git a/sim/z8k/inlines.h b/sim/z8k/inlines.h deleted file mode 100644 index 1bf209ece49..00000000000 --- a/sim/z8k/inlines.h +++ /dev/null @@ -1,486 +0,0 @@ -/* inline functions for Z8KSIM - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -GNU CC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -GNU CC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef INLINE -#define INLINE -#endif -#define UGT 0x0b -#define ULE 0x03 -#define ULT 0x07 -#define UGE 0x0f -#define SLOW 0 -#define T 0x8 -#define F 0x0 -#define LT 0x1 -#define GT 0xa -#define LE 0x2 -#define EQ 0x6 -#define NE 0xe -#define GE 0x9 - - static int is_cond_true PARAMS((sim_state_type *context, int c)); - static void makeflags PARAMS((sim_state_type *context, int mask)); - -static INLINE -long -sitoptr (si) -long si; -{ - return ((si & 0xff000000) >> 8) | (si & 0xffff); -} -static INLINE long -ptrtosi (ptr) -long ptr; -{ - return ((ptr & 0xff0000) << 8) | (ptr & 0xffff); -} - -static INLINE -void -put_long_reg (context, reg, val) - sim_state_type *context; - int reg; - int val; -{ - context->regs[reg].word = val >> 16; - context->regs[reg + 1].word = val; -} - -static INLINE -void -put_quad_reg (context, reg, val1, val2) - sim_state_type *context; - int reg; - int val1; - int val2; -{ - context->regs[reg].word = val2 >> 16; - context->regs[reg + 1].word = val2; - context->regs[reg + 2].word = val1 >> 16; - context->regs[reg + 3].word = val1; -} - -static INLINE -void -put_word_reg (context, reg, val) - sim_state_type *context; - int reg; - int val; -{ - context->regs[reg].word = val; -} - -static INLINE -SItype get_long_reg (context, reg) - sim_state_type *context; - int reg; -{ - USItype lsw = context->regs[reg + 1].word; - USItype msw = context->regs[reg].word; - - return (msw << 16) | lsw; -} - -#ifdef __GNUC__ -static INLINE -struct UDIstruct -get_quad_reg (context, reg) - sim_state_type *context; - int reg; -{ - UDItype res; - USItype lsw = get_long_reg (context, reg + 2); - USItype msw = get_long_reg (context, reg); - - res.low = lsw; - res.high = msw; - return res; -} - -#endif - -static INLINE void -put_byte_mem_da (context, addr, value) - sim_state_type *context; - int addr; - int value; -{ - ((unsigned char *) (context->memory))[addr] = value; -} - -static INLINE -void -put_byte_reg (context, reg, val) - sim_state_type *context; - int reg; - int val; -{ - int old = context->regs[reg & 0x7].word; - if (reg & 0x8) - { - old = old & 0xff00 | (val & 0xff); - } - else - { - old = old & 0x00ff | (val << 8); - } - context->regs[reg & 0x7].word = old; -} - -static INLINE -int -get_byte_reg (context, reg) - sim_state_type *context; - int reg; -{ - if (reg & 0x8) - return context->regs[reg & 0x7].word & 0xff; - else - return (context->regs[reg & 0x7].word >> 8) & 0xff; -} - -static INLINE -void -put_word_mem_da (context, addr, value) - sim_state_type *context; - int addr; - int value; -{ - if (addr & 1) - { - context->exception = SIM_BAD_ALIGN; - addr &= ~1; - } - put_byte_mem_da(context, addr, value>>8); - put_byte_mem_da(context, addr+1, value); -} - -static INLINE unsigned char -get_byte_mem_da (context, addr) - sim_state_type *context; - int addr; -{ - return ((unsigned char *) (context->memory))[addr]; -} - - -#if 0 -#define get_word_mem_da(context,addr)\ - *((unsigned short*)((char*)((context)->memory)+(addr))) - -#else -#define get_word_mem_da(context,addr) (get_byte_mem_da(context, addr) << 8) | (get_byte_mem_da(context,addr+1)) -#endif - -#define get_word_reg(context,reg) (context)->regs[reg].word - -static INLINE -SItype -get_long_mem_da (context, addr) - sim_state_type *context; - int addr; -{ - USItype lsw = get_word_mem_da(context,addr+2); - USItype msw = get_word_mem_da(context, addr); - - return (msw << 16) + lsw; -} - -static INLINE -void -put_long_mem_da (context, addr, value) - sim_state_type *context; - int addr; - int value; -{ - put_word_mem_da(context,addr, value>>16); - put_word_mem_da(context,addr+2, value); -} - -static INLINE -int -get_word_mem_ir (context, reg) - sim_state_type *context; - int reg; -{ - return get_word_mem_da (context, get_word_reg (context, reg)); -} - -static INLINE -void -put_word_mem_ir (context, reg, value) - sim_state_type *context; - int reg; - int value; -{ - - put_word_mem_da (context, get_word_reg (context, reg), value); -} - -static INLINE -int -get_byte_mem_ir (context, reg) - sim_state_type *context; - int reg; -{ - return get_byte_mem_da (context, get_word_reg (context, reg)); -} - -static INLINE -void -put_byte_mem_ir (context, reg, value) - sim_state_type *context; - int reg; - int value; -{ - put_byte_mem_da (context, get_word_reg (context, reg), value); -} - -static INLINE -int -get_long_mem_ir (context, reg) - sim_state_type *context; - int reg; -{ - return get_long_mem_da (context, get_word_reg (context, reg)); -} - -static INLINE -void -put_long_mem_ir (context, reg, value) - sim_state_type *context; - int reg; - int value; -{ - - put_long_mem_da (context, get_word_reg (context, reg), value); -} - -static INLINE -void -put_long_mem_x (context, base, reg, value) - sim_state_type *context; - int base; - int reg; - int value; -{ - put_long_mem_da (context, get_word_reg (context, reg) + base, value); -} - -static INLINE -void -put_word_mem_x (context, base, reg, value) - sim_state_type *context; - int base; - int reg; - int value; -{ - put_word_mem_da (context, get_word_reg (context, reg) + base, value); -} - -static INLINE -void -put_byte_mem_x (context, base, reg, value) - sim_state_type *context; - int base; - int reg; - int value; -{ - put_byte_mem_da (context, get_word_reg (context, reg) + base, value); -} - -static INLINE -int -get_word_mem_x (context, base, reg) - sim_state_type *context; - int base; - int reg; -{ - return get_word_mem_da (context, base + get_word_reg (context, reg)); -} - -static INLINE -int -get_byte_mem_x (context, base, reg) - sim_state_type *context; - int base; - int reg; -{ - return get_byte_mem_da (context, base + get_word_reg (context, reg)); -} - -static INLINE -int -get_long_mem_x (context, base, reg) - sim_state_type *context; - int base; - int reg; -{ - return get_long_mem_da (context, base + get_word_reg (context, reg)); -} - - -static -void -makeflags (context, mask) - sim_state_type *context; - int mask; -{ - - PSW_ZERO = (context->dst & mask) == 0; - PSW_SIGN = (context->dst >> (context->size - 1)); - - if (context->broken_flags == TST_FLAGS) - { - extern char the_parity[]; - - if (context->size == 8) - { - PSW_OVERFLOW = the_parity[context->dst & 0xff]; - } - } - else - { - /* Overflow is set if both operands have the same sign and the - result is of different sign. - - V = A==B && R!=B jumping logic - (~(A^B))&(R^B) - V = (A^B)^(R^B) boolean - */ - - PSW_OVERFLOW = - (( - (~(context->srca ^ context->srcb) - & (context->srca ^ context->dst)) - ) >> (context->size - 1) - ); - - if (context->size < 32) - { - PSW_CARRY = ((context->dst >> context->size)) & 1; - } - else - { - /* carry is set when the result is smaller than a source */ - - - PSW_CARRY = (unsigned) context->dst > (unsigned) context->srca ; - - } - } - context->broken_flags = 0; -} - - -/* There are two ways to calculate the flags. We can - either always calculate them and so the cc will always - be correct, or we can only keep the arguments around and - calc the flags when they're actually going to be used. */ - -/* Right now we always calc the flags - I think it may be faster*/ - - -#define NORMAL_FLAGS(c,s,d,sa,sb,sub) \ - if (s == 8) \ - normal_flags_8(c,d,sa,sb,sub); \ - else if (s == 16) \ - normal_flags_16(c,d,sa,sb,sub); \ - else if (s == 32) \ - normal_flags_32(c,d,sa,sb,sub); - -static INLINE -void -normal_flags (context, size, dst, srca, srcb) - sim_state_type *context; - int size; - int dst; - int srca; - int srcb; -{ - context->srca = srca; - context->srcb = srcb; - context->dst = dst; - context->size = size; - context->broken_flags = CMP_FLAGS; -} - -static INLINE -void -TEST_NORMAL_FLAGS (context, size, dst) - sim_state_type *context; - int size; - int dst; -{ - context->dst = dst; - context->size = size; - context->broken_flags = TST_FLAGS; -} - -static INLINE -void -put_ptr_long_reg (context, reg, val) - sim_state_type *context; - int reg; - int val; -{ - context->regs[reg].word = (val >> 8) & 0x7f00; - context->regs[reg + 1].word = val; -} - -static INLINE -long -get_ptr_long_reg (context, reg) - sim_state_type *context; - int reg; -{ - int val; - - val = (context->regs[reg].word << 8) | context->regs[reg + 1].word; - return val; -} - -static INLINE -long -get_ptr_long_mem_ir (context, reg) -sim_state_type *context; -int reg; -{ - return sitoptr (get_long_mem_da (context, get_ptr_long_reg (context, reg))); -} - -static INLINE -long -get_ptr_long_mem_da (context, addr) -sim_state_type *context; -long addr; -{ - return sitoptr (get_long_mem_da (context, addr)); -} - -static INLINE -void -put_ptr_long_mem_da (context, addr, ptr) -sim_state_type *context; -long addr; -long ptr; -{ - put_long_mem_da (context, addr, ptrtosi (ptr)); - -} diff --git a/sim/z8k/mem.c b/sim/z8k/mem.c deleted file mode 100644 index 6942a668fb0..00000000000 --- a/sim/z8k/mem.c +++ /dev/null @@ -1,126 +0,0 @@ -/* memory support for Z8KSIM - Copyright (C) 1987, 1992 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#include "config.h" - -#include - -#ifdef HAVE_STDLIB_H -#include -#endif - -#include "tm.h" -#include "mem.h" -#include "sim.h" - -#define INLINE -static -long -sitoptr (si) -long si; -{ - return ((si & 0xff000000) >> 8) | (si & 0xffff); -} - -static -unsigned short * -get_page_and_offset (context, where, offset_ptr) - sim_state_type *context; - sim_phys_addr_type where; - int *offset_ptr; -{ - /* Is the page allocated ? */ - - if (context->memory == 0) - { - /* Must allocate 16MB in order to run Z8001 programs. */ - context->memory = (unsigned short *)calloc(64*1024*64,4); - } - - *offset_ptr = sitoptr(where); - return context->memory; -} - -void -sim_write_byte (context, where, what) - sim_state_type *context; - sim_phys_addr_type where; - int what; -{ - unsigned int offset; - char *ptr = (char *)get_page_and_offset (context, where, &offset); - - ptr[offset] = what; -} - -void -sim_write_short (context, where, what) - sim_state_type *context; - sim_phys_addr_type where; - int what; -{ - int offset; - char *ptr = (char *)get_page_and_offset (context, where, &offset); - - ptr[offset] = what >> 8; - ptr[offset + 1] = what; -} - -void -sim_write_long (context, where, what) - sim_state_type *context; - sim_phys_addr_type where; - int what; -{ - int offset; - char *ptr = (char *)get_page_and_offset (context, where, &offset); - - ptr[offset] = what >> 24; - ptr[offset + 1] = what >> 16; - ptr[offset + 3] = what >> 8; - ptr[offset + 4] = what; -} - -int -sim_read_byte (context, where) - sim_state_type *context; - sim_phys_addr_type where; -{ - int offset; - char *ptr = (char *)get_page_and_offset (context, where, &offset); - - return ptr[offset]; -} - -unsigned -sim_read_short (context, where) - sim_state_type *context; - sim_phys_addr_type where; -{ - int what; - int offset; - - char *ptr = (char *)get_page_and_offset (context, where, &offset); - - what = (ptr[offset] << 8) | ptr[offset + 1]; - return what; -} - - - diff --git a/sim/z8k/mem.h b/sim/z8k/mem.h deleted file mode 100644 index 2089bd409e8..00000000000 --- a/sim/z8k/mem.h +++ /dev/null @@ -1,8 +0,0 @@ -#define Z8k_PAGE_SIZE (1< -#include -#include - -#include "tm.h" -#include "sim.h" -#include "mem.h" -#include -#ifdef HAVE_TIME_H -#include -#endif -#ifdef HAVE_SYS_TIMES_H -#include -#endif -#include -#include -#include -#include "gdb/callback.h" -#include "gdb/remote-sim.h" -#include "syscall.h" - -static int get_now PARAMS ((void)); -static int now_persec PARAMS ((void)); -static int put_long PARAMS ((sim_state_type * context, int ptr, int value)); -static int put_short PARAMS ((sim_state_type * context, int ptr, int value)); - -int sim_z8001_mode; - -static int -get_now () -{ -#ifdef HAVE_SYS_TIMES_H - struct tms b; - - times (&b); - return b.tms_utime + b.tms_stime; -#else - return time (0); -#endif -} - -static int -now_persec () -{ - return 50; -} - - -/* #define LOG /* define this to print instruction use counts */ - -#ifdef __GNUC__ -#define INLINE __inline__ -#include "inlines.h" -#else -#include "inlines.h" -#endif - -/* This holds the entire cpu context */ -static sim_state_type the_state; - -int -fail (context, dummy) - sim_state_type *context; - int dummy; -{ - context->exception = SIM_BAD_INST; - return 1; -} - -void -sfop_bad1 (context) - sim_state_type *context; -{ - context->exception - = SIM_BAD_INST; -} - -void -bfop_bad1 (context) - sim_state_type *context; -{ - context->exception - = SIM_BAD_INST; -} - -void -fop_bad (context) - sim_state_type *context; -{ - context->exception = - SIM_BAD_INST; -} - -/* Table of bit counts for all byte values */ - -char the_parity[256] = -{ - 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, - 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, - 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, - 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, - 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, - 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, - 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, - 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, - 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, - 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, - 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, - 7, 7, 8}; - - -int read (); -int write (); -int open (); -int close (); -int open (); -int close (); - -int link (); -int fstat (); - -static int -put_short (context, ptr, value) - sim_state_type *context; - int ptr; - int value; -{ - put_word_mem_da (context, ptr, value); - return ptr + 2; -} - -static int -put_long (context, ptr, value) - sim_state_type *context; - int - ptr; - int value; -{ - put_long_mem_da (context, ptr, value); - return ptr + 4; -} - -#define aptr(x) ((sitoptr(x)) + (char *)(context->memory)) - -static int args[3]; -static int arg_index; /* Translate a z8k system call into a host system call */ -void -support_call (context, sc) - sim_state_type *context; - int sc; -{ - extern int errno; - int ret; - int retnext = 0; - int fd; - - int olderrno = errno; - errno = 0; - switch (sc) - { - case SYS_ARG: - args[arg_index++] = context->regs[0].word << 16 | context->regs[1].word; - break; - case SYS_exit: - context->exception = SIM_DONE; - ret = args[0]; - arg_index = 0; - break; - case SYS_close: - ret = close ((int) (args[0])); - arg_index = 0; - break; - case SYS_creat: - ret = creat (aptr (args[0]), args[1]); - arg_index = 0; - break; - case SYS_isatty: - ret = isatty (args[0]); - arg_index = 0; - break; - case SYS_open: - ret = open (aptr (args[0]), args[1], args[2]); - arg_index = 0; - break; - case SYS_lseek: - ret = lseek (args[0], (off_t) args[1], args[2]); - arg_index = 0; - break; - case SYS_read: - ret = read (args[0], aptr (args[1]), args[2]); - arg_index = 0; - break; - case SYS_write: - ret = write (args[0],aptr (args[1]), args[2]); - arg_index = 0; - break; - case SYS_time: - { - int dst = args[0]; - - ret = time (0); - if (dst) - { - put_long_mem_da (context, - sitoptr (dst), ret); - } - retnext = ret; - ret = retnext >> 16; - arg_index = 0; - } - break; - case SYS_fstat: - { - int buf; - struct stat host_stat; - fd = args[0]; - buf = sitoptr (args[1]); - ret = fstat (fd, &host_stat); - buf = put_short (context, buf, host_stat.st_dev); - buf = put_short (context, buf, host_stat.st_ino); - /* FIXME: Isn't mode_t 4 bytes? */ - buf = put_short (context, buf, host_stat.st_mode); - buf = put_short (context, buf, host_stat.st_nlink); - buf = put_short (context, buf, host_stat.st_uid); - buf = put_short (context, buf, host_stat.st_uid); - buf = put_short (context, buf, host_stat.st_rdev); - buf = put_long (context, buf, host_stat.st_size); - buf = put_long (context, buf, host_stat.st_atime); - arg_index = 0; - } break; - default: - case SYS_link: - context->exception = SIM_BAD_SYSCALL; - arg_index = 0; - break; - } - context->regs[2].word = ret; - context->regs[3].word = retnext; - context->regs[5].word = errno; - - - /* support for the stdcall calling convention */ - context->regs[6].word = retnext; - context->regs[7].word = ret; - - errno = olderrno; -} - -#undef get_word_mem_da - -int -get_word_mem_da (context, addr) - sim_state_type *context; - int addr; -{ - return (get_byte_mem_da (context, addr) << 8) | (get_byte_mem_da (context, addr + 1)); - -} - -#undef get_word_reg -int -get_word_reg (context, reg) sim_state_type -* context; - int reg; -{ - return context->regs[reg].word; -} - -#ifdef LOG -int log[64 * 1024]; - -#endif - -void -tm_store_register (regno, value) - int regno; - int value; -{ - switch - (regno) - { - case REG_PC: - the_state.sometimes_pc = value; - break; - - default: - put_word_reg (&the_state, regno, value); - } -} - -void -swap_long (buf, val) - char *buf; - int val; -{ - buf[0] = val >> 24; - buf[1] = val >> 16; - buf[2] = val >> 8; - buf[3] = val >> 0; -} - -void -swap_word (buf, val) - char *buf; - int val; -{ - buf[0] = val >> 8; - buf[1] = val >> 0; -} - -void -tm_fetch_register (regno, buf) - int regno; - char *buf; -{ - switch - (regno) - { - case REG_CYCLES: - swap_long (buf, the_state.cycles); - break; - case REG_INSTS: - swap_long (buf, the_state.insts); - break; - case - REG_TIME: - swap_long (buf, the_state.ticks); - break; - case REG_PC: - swap_long (buf, the_state.sometimes_pc); - break; - case REG_SP: - { - if (sim_z8001_mode) - { - swap_long (buf, get_long_reg (&the_state, 14)); - } - else - { - swap_long (buf, get_word_reg (&the_state, 15)); - } - } - break; - case - REG_FP: - { - if (sim_z8001_mode) - { - swap_long (buf, get_long_reg - (&the_state, 10)); - } - else - { - swap_long (buf, - get_word_reg (&the_state, 10)); - } - } - break; - default: - { - swap_word (buf, - get_word_reg (&the_state, regno)); - } - } -} - -void -tm_resume (step) - int step; -{ - int now = get_now (); - struct op_info - *p; - int word; - int pc; - extern int (*(sfop_table[])) (); - extern int (*(bfop_table[])) (); - int (*((*table))) (); - sim_state_type *context = &the_state; - - if (step) - { - context->exception = SIM_SINGLE_STEP; - } - else - { - context->exception = 0; - } - - pc = context->sometimes_pc; - if (sim_z8001_mode) - { - table = bfop_table; - pc = MAP_PHYSICAL_TO_LOGICAL (pc); - } - else - { - table = sfop_table; - } - - - do - { - word = get_word_mem_da (context, pc); - p = op_info_table + word; - -#ifdef LOG - log[word]++; -#endif - pc = table[p->exec] (context, pc, word); - context->insts++; - - } - while (!context->exception); - - - - context->sometimes_pc = MAP_LOGICAL_TO_PHYSICAL (pc); - context->ticks += get_now () - now; -} - -int -tm_signal () -{ - return the_state.exception; -} - -void -tm_info_print (x) - sim_state_type *x; -{ - double timetaken = (double) x->ticks / (double) now_persec (); - double virttime = x->cycles / 4.0e6; - - printf ("instructions executed : %9d\n", x->insts); - printf ("cycles counted : %9d \n", x->cycles); - printf ("cycles / inst : %9.1f \n", (double) x->cycles / (double) x->insts); - printf ("virtual time taked (at 4 Mhz) : %9.1f \n", virttime); - printf ("real time taken : %9.1f \n", timetaken); - - if (timetaken) - { - printf ("virtual instructions per second : %9.1f\n", x->insts / timetaken); - printf ("emulation speed : %9.1f%%\n", virttime / timetaken * 100.0); - } -#ifdef LOG - { - extern int quick[]; - - for (i = 0; quick[i]; i++) - { - log[quick[i]] += 100000; - } - } - - for (i = 0; i < 64 * 1024; i++) - { - if (log[i]) - { - printf (" /*%7d*/ 0x%x,\n", log[i], i); - } - } -#endif - -} - -int -sim_trace (sd) - SIM_DESC sd; -{ - int i; - char buffer[10]; - int r; - - printf ("\n"); - for (r = 0; r < 16; r++) - { - int m; - - printf ("r%2d", r); - printf ("=%04x ", get_word_reg (&the_state, - r)); - for (m = -4; m < 8; m++) - { - if (m == 0) - printf (">"); - printf ("%04x ", - get_word_mem_da (&the_state, (0xfffe & get_word_reg (&the_state, r)) + m * 2)); - } - printf ("\n"); - } - - printf ("\n"); - printf ("%9d %9d %08x ", the_state.cycles, - the_state.insts, the_state.sometimes_pc); - - for (i = 0; i < 6; i++) - { - buffer[i] = get_byte_mem_da (&the_state, - the_state.sometimes_pc + i); - } - - print_insn_z8001 (the_state.sometimes_pc, buffer, stdout); - printf - ("\n"); - tm_resume (1); - if (the_state.exception != SIM_SINGLE_STEP) - return 1; - return 0; -} - -void -tm_state (x) - sim_state_type *x; -{ - *x = the_state; -} - -void -tm_exception (x) - int x; -{ - the_state.exception = x; -} - -int -tm_read_byte (x) - int x; -{ - x &= 0x3f00ffff; - return sim_read_byte (&the_state, x); -} - -void -tm_write_byte (x, y) - int x, y; -{ - x &= 0x3f00ffff; - sim_write_byte (&the_state, x, y); -} - -#define SIGN(x) ((x) & MASK) -normal_flags_32(context,d,sa,sb,sub) -sim_state_type *context; -unsigned int d; -unsigned int sa; -unsigned int sb; -unsigned int sub; -{ -#undef MASK -#define MASK (1<<31) - context->broken_flags = 0; - if (sub) - PSW_CARRY = sa < sb; - else - PSW_CARRY = d < sa; - if (sub) - PSW_OVERFLOW = (SIGN(sa) != SIGN(sb)) && (SIGN(d) == SIGN(sb)); - else - PSW_OVERFLOW = (SIGN(sa) == SIGN(sb)) && (SIGN(d) != SIGN(sb)); - - PSW_SIGN = ((int)d) <0; - PSW_ZERO = d == 0; -} - -normal_flags_16(context,d,sal,sbl,sub) -sim_state_type *context; -unsigned int d; -unsigned int sal; -unsigned int sbl; -unsigned short int sub; -{ - unsigned short sa = sal; - unsigned short sb = sbl; -#undef MASK -#define MASK (1<<15) - context->broken_flags = 0; - if (sub) - PSW_CARRY = sal < sbl; - else - PSW_CARRY = (d & 0x10000) != 0; - - if (sub) - PSW_OVERFLOW = (SIGN(sa) != SIGN(sb)) && (SIGN(d) == SIGN(sb)); - else - PSW_OVERFLOW = (SIGN(sa) == SIGN(sb)) && (SIGN(d) != SIGN(sb)); - - PSW_SIGN = ((short int)d) <0; - PSW_ZERO = ((short)d) == 0; -} - -normal_flags_8(context,d,sa,sb,sub) -sim_state_type *context; -unsigned char d; -unsigned char sa; -unsigned char sb; -unsigned char sub; -{ -#undef MASK -#define MASK (1<<7) - context->broken_flags = 0; - if (sub) - PSW_CARRY = sa < sb; - else - PSW_CARRY = d < sa; - if (sub) - PSW_OVERFLOW = (SIGN(sa) != SIGN(sb)) && (SIGN(d) == SIGN(sb)); - else - PSW_OVERFLOW = (SIGN(sa) == SIGN(sb)) && (SIGN(d) != SIGN(sb)); - PSW_SIGN = ((char)d) <0; - PSW_ZERO = d == 0; -} - - -static int -is_cond_true (context, c) - sim_state_type *context; - int c; -{ - switch (c) - { - case T: - return 1; - case F: - return 0; /* F */ - case LE: - return (PSW_ZERO | (PSW_SIGN ^ PSW_OVERFLOW)) & 1; /*LE */ - case GT: - return (~(PSW_ZERO | (PSW_SIGN ^ PSW_OVERFLOW))) & 1; /*GT */ - case 0x5: - return (PSW_SIGN & 1); /* sign */ - case 0xd: - return (~(PSW_SIGN)) & 1; /* not sign */ - case 0x3: - return ((PSW_CARRY | PSW_ZERO) & 1); /* ule*/ - case UGT: - return ((~(PSW_CARRY | PSW_ZERO)) & 1); /* ugt */ - case 0x4: - return (PSW_OVERFLOW & 1);/* overflow */ - case 0xc: - return (~(PSW_OVERFLOW)) & 1; /* not overflow */ - case LT: - return (PSW_SIGN ^ PSW_OVERFLOW) & 1; /* LT */ - case GE: - return (~(PSW_SIGN ^ PSW_OVERFLOW)) & 1; /* GE */ - case EQ: - return (PSW_ZERO) & 1; /* zero */ - case NE: - return ((~PSW_ZERO) & 1); /* not zero */ - case 0x7: - return (PSW_CARRY) & 1; /* carry */ - case 0xf: - return (~PSW_CARRY) & 1; /* not carry */ - default: - abort (); - } -} - -int -COND (context, c) - sim_state_type *context; - int c; -{ - if (c == 8) - return 1; - - /* We can calculate what the flags would have been by - looking at the src and dst and size of the operation */ - - if (context->broken_flags) - { - int slow = 0; - int size; - int dst; - int srca; - int srcb; - int mask; - int ans; - - /* see if we can short-cut the nasty flag calcs */ - - switch (size = context->size) - { - default: - abort(); - return 0; - case 8: - srca = (char) (context->srca); - srcb = (char) (context->srcb); - dst = (char) (context->dst); - mask = 0xff; - break; - case 16: - srca = (short) (context->srca); - srcb = (short) (context->srcb); - dst = (short) (context->dst); - mask = 0xffff; - break; - case 32: - srca = (long) (context->srca); - srcb = (long) (context->srcb); - dst = (long) (context->dst); - mask = 0xffffffff; - break; - } - - switch (c) - { - case T: - return 1; - case F: - return 0; - case EQ: - return !dst; - case NE: - return dst; - case GT: - ans = ((dst)) > 0; - if (slow) - { - if (is_cond_true (context, c) != ans) - abort (); - } - return ans; - case LE: - ans = ((dst)) <= 0; - if (slow) - { - if (is_cond_true (context, c) != ans) - abort (); - } - return ans; - case GE: - ans = ((dst)) >= 0; - if (slow) - { - if (is_cond_true (context, c) != ans) - abort (); - } - return ans; - case LT: - ans = ((dst)) < 0; - if (slow) - { - if (is_cond_true (context, c) != ans) - abort (); - } - return ans; - default: - break; - } - - /* Can't fake it, we'll have to work out the flags the - hard way */ - - makeflags (context, mask); - } - - /* don't know how to fake a test, inspect the flags - the hard way */ - - return is_cond_true (context, c); -} diff --git a/sim/z8k/syscall.h b/sim/z8k/syscall.h deleted file mode 100644 index 489cd5f088c..00000000000 --- a/sim/z8k/syscall.h +++ /dev/null @@ -1,43 +0,0 @@ -/* system call numbers - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - -#define SYS_exit 1 -#define SYS_fork 2 -#define SYS_read 3 -#define SYS_write 4 -#define SYS_open 5 -#define SYS_close 6 -#define SYS_wait4 7 -#define SYS_creat 8 -#define SYS_link 9 -#define SYS_unlink 10 -#define SYS_execv 11 -#define SYS_chdir 12 -#define SYS_mknod 14 -#define SYS_chmod 15 -#define SYS_chown 16 -#define SYS_lseek 19 -#define SYS_getpid 20 -#define SYS_isatty 21 -#define SYS_fstat 22 -#define SYS_time 23 - - -#define SYS_ARG 24 diff --git a/sim/z8k/tconfig.in b/sim/z8k/tconfig.in deleted file mode 100644 index 8dc0c322c5a..00000000000 --- a/sim/z8k/tconfig.in +++ /dev/null @@ -1,13 +0,0 @@ -/* z8k target configuration file. */ - -/* Define this if the simulator supports profiling. - See the mips simulator for an example. - This enables the `-p foo' and `-s bar' options. - The target is required to provide sim_set_profile{,_size}. */ -/* #define SIM_HAVE_PROFILE */ - -/* Define this if the simulator uses an instruction cache. - See the h8/300 simulator for an example. - This enables the `-c size' option to set the size of the cache. - The target is required to provide sim_set_simcache_size. */ -/* #define SIM_HAVE_SIMCACHE */ diff --git a/sim/z8k/tm.h b/sim/z8k/tm.h deleted file mode 100644 index 4527ff9304d..00000000000 --- a/sim/z8k/tm.h +++ /dev/null @@ -1,192 +0,0 @@ -/* tm.h - Copyright (C) 1992, 1993 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -#ifndef _TM_H -#define _TM_H - -#ifdef __FOOBEYGNUC__ -typedef SFtype __attribute__ ((mode (SF))); -typedef DFtype __attribute__ ((mode (DF))); - -typedef int HItype __attribute__ ((mode (HI))); -typedef int SItype __attribute__ ((mode (SI))); - -typedef unsigned int UHItype __attribute__ ((mode (HI))); -typedef unsigned int USItype __attribute__ ((mode (SI))); -#else -typedef float SFtype; -typedef double DFtype; -typedef short int HItype; -typedef long int SItype; -typedef unsigned short UHItype ; -typedef unsigned int USItype ; -#endif - -typedef struct UDIstruct -{ - USItype high; - USItype low; -} UDItype; - -#define BIG_ENDIAN_HOST -typedef unsigned int sim_phys_addr_type; -typedef unsigned int sim_logical_addr_type; - -#define PAGE_POWER 23 /* only one pages */ - -#define MAP_PHYSICAL_TO_LOGICAL(x) (((x >> 8) & 0x7f0000) | (x & 0xffff)) -#define MAP_LOGICAL_TO_PHYSICAL(x) (((x <<8) & 0x7f000000) | (x & 0xffff)) -#define REG_PC 17 -#define REG_CYCLES 18 -#define REG_INSTS 19 -#define REG_TIME 20 -#define REG_FP 21 -#define REG_SP 22 -#define REG_CCR 16 - -#define SET_REG(x,y) set_reg(x,y) -#define SINGLE_STEP 1 - -#define PSW_CARRY context->carry -#define PSW_OP context->op -#define PSW_OVERFLOW context->overflow -#define PSW_SIGN context->sign -#define PSW_ZERO context->zero -#define GET_PC() context->pc -#define SET_PC(x) context->pc = x - -struct op_info -{ - short int exec; -}; - -extern struct op_info op_info_table[]; - -typedef union -{ - unsigned short int word; - -} - -borw_type; - -typedef struct state_struct -{ - unsigned short *memory; - int carry; - int sign; - int zero; - int overflow; - int op; - int cycles; - - borw_type regs[16]; - - sim_phys_addr_type sometimes_pc; -#ifdef __GNUC__ - volatile -#endif - int exception; - -#define iwords_0 iwords0 -#define iwords_1 iwords1 -#define iwords_2 iwords2 -#define iwords_3 iwords3 - -#define ibytes_0 (iwords_0>>8) -#define ibytes_1 (iwords_0&0xff) -#define ibytes_2 (iwords_1>>8) -#define ibytes_3 (iwords_1& 0xff) -#define ibytes_4 (iwords_2>>8) - - int insts; - int ticks; - - int next_inst; - int broken_flags; - - int srca; - int srcb; - int dst; - int size; -} - -sim_state_type; - -#define CMP_FLAGS 100 -#define TST_FLAGS 101 -#endif - -extern int get_word_mem_da PARAMS((sim_state_type *context, int addr)); -extern int get_word_reg PARAMS((sim_state_type *context, int reg)); -extern void support_call PARAMS((sim_state_type *context, int sc)); -extern void tm_exception PARAMS((int x)); -extern int tm_read_byte PARAMS((int x)); -extern int tm_signal PARAMS((void)); -extern void tm_state PARAMS((sim_state_type *x)); -extern void tm_write_byte PARAMS((int x, int y)); -extern void bfop_bad1 PARAMS(()); -extern int fail PARAMS((sim_state_type *context, int v)); -extern void fop_bad PARAMS((sim_state_type *context)); -extern void sfop_bad1 PARAMS(()); -extern void swap_long PARAMS((char *buf, int val)); -extern void swap_word PARAMS((char *buf, int val)); -extern void tm_fetch_register PARAMS((int regno, char *buf)); -extern void tm_info_print PARAMS((sim_state_type *x)); -extern void tm_resume PARAMS((int step)); -extern void tm_store_register PARAMS((int regno, int value)); - - -#ifndef __GNUC__ -/* If were using gnuc then these will be inlined, so the prototypes - won't be right */ -long int sitoptr PARAMS((long int si)); -long int ptrtosi PARAMS((long int ptr)); -void put_long_reg PARAMS((sim_state_type *context, int reg, int val)); -void put_quad_reg PARAMS((sim_state_type *context, int reg, int val1, int val2)); -void put_word_reg PARAMS((sim_state_type *context, int reg, int val)); -SItype get_long_reg PARAMS((sim_state_type *context, int reg)); -void put_byte_reg PARAMS((sim_state_type *context, int reg, int val)); -int get_byte_reg PARAMS((sim_state_type *context, int reg)); -void put_word_mem_da PARAMS((sim_state_type *context, int addr, int value)); -unsigned char get_byte_mem_da PARAMS((sim_state_type *context, int addr)); -void put_byte_mem_da PARAMS((sim_state_type *context, int addr, int value)); -SItype get_long_mem_da PARAMS((sim_state_type *context, int addr)); -void put_long_mem_da PARAMS((sim_state_type *context, int addr, int value)); -int get_word_mem_ir PARAMS((sim_state_type *context, int reg)); -void put_word_mem_ir PARAMS((sim_state_type *context, int reg, int value)); -int get_byte_mem_ir PARAMS((sim_state_type *context, int reg)); -void put_byte_mem_ir PARAMS((sim_state_type *context, int reg, int value)); -int get_long_mem_ir PARAMS((sim_state_type *context, int reg)); -void put_long_mem_ir PARAMS((sim_state_type *context, int reg, int value)); -void put_long_mem_x PARAMS((sim_state_type *context, int base, int reg, int value)); -void put_word_mem_x PARAMS((sim_state_type *context, int base, int reg, int value)); -void put_byte_mem_x PARAMS((sim_state_type *context, int base, int reg, int value)); -int get_word_mem_x PARAMS((sim_state_type *context, int base, int reg)); -int get_byte_mem_x PARAMS((sim_state_type *context, int base, int reg)); -int get_long_mem_x PARAMS((sim_state_type *context, int base, int reg)); -int COND PARAMS((sim_state_type *context, int c)); -void NORMAL_FLAGS PARAMS((sim_state_type *context, int size, int dst, int srca, int srcb)); -void TEST_NORMAL_FLAGS PARAMS((sim_state_type *context, int size, int dst)); -void put_ptr_long_reg PARAMS((sim_state_type *context, int reg, int val)); -long int get_ptr_long_reg PARAMS((sim_state_type *context, int reg)); -long int get_ptr_long_mem_ir PARAMS((sim_state_type *context, int reg)); -long int get_ptr_long_mem_da PARAMS((sim_state_type *context, long int addr)); -void put_ptr_long_mem_da PARAMS((sim_state_type *context, long int addr, long int ptr)); -#endif diff --git a/sim/z8k/writecode.c b/sim/z8k/writecode.c deleted file mode 100644 index acff7c462f9..00000000000 --- a/sim/z8k/writecode.c +++ /dev/null @@ -1,1948 +0,0 @@ -/* generate instructions for Z8KSIM - - Copyright 1992, 1993, 2002 Free Software Foundation, Inc. - -This file is part of Z8KSIM - -Z8KSIM is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -Z8KSIM is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with Z8KZIM; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* This program generates the code which emulates each of the z8k - instructions - - code goes into three files, tc-gen1.h, tc-gen2.h and tc-gen3.h. - which file being made depends upon the options - - -1 tc-gen1.h contains the fully expanded code for some selected - opcodes, (those in the quick.c list) - - -2 tc-gen2.h contains a list of pointers to functions, one for each - opcode. It points to functions in tc-gen3.h and tc-gen1.h - depending upon quick.c - - -3 tc-gen3.h contains all the opcodes in unexpanded form. - - -b3 tc-genb3.h same as -3 but for long pointers - - */ - -/* steve chamberlain - sac@cygnus.com */ - -#include "config.h" - -#include -#include -#ifdef HAVE_STDLIB_H -#include -#endif -#ifdef HAVE_STRING_H -#include -#else -#ifdef HAVE_STRINGS_H -#include -#endif -#endif - -#define NICENAMES - -#define DEFINE_TABLE -#include "../opcodes/z8k-opc.h" - -#define NOPS 500 - -struct opcode_value -{ - int n; - struct opcode_value *next; -}; - -#define NICENAMES -int BIG; - -static char *reg_names[] = -{"bad", "src", "dst", "aux_a", "aux_b", "aux_r", "aux_x"}; - -#define IS_DST(x) ((x & 0xf) == 2) -#define IS_SRC(x) ((x & 0xf)==1) -#define SIZE_ADDRESS (BIG ? 8 : 4) /* number of nibbles in a ptr*/ - -static int file; - -static int nibs = 0; - -static char *current_size; -static char *current_name; -static char current_word0[40]; -static char current_byte0[40]; -static char current_byte1[40]; -static int indent; -static char *p; -static char *d; - -struct opcode_value *list[NOPS]; - -static opcode_entry_type * -lookup_inst (what) - int what; -{ - static short *z8k_inv_list = NULL; - const nr_z8k_inv_list_elements = 1 << 16; - if (z8k_inv_list == NULL) - { - /* Initialize the list to 0xff == -1 */ - z8k_inv_list = calloc (nr_z8k_inv_list_elements, sizeof (short)); - memset (z8k_inv_list, 0xff, nr_z8k_inv_list_elements * sizeof (short)); - } - /* Entry empty? Fill it in. */ - if (z8k_inv_list[what] == -1) - { - - int nibl_index; - int nibl_matched; - unsigned short instr_nibl; - unsigned short tabl_datum, datum_class, datum_value; - char instr_nibbles[8]; - - opcode_entry_type *ptr = z8k_table; - - nibl_matched = 0; - - instr_nibbles[3] = (what >> 0) & 0xf; - instr_nibbles[2] = (what >> 4) & 0xf; - instr_nibbles[1] = (what >> 8) & 0xf; - instr_nibbles[0] = (what >> 12) & 0xf; - - /* Assume it won't be found. */ - z8k_inv_list[what] = -2; - - while (ptr->name) - { - nibl_matched = 1; - for (nibl_index = 0; nibl_index < 4 && nibl_matched; nibl_index++) - { - instr_nibl = instr_nibbles[nibl_index]; - - tabl_datum = ptr->byte_info[nibl_index]; - datum_class = tabl_datum & CLASS_MASK; - datum_value = ~CLASS_MASK & tabl_datum; - - switch (datum_class) - { - case CLASS_BIT_1OR2: - if (datum_value != (instr_nibl & ~0x2)) - nibl_matched = 0; - break; - - case CLASS_IGNORE: - break; - case CLASS_BIT: - if (datum_value != instr_nibl) - nibl_matched = 0; - break; - case CLASS_00II: - if (!((~instr_nibl) & 0x4)) - nibl_matched = 0; - break; - case CLASS_01II: - if (!(instr_nibl & 0x4)) - nibl_matched = 0; - break; - case CLASS_0CCC: - if (!((~instr_nibl) & 0x8)) - nibl_matched = 0; - break; - case CLASS_1CCC: - if (!(instr_nibl & 0x8)) - nibl_matched = 0; - break; - case CLASS_0DISP7: - if (!((~instr_nibl) & 0x8)) - nibl_matched = 0; - nibl_index += 1; - break; - case CLASS_1DISP7: - if (!(instr_nibl & 0x8)) - nibl_matched = 0; - nibl_index += 1; - break; - case CLASS_REGN0: - if (instr_nibl == 0) - nibl_matched = 0; - break; - default: - break; - } - } - if (nibl_matched) - { - z8k_inv_list[what] = ptr->idx; - break; /* while */ - } - ptr++; - } - } - if (z8k_inv_list[what] >= 0) - return z8k_table + z8k_inv_list[what]; - return 0; -} - -static char * -insn_4 (n) - int n; -{ - switch (n) - { - case 1: - return "((iwords_0>>8) & 0xf)"; - case 2: - return "((ibytes_1 >> 4) & 0xf)"; - case 3: - return "((ibytes_1) & 0xf)"; - case 4: - return "((ibytes_2>>4) & 0xf)"; - case 5: - return "((ibytes_2) & 0xf)"; - case 6: - return "((ibytes_3 >> 4) & 0xf)"; - case 7: - return "((ibytes_3) & 0xf)"; - default: - return "****"; - } -} - -char * -ptr_mode () -{ - if (BIG) - { - return "ptr_long"; - } - return "word"; -} - -static -char * -ptr_size () -{ - if (BIG) - return "4"; - return "2"; -} - -static char * -reg_n (x) - unsigned int x; -{ - return reg_names[x & 0xf]; -} - -char * -stack_ptr () -{ - return BIG ? "14" : "15"; -} - -char * -mem () -{ -#if 0 - return BIG ? "segmem" : "unsegmem"; -#else - return "mem"; -#endif -} - -int -match (a) - char *a; -{ - if (strncmp (p, a, strlen (a)) == 0) - { - p += strlen (a); - return 1; - } - return 0; -} - -static -void -sub (y) - char *y; -{ - sprintf (d, "%s", y); - d += strlen (d); -} - -static char * -insn_16 (n) - int n; -{ - switch (n) - { - case 0: - return "(iwords_0)"; - case 4: - return "(iwords_1)"; - case 8: - return "(iwords_2)"; - case 12: - return "(iwords_3)"; - default: - return "****"; - } -} - -static -char * -insn_32 (n) - int n; -{ - switch (n) - { - case 0: - return "((iwords_0<<16) | (iwords_1))"; - case 4: - return "((iwords_1<<16) | (iwords_2))"; - case 8: - return "((iwords_2<<16) | (iwords_3))"; - default: - return "****"; - } -} - -static char * -size_name (x) - int x; -{ - switch (x) - { - case 8: - return "byte"; - case 16: - return "word"; - case 32: - return "long"; - case 64: - return "quad"; - } - return "!!"; -} - -/*VARARGS*/ -void -emit (string, a1, a2, a3, a4, a5) - char *string; - char* a1; - char* a2; - char* a3; - char* a4; - char* a5; -{ - int indent_inc = 0; - int indent_dec = 0; - int i; - char buffer[1000]; - - d = buffer; - p = string; - - while (*p) - { - if (match ("")) - { - if (BIG) - { - sub ("bfop"); - } - else - { - sub ("sfop"); - } - } - else if (match ("")) - { - if (BIG) - { - switch (nibs) - { - case 4: - sub ("(((iwords_1 << 8) | (iwords_2)) & 0x7fffff)"); - break; - default: - sub ("fail(context,124)"); - break; - } - } - else - { - switch (nibs) - { - case 4: - sub ("iwords_1"); - break; - default: - sub ("fail(context,123)"); - break; - } - } - } - else if (match ("")) - { - sub (current_name); - } - else if (match ("")) - { - sub (current_size); - } - else if (match ("")) - { - sub (insn_4 (nibs)); - } - else if (match ("")) - { - sub (insn_16 (nibs)); - } - else if (match ("")) - { - sub (insn_32 (nibs)); - } - else if (match ("iwords_0")) - { - sub (current_word0); - } - else if (match ("ibytes_0")) - { - sub (current_byte0); - } - else if (match ("")) - { - sub (current_byte1); - } - else if (match ("")) - { - if (strcmp (current_size, "word") == 0) - sub ("long"); - if (strcmp (current_size, "byte") == 0) - sub ("word"); - else if (strcmp (current_size, "long") == 0) - sub ("quad"); - else - abort (); - } - else if (match ("")) - { - if (BIG) - sub ("unsigned long"); - else - sub ("unsigned short"); - } - - else if (match ("")) - { - if (strcmp (current_size, "word") == 0) - sub ("short"); - else if (strcmp (current_size, "byte") == 0) - sub ("char"); - else if (strcmp (current_size, "long") == 0) - sub ("long"); - else - abort (); - } - - else if (match ("")) - { - sub ("pc"); - } - else if (match ("")) - { - sub (mem ()); - } - else if (match ("")) - { - sub (stack_ptr ()); - } - else if (match ("")) - { - sub (ptr_size ()); - } - else if (match ("")) - { - sub (ptr_mode ()); - } - else if (match ("")) - { - switch (nibs) - { - case 2: - sub ("(iwords_0&0xff)"); - break; - case 4: - sub ("(iwords_1>>8)"); - break; - case 6: - sub ("(iwords_1&0xff)"); - break; - case 8: - sub ("(iwords_2>>8)"); - break; - case 12: - sub ("(/* WHO */iwords_3&0xff)"); - break; - default: - abort (); - } - } - else - { - if (*p == '{') - indent_inc++; - if (*p == '}') - indent_dec++; - *d++ = *p; - p++; - } - } - *d++ = 0; - indent -= indent_dec; - for (i = 0; i < indent; i++) - printf ("\t"); - indent += indent_inc; - printf (buffer, a1, a2, a3, a4, a5); - -} - -/* fetch the lvalues of the operands */ -void -info_args (p) - opcode_entry_type *p; -{ - unsigned int *s; - - int done_one_imm8 = 0; - - /* int done_read = 4;*/ - s = p->byte_info; - nibs = 0; - while (*s) - { - switch (*s & CLASS_MASK) - { - case CLASS_BIT_1OR2: - emit ("register unsigned int imm_src=(& 2)?2:1;\n"); - break; - case CLASS_IGNORE: - case CLASS_BIT: - /* Just ignore these, we've already decoded this bit */ - nibs++; - break; - case CLASS_REGN0: - case CLASS_REG: - /* this nibble tells us which register to use as an arg, - if we've already gobbled the nibble we know what to use */ - { - int regname = *s & 0xf; - - emit ("register unsigned int reg_%s=;\n", - reg_names[regname]); - - nibs++; - } - break; - case CLASS_ADDRESS: - emit ("register unsigned base_%s=;\n", reg_n (*s)); - - nibs += SIZE_ADDRESS; - - break; - case CLASS_01II: - case CLASS_00II: - emit ("register unsigned int imm_src=&0x2;\n"); - nibs++; - break; - case CLASS_FLAGS: - emit ("register unsigned int imm_src=;\n"); - nibs++; -break; - case CLASS_IMM: - /* Work out the size of the think to fetch */ - - { - switch (*s & ~CLASS_MASK) - { - case ARG_IMM16: - emit ("register unsigned imm_src=;\n"); - nibs += 4; - break; - case ARG_IMM32: - emit ("register unsigned int imm_src= %s;\n", insn_32 (nibs)); - nibs += 8; - break; - case ARG_IMM4: - emit ("register unsigned int imm_src=;\n"); - nibs++; - break; - case ARG_NIM4: - emit ("register unsigned int imm_src = - ;\n"); - nibs++; - break; - case ARG_IMM2: - emit ("register unsigned int imm_src= & 0x2;\n"); - nibs++; - break; - - case ARG_IMM4M1: - emit ("register unsigned int imm_src=( + 1);\n"); - nibs++; - break; - case ARG_IMM_1: - emit ("register unsigned int imm_src=1;\n"); - break; - case ARG_IMM_2: - emit ("register unsigned int imm_src=2;\n"); - break; - case ARG_NIM8: - emit ("register unsigned int imm_src=-;\n"); - nibs += 2; - break; - case ARG_IMM8: - if (!done_one_imm8) - { - emit ("register unsigned int imm_src=;\n"); - nibs += 2; - done_one_imm8 = 1; - } - break; - default: - emit ("register int fail%d=fail(context,1);\n", nibs); - break; - } - break; - - case CLASS_DISP8: - /* We can't use `(char)' since char might be unsigned. - We can't use `(signed char)' because the compiler might be K&R. - This seems safe, since it only assumes that bytes are 8 - bits. */ - emit ("register unsigned int oplval_dst=((ibytes_1 << (sizeof (int) * 8 - 8)) >> (sizeof (int) * 8 - 9)) + pc;\n"); -#if 0 - /* Original code: fails if characters are unsigned. */ - emit ("register unsigned int oplval_dst=(((char)ibytes_1)<<1) + pc;\n"); -#endif - nibs += 2; - break; - case CLASS_CC: - emit ("register unsigned int op_cc=;\n"); - nibs++; - break; - default: - emit ("register int FAIL%d=fail(context,2);\n", nibs); - break; - } - ; - /* work out how to fetch the immediate value */ - } - - s++; - } -} - -void -info_special (p, getdst, nostore, before, nosrc) - opcode_entry_type *p; - int *getdst; - int *nostore; - int *before; - int *nosrc; -{ - switch (p->opcode) - { - case OPC_exts: - case OPC_extsb: - case OPC_extsl: - *nostore = 1; - *nosrc = 1; - break; - case OPC_ldm: - *nostore = 1; - *nosrc = 1; - break; - case OPC_negb: - case OPC_neg: - case OPC_sla: - case OPC_slab: - case OPC_slal: - case OPC_sda: - case OPC_sdab: - case OPC_sdal: - case OPC_com: - case OPC_comb: - case OPC_adc: - case OPC_sbc: - case OPC_nop: - case OPC_adcb: - case OPC_add: - case OPC_addb: - case OPC_addl: - case OPC_inc: - case OPC_sub: - case OPC_subb: - case OPC_subl: - case OPC_and: - case OPC_andb: - case OPC_xorb: - case OPC_xor: - break; - - case OPC_mult: - case OPC_multl: - case OPC_div: - case OPC_divl: - - *nostore = 1; - break; - - case OPC_testb: - case OPC_test: - case OPC_testl: - case OPC_cp: - case OPC_cpb: - case OPC_cpl: - case OPC_bit: - *nostore = 1; - *before = 0; - break; - - case OPC_bpt: - case OPC_jr: - case OPC_jp: - case OPC_ret: - case OPC_call: - case OPC_tcc: - *nosrc = 1; - *nostore = 1; - *before = 1; - break; - case OPC_sc: - *nostore = 1; - *before = 0; - break; - case OPC_clrb: - case OPC_clr: - *before = 1; - *nosrc = 1; - break; - case OPC_ldi: - case OPC_ldib: - case OPC_lddb: - case OPC_ldd: - - *before = 1; - *nostore = 1; - *nosrc = 1; - break; - case OPC_ldk: - case OPC_ld: - case OPC_ldb: - case OPC_ldl: - *before = 1; - *getdst = 0; - break; - case OPC_push: - case OPC_pushl: - case OPC_pop: - case OPC_popl: - *before = 1; - *getdst = 0; - break; - case OPC_lda: - *nosrc = 1; - break; - } -} - -/* calculate the lvalues required for the opcode */ -void -info_lvals (p) - opcode_entry_type *p; -{ - /* emit code to work out lvalues, if any */ - unsigned int *i = p->arg_info; - - while (*i) - { - current_name = reg_n (*i); - current_size = size_name (p->type); - switch (*i & CLASS_MASK) - { - case CLASS_X: - /* address(reg) */ - emit ("register oplval_= ((base_ + (short)get_word_reg(context,reg_)) & 0xffff) + (base_ & ~0xffff);\n"); - break; - case CLASS_IR: - /* Indirect register */ - emit ("register int oplval_ = get__reg(context,reg_);\n"); - break; - case CLASS_DA: - emit ("register int oplval_=base_;\n"); - break; - case CLASS_IMM: - case CLASS_REG_WORD: - case CLASS_REG_LONG: - case CLASS_REG_BYTE: - case CLASS_PR: - break; - case CLASS_BA: - emit ("register int oplval_ = get__reg(context,reg_) + (short)(imm_src);\n"); - break; - case CLASS_BX: - emit ("register int oplval_ = get__reg(context,reg_)\n"); - emit (" + get_word_reg(context,reg_aux_x);\n"); - break; - } - i++; - } -} - -/* emit code to fetch the args from calculated lvalues */ -int allregs; -void -info_fetch (p, getdst) - opcode_entry_type *p; - int getdst; -{ - unsigned int *i = p->arg_info; - int had_src = 0; - - allregs = 1; - while (*i) - { - - current_name = reg_n (*i); - current_size = size_name (p->type); - switch (*i & CLASS_MASK) - { - case CLASS_X: - case CLASS_IR: - case CLASS_BA: - case CLASS_BX: - case CLASS_DA: - if (!getdst && IS_DST (*i)) - break; - emit ("register int op_= get___da(context,oplval_);\n"); - allregs = 0; - break; - case CLASS_IMM: - if (!had_src) - { - if (p->opcode == OPC_out || - p->opcode == OPC_outb || - p->opcode == OPC_sout || - p->opcode == OPC_soutb) - { - /* The imm is a dest here */ - emit ("register int op_dst = imm_src;\n"); - } - else - { - emit ("register int op_src = imm_src;\n"); - } - } - break; - case CLASS_REG_QUAD: - if (!getdst && IS_DST (*i)) - break; - had_src |= IS_SRC (*i); - emit ("UDItype op_ ;\n"); - - break; - case CLASS_REG_WORD: - if (!getdst && IS_DST (*i)) - break; - had_src |= IS_SRC (*i); - emit ("register int op_ = get_word_reg(context,reg_);\n"); - break; - - case CLASS_REG_LONG: - if (!getdst && IS_DST (*i)) - break; - had_src |= IS_SRC (*i); - emit ("register int op_ = get_long_reg(context,reg_);\n"); - break; - case CLASS_REG_BYTE: - if (!getdst && IS_DST (*i)) - break; - had_src |= IS_SRC (*i); - emit ("register int op_ = get_byte_reg(context,reg_);\n"); - break; - } - i++; - } -} - -static void -normal_flags (p, s, neg) - opcode_entry_type *p; - char *s; -{ - emit (" %s;\n", s); - emit ("NORMAL_FLAGS(context,%d, tmp, op_dst, op_src,%d); \n", p->type,neg); -} - -static void -test_normal_flags (p, s, opt) - opcode_entry_type *p; - char *s; - int opt; -{ - emit (" %s;\n", s); - if (0 && opt) - { - emit ("context->broken_flags = TST_FLAGS;\n"); - emit ("context->size = %d;\n", p->type); - } - else - { - emit ("TEST_NORMAL_FLAGS(context,%d, tmp); \n", p->type); - } - -} - -static void -optimize_normal_flags (p, s,neg) - opcode_entry_type *p; - char *s; -{ - emit (" %s;\n", s); -#if 0 - emit ("context->broken_flags = CMP_FLAGS;\n"); -#else - emit ("NORMAL_FLAGS(context,%d, tmp, op_dst, op_src,%d); \n", p->type, neg); -#endif -} - -static -void -jp (p) - opcode_entry_type *p; -{ - - emit ("if(op_cc == 8 || COND(context,op_cc)) pc = oplval_dst;\n"); -} - -static void -jr (p) - opcode_entry_type *p; -{ - emit ("if(op_cc == 8 || COND(context,op_cc)) pc = oplval_dst;\n"); -} - -static void -ret (p) - opcode_entry_type *p; -{ - emit ("if(op_cc == 8 || COND(context,op_cc))\n{\n"); - emit ("pc = get___ir(context,);\n"); - emit ("put__reg(context,, get__reg(context,) + );\n"); - emit ("};\n"); -} - -static void -call (p) - opcode_entry_type *p; -{ - emit ("put__reg(context,,tmp = get__reg(context,) - );\n"); - emit ("put___da(context,tmp, pc);\n"); - emit ("pc = oplval_dst;\n"); -} - -static void -push (p) - opcode_entry_type *p; -{ - emit ("tmp = op_src;\n"); - emit ("oplval_dst -= %d;\n", p->type / 8); - emit ("put__reg(context,reg_dst, oplval_dst);\n"); -} - -static void -pop (p) - opcode_entry_type *p; -{ - emit ("tmp = op_src;\n"); - emit ("put__reg(context,reg_src, oplval_src + %d);\n", p->type / 8); -} - -static void -ld (p) - opcode_entry_type *p; -{ - emit ("tmp = op_src;\n"); -} - -static void -sc () -{ - emit ("support_call(context,imm_src);\n"); -} - -static void -bpt () -{ - emit ("pc -=2; \n"); - emit ("context->exception = SIM_BREAKPOINT;\n"); -} - -static void -ldi (p, size, inc) - opcode_entry_type *p; - int size; - int inc; -{ - int dinc = (size / 8) * inc; - - current_size = size_name (size); - emit ("{ \n"); - emit ("int type = %s;\n", insn_4 (7)); - emit ("int rs = get__reg(context,reg_src);\n"); - emit ("int rd = get__reg(context,reg_dst);\n"); - emit ("int rr = get_word_reg(context,reg_aux_r);\n"); - emit ("do {\n"); - emit ("put___da(context,rd, get___da(context,rs));\n"); - emit ("rd += %d;\n", dinc); - emit ("rs += %d;\n", dinc); - emit ("rr --;\n"); - emit ("context->cycles += 9;\n"); - emit ("} while (!type && rr != 0 && context->exception <= 1);\n"); - emit ("if (context->exception>1) pc -=4;\n"); - emit ("put__reg(context,reg_src, rs);\n"); - emit ("put__reg(context,reg_dst, rd);\n"); - emit ("put_word_reg(context,reg_aux_r, rr);\n"); - emit ("}\n"); - -} - -static void -shift (p, arith) - opcode_entry_type *p; - int arith; -{ - - /* We can't use `(char)' since char might be unsigned. - We can't use `(signed char)' because the compiler might be K&R. - This seems safe, since it only assumes that bytes are 8 bits. */ - emit ("op_src = (op_src << (sizeof (int) * 8 - 8)) >> (sizeof (int) * 8 - 8);\n"); -#if 0 - /* Original code: fails if characters are unsigned. */ - emit ("op_src = (char)op_src;\n"); -#endif - emit ("if (op_src < 0) \n"); - emit ("{\n"); - emit ("op_src = -op_src;\n"); - emit ("op_dst = (%s )op_dst;\n", arith ? "" : "unsigned"); - emit ("tmp = (%s op_dst) >> op_src;\n", arith ? "" : "(unsigned)"); - emit ("context->carry = op_dst >> (op_src-1);\n", p->type); - emit ("}\n"); - emit ("else\n"); - emit ("{\n"); - emit ("tmp = op_dst << op_src;\n"); - emit ("context->carry = op_dst >> (%d - op_src);\n", p->type); - emit ("}\n"); - emit ("context->zero = ()tmp == 0;\n"); - emit ("context->sign = (int)(()tmp) < 0;\n"); - emit ("context->overflow = ((int)tmp < 0) != ((int)op_dst < 0);\n"); - emit ("context->cycles += 3*op_src;\n"); - emit ("context->broken_flags = 0;\n"); - -} - -static void -rotate (p, through_carry, size, left) - opcode_entry_type *p; - int through_carry; - int size; - int left; -{ - - if (!left) - { - emit ("while (op_src--) {\n"); - emit ("int rotbit;\n"); - emit ("rotbit = op_dst & 1;\n"); - emit ("op_dst = ((unsigned)op_dst) >> 1;\n"); - - if (through_carry) - { - emit ("op_dst |= context->carry << %d;\n", size - 1); - } - else - { - emit ("op_dst |= rotbit << %d;\n", size - 1); - } - emit ("context->carry = rotbit;\n"); - emit ("}\n"); - } - else - { - emit ("while (op_src--) {\n"); - emit ("int rotbit;\n"); - - emit ("rotbit = (op_dst >> (%d))&1;\n", size - 1); - emit ("op_dst <<=1;\n"); - if (through_carry) - { - emit ("if (context->carry) op_dst |=1;\n"); - } - else - { - emit ("if (rotbit) op_dst |= 1;\n"); - } - emit ("context->carry = rotbit;\n"); - emit ("}\n"); - } - emit ("tmp = ()op_dst;\n"); - emit ("context->zero = tmp == 0;\n"); - emit ("context->sign = (int)tmp < 0;\n"); - emit ("context->overflow = ((int)tmp < 0) != ((int)op_dst < 0);\n"); - emit ("context->cycles += 3*op_src;\n"); - emit ("context->broken_flags = 0;\n"); - -} - -static void -adiv (p) - opcode_entry_type *p; -{ - emit ("if (op_src==0)\n"); - emit ("{\n"); - emit ("context->exception = SIM_DIV_ZERO;\n"); - emit ("}\n"); - emit ("else\n"); - emit ("{\n"); - - if (p->type == 32) - { - emit ("op_dst.low = (int)get_long_reg(context,reg_dst+2);\n"); - emit ("op_dst.high = (int)get_long_reg(context,reg_dst+0);\n"); -#ifdef __GNUC__ - emit ("tmp = (((long long)op_dst.high << 32) + (op_dst.low)) / (int)op_src;\n"); -#else - emit ("tmp = (long)op_dst.low / (int)op_src;\n"); -#endif - emit ("put_long_reg(context,reg_dst+2, tmp);\n"); -#ifdef __GNUC__ - emit ("put_long_reg(context,reg_dst, (((long long)op_dst.high << 32) + (op_dst.low)) %% (int)op_src);\n"); -#else - emit ("put_long_reg(context,reg_dst, (int)op_dst.low %% (int)op_src);\n"); -#endif - - emit ("context->zero = op_src == 0 || (op_dst.low==0 && op_dst.high==0);\n"); - } - else - { - emit ("tmp = (long)op_dst / (short)op_src;\n"); - emit ("put_word_reg(context,reg_dst+1, tmp);\n"); - emit ("put_word_reg(context,reg_dst, (long) op_dst %% (short)op_src);\n"); - emit ("context->zero = op_src == 0 || op_dst==0;\n"); - } - - emit ("context->sign = (int)tmp < 0;\n"); - emit ("context->overflow =(tmp & 0x%x) != 0;\n", - ~((1 << (p->type)) - 1)); - emit ("context->carry = (tmp & 0x%x) != 0;\n", - ~(1 << (p->type))); - - emit ("}\n"); -} - -static void -dobit (p) -opcode_entry_type *p; -{ - emit("context->zero = (op_dst & (1<broken_flags = 0;\n"); -} -static void -doset (p, v) -opcode_entry_type*p; -int v; -{ - if (v) - emit (" tmp = op_dst | (1<< op_src);\n"); - else - emit (" tmp = op_dst & ~(1<< op_src);\n"); -} - -static void -mult (p) - opcode_entry_type *p; -{ - - if (p->type == 32) - { - emit ("op_dst.low = get_long_reg(context,reg_dst+2);\n"); - emit ("tmp = op_dst.low * op_src;\n"); - emit ("put_long_reg(context,reg_dst+2, tmp);\n"); - emit ("put_long_reg(context,reg_dst, 0);\n"); - } - else - { - emit ("op_dst = get_word_reg(context,reg_dst+1);\n"); - emit ("tmp = op_dst * op_src;\n"); - emit ("put_long_reg(context,reg_dst, tmp);\n"); - } - - emit ("context->sign = (int)tmp < 0;\n"); - emit ("context->overflow =0;\n"); - emit ("context->carry = (tmp & 0x%x) != 0;\n", ~((1 << (p->type)) - 1)); - emit ("context->zero = tmp == 0;\n"); - -} - -static void -exts (p) - opcode_entry_type *p; -{ - /* Fetch the ls part of the src */ - current_size = size_name (p->type * 2); - - if (p->type == 32) - { - emit ("tmp= get_long_reg(context,reg_dst+2);\n"); - emit ("if (tmp & (1<<%d)) {\n", p->type - 1); - emit ("put_long_reg(context,reg_dst, 0xffffffff);\n"); - emit ("}\n"); - emit ("else\n"); - emit ("{\n"); - emit ("put_long_reg(context,reg_dst, 0);\n"); - emit ("}\n"); - } - else - { - emit ("tmp= get__reg(context,reg_dst);\n"); - emit ("if (tmp & (1<<%d)) {\n", p->type - 1); - emit ("tmp |= 0x%x;\n", ~((1 << p->type) - 1)); - emit ("}\n"); - emit ("else\n"); - emit ("{\n"); - - emit ("tmp &= 0x%x;\n", ((1 << p->type) - 1)); - emit ("}\n"); - emit ("put__reg(context,reg_dst, tmp);\n"); - } -} -doflag(on) -int on; -{ - /* Load up the flags */ - emit(" COND (context, 0x0b);\n"); - - if (on) - emit ("{ int on =1;\n "); - else - emit ("{ int on =0;\n "); - - emit ("if (imm_src & 1)\n"); - emit ("PSW_OVERFLOW = on;\n"); - - emit ("if (imm_src & 2)\n"); - emit ("PSW_SIGN = on;\n"); - - emit ("if (imm_src & 4)\n"); - emit ("PSW_ZERO = on;\n"); - - emit ("if (imm_src & 8)\n"); - emit ("PSW_CARRY = on;\n"); - emit("}\n"); - - -} -/* emit code to perform operation */ -void -info_docode (p) - opcode_entry_type *p; -{ - switch (p->opcode) - { - case OPC_clr: - case OPC_clrb: - emit ("tmp = 0;\n"); - break; - case OPC_ex: - case OPC_exb: - - emit ("tmp = op_src; \n"); - if (allregs) - { - emit ("put__reg(context,reg_src, op_dst);\n"); - } - else - { - emit ("put__mem_da(context, oplval_src, op_dst);\n"); - } - break; - case OPC_adc: - case OPC_adcb: - normal_flags (p, "op_src += COND(context,7);tmp = op_dst + op_src ;",0); - break; - case OPC_sbc: - normal_flags (p, "op_src += COND(context,7);tmp = op_dst - op_src ;",1); - break; - case OPC_nop: - break; - case OPC_com: - case OPC_comb: - test_normal_flags (p, "tmp = ~ op_dst", 1); - break; - case OPC_and: - case OPC_andb: - test_normal_flags (p, "tmp = op_dst & op_src", 1); - break; - case OPC_xor: - case OPC_xorb: - test_normal_flags (p, "tmp = op_dst ^ op_src", 1); - break; - case OPC_or: - case OPC_orb: - test_normal_flags (p, "tmp = op_dst | op_src", 1); - break; - case OPC_sla: - case OPC_slab: - case OPC_slal: - case OPC_sda: - case OPC_sdab: - case OPC_sdal: - shift (p, 1); - break; - - case OPC_sll: - case OPC_sllb: - case OPC_slll: - case OPC_sdl: - case OPC_sdlb: - case OPC_sdll: - shift (p, 0); - break; - case OPC_rl: - rotate (p, 0, 16, 1); - break; - case OPC_rlb: - rotate (p, 0, 8, 1); - break; - case OPC_rr: - rotate (p, 0, 16, 0); - break; - case OPC_rrb: - rotate (p, 0, 8, 0); - break; - case OPC_rrc: - rotate (p, 1, 16, 0); - break; - case OPC_rrcb: - rotate (p, 1, 8, 0); - break; - case OPC_rlc: - rotate (p, 1, 16, 1); - break; - case OPC_rlcb: - rotate (p, 1, 8, 1); - break; - - case OPC_extsb: - case OPC_exts: - case OPC_extsl: - exts (p); - break; - case OPC_add: - case OPC_addb: - case OPC_addl: - case OPC_inc: - case OPC_incb: - optimize_normal_flags (p, "tmp = op_dst + op_src",0); - break; - case OPC_testb: - case OPC_test: - case OPC_testl: - test_normal_flags (p, "tmp = op_dst", 0); - break; - case OPC_cp: - case OPC_cpb: - case OPC_cpl: - normal_flags (p, "tmp = op_dst - op_src",1); - break; - case OPC_negb: - case OPC_neg: - emit ("{\n"); - emit ("int op_src = -op_dst;\n"); - emit ("op_dst = 0;\n"); - optimize_normal_flags (p, "tmp = op_dst + op_src;\n",1); - emit ("}"); - break; - - case OPC_sub: - case OPC_subb: - case OPC_subl: - case OPC_dec: - case OPC_decb: - optimize_normal_flags (p, "tmp = op_dst - op_src",1); - break; - case OPC_bpt: - bpt (); - break; - case OPC_jr: - jr (p); - break; - case OPC_sc: - sc (); - break; - case OPC_jp: - jp (p); - break; - case OPC_ret: - ret (p); - break; - case OPC_call: - call (p); - break; - case OPC_tcc: - case OPC_tccb: - emit ("if(op_cc == 8 || COND(context,op_cc)) put_word_reg(context,reg_dst, 1);\n"); - break; - case OPC_lda: - emit ("tmp = oplval_src; \n"); - /*(((oplval_src) & 0xff0000) << 8) | (oplval_src & 0xffff); \n");*/ - break; - case OPC_ldk: - case OPC_ld: - - case OPC_ldb: - case OPC_ldl: - ld (p); - break; - case OPC_ldib: - ldi (p, 8, 1); - break; - case OPC_ldi: - ldi (p, 16, 1); - break; - - case OPC_lddb: - ldi (p, 8, -1); - break; - case OPC_ldd: - ldi (p, 16, -1); - break; - - case OPC_push: - case OPC_pushl: - push (p); - break; - - case OPC_div: - case OPC_divl: - adiv (p); - break; - case OPC_mult: - case OPC_multl: - mult (p); - break; - case OPC_pop: - case OPC_popl: - pop (p); - break; - case OPC_set: - doset (p,1); - break; - case OPC_res: - doset (p,0); - break; - case OPC_bit: - dobit(p); - break; - case OPC_resflg: - doflag(0); - break; - case OPC_setflg: - doflag(1); - break; - default: - - emit ("tmp = fail(context,%d);\n", p->opcode); - break; - } -} - -/* emit code to store result in calculated lvalue */ - -void -info_store (p) - opcode_entry_type *p; -{ - unsigned int *i = p->arg_info; - - while (*i) - { - current_name = reg_n (*i); - current_size = size_name (p->type); - - if (IS_DST (*i)) - { - switch (*i & CLASS_MASK) - { - case CLASS_PR: - emit ("put__reg(context,reg_, tmp);\n"); - break; - case CLASS_REG_LONG: - case CLASS_REG_WORD: - case CLASS_REG_BYTE: - - emit ("put__reg(context,reg_,tmp);\n"); - break; - case CLASS_X: - case CLASS_IR: - case CLASS_DA: - case CLASS_BX: - case CLASS_BA: - - emit ("put___da(context,oplval_, tmp);\n"); - break; - case CLASS_IMM: - break; - default: - emit ("abort(); "); - break; - } - - } - i++; - } -} - -static -void -mangle (p, shortcut, value) - opcode_entry_type *p; - int shortcut; - int value; -{ - int nostore = 0; - int extra; - int getdst = 1; - int before = 0; - int nosrc = 0; - - emit ("/\052 %s \052/\n", p->nicename); - if (shortcut) - { - emit ("int _%04x(context,pc)\n", value); - } - else - { - emit ("int _%d(context,pc,iwords0)\n", p->idx); - emit ("int iwords0;\n"); - } - emit ("sim_state_type *context;\n"); - emit ("int pc;\n"); - emit ("{\n"); - emit ("register unsigned int tmp;\n"); - if (shortcut) - { - emit ("register unsigned int iwords0 = 0x%x;\n", value); - } - - /* work out how much bigger this opcode could be because it's large - model */ - if (BIG) - { - int i; - - extra = 0; - for (i = 0; i < 4; i++) - { - if ((p->arg_info[i] & CLASS_MASK) == CLASS_DA - || (p->arg_info[i] & CLASS_MASK) == CLASS_X) - extra += 2; - } - } - else - { - extra = 0; - } - printf (" /* Length %d */ \n", p->length + extra); - switch (p->length + extra) - { - case 2: - emit ("pc += 2\n;"); - break; - case 4: - emit ("register unsigned int iwords1 = get_word_mem_da(context,pc+2);\n"); - emit ("pc += 4;\n"); - break; - case 6: - - emit ("register unsigned int iwords1 = get_word_mem_da(context,pc+2);\n"); - emit ("register unsigned int iwords2 = get_word_mem_da(context,pc+4);\n"); - emit ("pc += 6;\n"); - break; - case 8: - emit ("register unsigned int iwords1 = get_word_mem_da(context,pc+2);\n"); - emit ("register unsigned int iwords2 = get_word_mem_da(context,pc+4);\n"); - emit ("register unsigned int iwords3 = get_word_mem_da(context,pc+6);\n"); - emit ("pc += 8;\n"); - break; - default: - break; - - } - emit ("context->cycles += %d;\n", p->cycles); - - emit ("{\n"); - info_args (p); - info_special (p, &getdst, &nostore, &before, &nosrc); - - info_lvals (p); - if (!nosrc) - { - info_fetch (p, getdst); - } - - if (before) - { - info_docode (p); - } - else - { - info_docode (p); - } - if (!nostore) - info_store (p); - emit ("}\n"); - emit ("return pc;\n"); - emit ("}\n"); -} - -void -static -one_instruction (i) - int i; -{ - /* find the table entry */ - opcode_entry_type *p = z8k_table + i; - - if (!p) - return; - mangle (p, 0, 0); -} - -void -add_to_list (ptr, value) - struct opcode_value **ptr; - int value; -{ - struct opcode_value *prev; - - prev = *ptr; - *ptr = (struct opcode_value *) malloc (sizeof (struct opcode_value)); - - (*ptr)->n = value; - (*ptr)->next = prev; -} - -void -build_list (i) - int i; -{ - opcode_entry_type *p = lookup_inst (i); - - if (!p) - return; - add_to_list (&list[p->idx], i); -} - -int -main (ac, av) - int ac; - char **av; -{ - int i; - int needcomma = 0; - - for (i = 1; i < ac; i++) - { - if (strcmp (av[i], "-1") == 0) - file = 1; - if (strcmp (av[i], "-2") == 0) - file = 2; - if (strcmp (av[i], "-3") == 0) - file = 3; - if (strcmp (av[i], "-b3") == 0) - { - file = 3; - BIG = 1; - } - - } - - /* First work out which opcodes use which bit patterns, - build a list of all matching bit pattens */ - for (i = 0; i < 1 << 16; i++) - { - build_list (i); - } -#if DUMP_LIST - for (i = 0; i < NOPS; i++) - { - struct opcode_value *p; - - printf ("%d,", i); - p = list[i]; - while (p) - { - printf (" %04x,", p->n); - p = p->next; - } - printf ("-1\n"); - } - -#endif - - if (file == 1) - { - extern int quick[]; - - /* Do the shortcuts */ - printf (" /* SHORTCUTS */\n"); - for (i = 0; quick[i]; i++) - { - int t = quick[i]; - - mangle (lookup_inst (t), 1, t); - } - } - if (file == 3) - { - printf (" /* NOT -SHORTCUTS */\n"); - for (i = 0; i < NOPS; i++) - { - if (list[i]) - { - one_instruction (i); - } - else - { - emit ("int _%d(context,pc)\n", i); - printf ("sim_state_type *context;\n"); - printf ("int pc;\n"); - emit ("{ _bad1();return pc; }\n"); - } - } - emit ("int _bad() ;\n"); - - /* Write the jump table */ - emit ("int (*(_table[]))() = {"); - needcomma = 0; - for (i = 0; i < NOPS; i++) - { - if (needcomma) - printf (","); - emit ("_%d\n", i); - needcomma = 1; - } - emit ("};\n"); - } - - if (file == 2) - { - extern int quick[]; - /* Static - since it's too be to be automatic on the apollo */ - static int big[64 * 1024]; - - for (i = 0; i < 64 * 1024; i++) - big[i] = 0; - - for (i = 0; quick[i]; i++) - { -#if 0 - - printf ("extern int _%04x();\n", quick[i]); -#endif - - big[quick[i]] = 1; - } - - for (i = 0; i < NOPS; i++) - { -#if 0 - printf ("extern int fop_%d();\n", i); -#endif - } -#if 0 - printf ("extern int fop_bad();\n"); -#endif - printf ("struct op_info op_info_table[] = {\n"); - for (i = 0; i < 1 << 16; i++) - { - opcode_entry_type *p = lookup_inst (i); - - if (needcomma) - printf (","); -#if 0 - if (big[i]) - { - printf ("_%04x", i); - } - else -#endif - if (p != NULL) - { - printf ("%d", p->idx); - } - else - printf ("400"); - if (p != NULL) - { - printf (" /* %04x %s */\n", i, p->nicename); - } - else - { - printf ("\n"); - } - needcomma = 1; - } - printf ("};\n"); - - } - return 0; -} - -char * -insn_ptr (n) - int n; -{ - if (BIG) - { - abort (); - } - - switch (n) - { - case 4: - return "iwords_1"; - default: - return "fail(context,123)"; - } -} - -/* work out if the opcode only wants lvalues */ -int -lvalue (p) - opcode_entry_type *p; -{ - switch (p->opcode) - { - case OPC_lda: - return 1; - case OPC_call: - case OPC_jp: - return 1; - default: - return 0; - } -} - -int -info_len_in_words (o) - opcode_entry_type *o; -{ - unsigned int *p = o->byte_info; - int nibs = 0; - - while (*p) - { - switch (*p & CLASS_MASK) - { - case CLASS_IGNORE: - case CLASS_BIT: - case CLASS_REGN0: - case CLASS_REG: - case CLASS_01II: - case CLASS_00II: - nibs++; - break; - case CLASS_ADDRESS: - nibs += SIZE_ADDRESS; - break; - case CLASS_IMM: - switch (*p & ~CLASS_MASK) - { - case ARG_IMM16: - nibs += 4; - break; - case ARG_IMM32: - nibs += 8; - break; - case ARG_IMM2: - case ARG_IMM4: - case ARG_NIM4: - case ARG_IMM4M1: - case ARG_IMM_1: - case ARG_IMM_2: - case ARG_IMMNMINUS1: - nibs++; - break; - case ARG_NIM8: - - case ARG_IMM8: - nibs += 2; - break; - default: - abort (); - } - break; - case CLASS_DISP: - switch (*p & ~CLASS_MASK) - { - case ARG_DISP16: - nibs += 4; - break; - case ARG_DISP12: - nibs += 3; - break; - case ARG_DISP8: - nibs += 2; - break; - default: - abort (); - } - break; - case CLASS_0DISP7: - case CLASS_1DISP7: - case CLASS_DISP8: - nibs += 2; - break; - case CLASS_BIT_1OR2: - case CLASS_0CCC: - case CLASS_1CCC: - case CLASS_CC: - nibs++; - break; - default: - emit ("don't know %x\n", *p); - } - p++; - } - - return nibs / 4; /* return umber of words */ -} -- 2.30.2