* interp.c (store_word, load_word): New static functions.
[deliverable/binutils-gdb.git] / sim / mips / ChangeLog
index 9acd9c3b3adff7e02f4a5abd95e2449687b8210d..cb9e1ce9d7a7cd6110e17dd09bc1a94fd366d163 100644 (file)
@@ -1,3 +1,193 @@
+Mon Dec 30 17:36:06 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * interp.c (store_word, load_word): New static functions.
+       (mips16_entry): New static function.
+       (SignalException): Look for mips16 entry and exit instructions.
+       (simulate): Use the correct index when setting fpr_state after
+       doing a pending move.
+
+Sun Dec 29 09:37:18 1996  Mark Alexander  <marka@cygnus.com>
+
+       * interp.c: Fix byte-swapping code throughout to work on
+       both little- and big-endian hosts.
+
+Sun Dec 29 09:18:32 1996  Mark Alexander  <marka@cygnus.com>
+
+       * support.h: Make definitions of SIGTRAP and SIGQUIT consistent
+       with gdb/config/i386/xm-windows.h.
+
+Fri Dec 27 22:48:51 1996  Mark Alexander  <marka@cygnus.com>
+
+       * gencode.c (build_instruction): Work around MSVC++ code gen bug
+       that messes up arithmetic shifts.
+
+Fri Dec 20 11:04:05 1996  Stu Grossman  (grossman@critters.cygnus.com)
+
+       * support.h:  Use _WIN32 instead of __WIN32__.  Also add defs for
+       SIGTRAP and SIGQUIT for _WIN32.
+
+Thu Dec 19 14:07:27 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gencode.c (build_instruction) [MUL]: Cast operands to word64, to
+       force a 64 bit multiplication.
+       (build_instruction) [OR]: In mips16 mode, don't do anything if the
+       destination register is 0, since that is the default mips16 nop
+       instruction.
+
+Mon Dec 16 14:59:38 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gencode.c (MIPS16_DECODE): SWRASP is I8, not RI.
+       (build_endian_shift): Don't check proc64.
+       (build_instruction): Always set memval to uword64.  Cast op2 to
+       uword64 when shifting it left in memory instructions.  Always use
+       the same code for stores--don't special case proc64.
+
+       * gencode.c (build_mips16_operands): Fix base PC value for PC
+       relative operands.
+       (build_instruction): Call JALDELAYSLOT rather than DELAYSLOT for a
+       jal instruction.
+       * interp.c (simJALDELAYSLOT): Define.
+       (JALDELAYSLOT): Define.
+       (INDELAYSLOT, INJALDELAYSLOT): Define.
+       (simulate): Clear simJALDELAYSLOT when simDELAYSLOT is cleared.
+
+Tue Dec 24 22:11:20 1996  Angela Marie Thomas (angela@cygnus.com)
+
+       * interp.c (sim_open): add flush_cache as a PMON routine
+       (sim_monitor): handle flush_cache by ignoring it
+
+Wed Dec 11 13:53:51 1996  Jim Wilson  <wilson@cygnus.com>
+
+       * gencode.c (build_instruction): Use !ByteSwapMem instead of
+       BigEndianMem.
+       * interp.c (CONFIG, config_EP_{mask,shift,D,DxxDxx, config_BE): Delete.
+       (BigEndianMem): Rename to ByteSwapMem and change sense.
+       (BigEndianCPU, sim_write, LoadMemory, StoreMemory): Change
+       BigEndianMem references to !ByteSwapMem.
+       (set_endianness): New function, with prototype.
+       (sim_open): Call set_endianness.
+       (sim_info): Use simBE instead of BigEndianMem.
+       (xfer_direct_word, xfer_direct_long, swap_direct_word,
+       swap_direct_long, xfer_big_word, xfer_big_long, xfer_little_word,
+       xfer_little_long, swap_word, swap_long): Delete unnecessary MSC_VER
+       ifdefs, keeping the prototype declaration.
+       (swap_word): Rewrite correctly.
+       (ColdReset): Delete references to CONFIG.  Delete endianness related
+       code; moved to set_endianness.
+       
+Tue Dec 10 11:32:04 1996  Jim Wilson  <wilson@cygnus.com>
+
+       * gencode.c (build_instruction, case JUMP): Truncate PC to 32 bits.
+       * interp.c (CHECKHILO): Define away.
+       (simSIGINT): New macro.
+       (membank_size): Increase from 1MB to 2MB.
+       (control_c): New function.
+       (sim_resume): Rename parameter signal to signal_number.  Add local
+       variable prev.  Call signal before and after simulate.
+       (sim_stop_reason): Add simSIGINT support.
+       (sim_warning, sim_error, dotrace, SignalException): Define as stdarg
+       functions always.
+       (sim_warning): Delete call to SignalException.  Do call printf_filtered
+       if logfh is NULL.
+       (AddressTranslation): Add #ifdef DEBUG around debugging message and
+       a call to sim_warning.
+
+Wed Nov 27 11:53:50 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gencode.c (process_instructions): If ! proc64, skip DOUBLEWORD
+       16 bit instructions.
+
+Tue Nov 26 11:53:12 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       Add support for mips16 (16 bit MIPS implementation):
+       * gencode.c (inst_type): Add mips16 instruction encoding types.
+       (GETDATASIZEINSN): Define.
+       (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv.  Add
+       jalx.  Add LEFT flag to mfhi and mflo.  Add RIGHT flag to mthi and
+       mtlo.
+       (MIPS16_DECODE): New table, for mips16 instructions.
+       (bitmap_val): New static function.
+       (struct mips16_op): Define.
+       (mips16_op_table): New table, for mips16 operands.
+       (build_mips16_operands): New static function.
+       (process_instructions): If PC is odd, decode a mips16
+       instruction.  Break out instruction handling into new
+       build_instruction function.
+       (build_instruction): New static function, broken out of
+       process_instructions.  Check modifiers rather than flags for SHIFT
+       bit count and m[ft]{hi,lo} direction.
+       (usage): Pass program name to fprintf.
+       (main): Remove unused variable this_option_optind.  Change
+       ``*loptarg++'' to ``loptarg++''.
+       (my_strtoul): Parenthesize && within ||.
+       * interp.c (LoadMemory): Accept a halfword pAddr if vAddr is odd.
+       (simulate): If PC is odd, fetch a 16 bit instruction, and
+       increment PC by 2 rather than 4.
+       * configure.in: Add case for mips16*-*-*.
+       * configure: Rebuild.
+
+Fri Nov 22 08:49:36 1996  Mark Alexander  <marka@cygnus.com>
+
+       * interp.c: Allow -t to enable tracing in standalone simulator.
+       Fix garbage output in trace file and error messages.
+
+Wed Nov 20 01:54:37 1996  Doug Evans  <dje@canuck.cygnus.com>
+
+       * Makefile.in: Delete stuff moved to ../common/Make-common.in.
+       (SIM_{OBJS,EXTRA_CFLAGS,EXTRA_CLEAN}): Define.
+       * configure.in: Simplify using macros in ../common/aclocal.m4.
+       * configure: Regenerated.
+       * tconfig.in: New file.
+
+Tue Nov 12 13:34:00 1996  Dawn Perchik  <dawn@cygnus.com>
+
+       * interp.c: Fix bugs in 64-bit port.
+       Use ansi function declarations for msvc compiler.
+       Initialize and test file pointer in trace code.
+       Prevent duplicate definition of LAST_EMED_REGNUM.
+
+Tue Oct 15 11:07:06 1996  Mark Alexander  <marka@cygnus.com>
+
+       * interp.c (xfer_big_long): Prevent unwanted sign extension.
+
+Thu Sep 26 17:35:00 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+       * interp.c (SignalException): Check for explicit terminating
+       breakpoint value.
+       * gencode.c: Pass instruction value through SignalException()
+       calls for Trap, Breakpoint and Syscall.
+
+Thu Sep 26 11:35:17 1996  James G. Smith  <jsmith@cygnus.co.uk>
+
+       * interp.c (SquareRoot): Add HAVE_SQRT check to ensure sqrt() is
+       only used on those hosts that provide it.
+       * configure.in: Add sqrt() to list of functions to be checked for.
+       * config.in: Re-generated.
+       * configure: Re-generated.
+
+Fri Sep 20 15:47:12 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gencode.c (process_instructions): Call build_endian_shift when
+       expanding STORE RIGHT, to fix swr.
+       * support.h (SIGNEXTEND): If the sign bit is not set, explicitly
+       clear the high bits.
+       * interp.c (Convert): Fix fmt_single to fmt_long to not truncate.
+       Fix float to int conversions to produce signed values.
+
+Thu Sep 19 15:34:17 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * gencode.c (MIPS_DECODE): Set UNSIGNED for multu instruction.
+       (process_instructions): Correct handling of nor instruction.
+       Correct shift count for 32 bit shift instructions. Correct sign
+       extension for arithmetic shifts to not shift the number of bits in
+       the type.  Fix 64 bit multiply high word calculation.  Fix 32 bit
+       unsigned multiply.  Fix ldxc1 and friends to use coprocessor 1.
+       Fix madd.
+       * interp.c (CHECKHILO): Don't set HIACCESS, LOACCESS, or HLPC.
+       It's OK to have a mult follow a mult.  What's not OK is to have a
+       mult follow an mfhi.
+       (Convert): Comment out incorrect rounding code.
+
 Mon Sep 16 11:38:16 1996  James G. Smith  <jsmith@cygnus.co.uk>
 
        * interp.c (sim_monitor): Improved monitor printf
This page took 0.025194 seconds and 4 git commands to generate.