2002-06-02 Chris Demetriou <cgd@broadcom.com>
[deliverable/binutils-gdb.git] / sim / mips / ChangeLog
index e3ca0ec04ac5f9045cd42178fdbb48f0e405e6fe..5de700fd8fb2f881f048ae2496b66a564bab56e4 100644 (file)
@@ -1,3 +1,229 @@
+2002-06-02  Chris Demetriou  <cgd@broadcom.com>
+            Ed Satterthwaite  <ehs@broadcom.com>
+
+       * mips.igen (mdmx): New (pseudo-)model.
+       * mdmx.c, mdmx.igen: New files.
+       * Makefile.in (SIM_OBJS): Add mdmx.o.
+       * sim-main.h (MDMX_accumulator, MX_fmtsel, signed24, signed48):
+       New typedefs.
+       (ACC, MX_Add, MX_AddA, MX_AddL, MX_And, MX_C_EQ, MX_C_LT, MX_Comp)
+       (MX_FMT_OB, MX_FMT_QH, MX_Max, MX_Min, MX_Msgn, MX_Mul, MX_MulA)
+       (MX_MulL, MX_MulS, MX_MulSL, MX_Nor, MX_Or, MX_Pick, MX_RAC)
+       (MX_RAC_H, MX_RAC_L, MX_RAC_M, MX_RNAS, MX_RNAU, MX_RND_AS)
+       (MX_RND_AU, MX_RND_ES, MX_RND_EU, MX_RND_ZS, MX_RND_ZU, MX_RNES)
+       (MX_RNEU, MX_RZS, MX_RZU, MX_SHFL, MX_ShiftLeftLogical)
+       (MX_ShiftRightArith, MX_ShiftRightLogical, MX_Sub, MX_SubA, MX_SubL)
+       (MX_VECT_ADD, MX_VECT_ADDA, MX_VECT_ADDL, MX_VECT_AND)
+       (MX_VECT_MAX, MX_VECT_MIN, MX_VECT_MSGN, MX_VECT_MUL, MX_VECT_MULA)
+       (MX_VECT_MULL, MX_VECT_MULS, MX_VECT_MULSL, MX_VECT_NOR)
+       (MX_VECT_OR, MX_VECT_SLL, MX_VECT_SRA, MX_VECT_SRL, MX_VECT_SUB)
+       (MX_VECT_SUBA, MX_VECT_SUBL, MX_VECT_XOR, MX_WACH, MX_WACL, MX_Xor)
+       (SIM_ARGS, SIM_STATE, UnpredictableResult, fmt_mdmx, ob_fmtsel)
+       (qh_fmtsel): New macros.
+       (_sim_cpu): New member "acc".
+       (mdmx_acc_op, mdmx_cc_op, mdmx_cpr_op, mdmx_pick_op, mdmx_rac_op)
+       (mdmx_round_op, mdmx_shuffle, mdmx_wach, mdmx_wacl): New functions.
+
+2002-05-01  Chris Demetriou  <cgd@broadcom.com>
+
+       * interp.c: Use 'deprecated' rather than 'depreciated.'
+       * sim-main.h: Likewise.
+
+2002-05-01  Chris Demetriou  <cgd@broadcom.com>
+
+       * cp1.c (store_fpr): Remove #ifdef'd out call to UndefinedResult
+       which wouldn't compile anyway.
+       * sim-main.h (unpredictable_action): New function prototype.
+       (Unpredictable): Define to call igen function unpredictable().
+       (NotWordValue): New macro to call igen function not_word_value().
+       (UndefinedResult): Remove.
+       * interp.c (undefined_result): Remove.
+       (unpredictable_action): New function.
+       * mips.igen (not_word_value, unpredictable): New functions.
+       (ADD, ADDI, do_addiu, do_addu, BGEZAL, BGEZALL, BLTZAL, BLTZALL)
+       (CLO, CLZ, MADD, MADDU, MSUB, MSUBU, MUL, do_mult, do_multu)
+       (do_sra, do_srav, do_srl, do_srlv, SUB, do_subu): Invoke
+       NotWordValue() to check for unpredictable inputs, then
+       Unpredictable() to handle them.
+
+2002-02-24  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen: Fix formatting of calls to Unpredictable().
+
+2002-04-20  Andrew Cagney  <ac131313@redhat.com>
+
+       * interp.c (sim_open): Revert previous change.
+
+2002-04-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * interp.c (sim_open): Disable chunk of code that wrote code in
+       vector table entries.
+
+2002-03-19  Chris Demetriou  <cgd@broadcom.com>
+
+       * cp1.c (FP_S_s, FP_D_s, FP_S_be, FP_D_be, FP_S_e, FP_D_e, FP_S_f)
+       (FP_D_f, FP_S_fb, FP_D_fb, FPINF_SINGLE, FPINF_DOUBLE): Remove
+       unused definitions.
+
+2002-03-19  Chris Demetriou  <cgd@broadcom.com>
+
+       * cp1.c: Fix many formatting issues.
+
+2002-03-19  Chris G. Demetriou  <cgd@broadcom.com>
+
+       * cp1.c (fpu_format_name): New function to replace...
+       (DOFMT): This.  Delete, and update all callers.
+       (fpu_rounding_mode_name): New function to replace...
+       (RMMODE): This.  Delete, and update all callers.
+
+2002-03-19  Chris G. Demetriou  <cgd@broadcom.com>
+
+       * interp.c: Move FPU support routines from here to...
+       * cp1.c: Here.  New file.
+       * Makefile.in (SIM_OBJS): Add cp1.o to object list.
+       (cp1.o): New target.
+
+2002-03-12  Chris Demetriou  <cgd@broadcom.com>
+
+       * configure.in (mipsisa32*-*-*, mipsisa64*-*-*): New targets.
+       * mips.igen (mips32, mips64): New models, add to all instructions
+       and functions as appropriate.
+       (loadstore_ea, check_u64): New variant for model mips64.
+       (check_fmt_p): New variant for models mipsV and mips64, remove
+       mipsV model marking fro other variant.
+       (SLL) Rename to...
+       (SLLa) this.
+       (CLO, CLZ, MADD, MADDU, MSUB, MSUBU, MUL, SLLb): New instructions
+       for mips32 and mips64.
+       (DCLO, DCLZ): New instructions for mips64.
+
+2002-03-07  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (BREAK, LUI, ORI, SYSCALL, XORI): Print
+       immediate or code as a hex value with the "%#lx" format.
+       (ANDI): Likewise, and fix printed instruction name.
+
+2002-03-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * sim-main.h (UndefinedResult, Unpredictable): New macros
+       which currently do nothing.
+
+2002-03-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * sim-main.h (status_UX, status_SX, status_KX, status_TS)
+       (status_PX, status_MX, status_CU0, status_CU1, status_CU2)
+       (status_CU3): New definitions.
+
+       * sim-main.h (ExceptionCause): Add new values for MIPS32
+       and MIPS64: MDMX, MCheck, CacheErr.  Update comments
+       for DebugBreakPoint and NMIReset to note their status in
+       MIPS32 and MIPS64.
+       (SignalExceptionMDMX, SignalExceptionWatch, SignalExceptionMCheck)
+       (SignalExceptionCacheErr): New exception macros.
+
+2002-03-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (check_fpu): Enable check for coprocessor 1 usability.
+       * sim-main.h (COP_Usable): Define, but for now coprocessor 1
+       is always enabled.
+       (SignalExceptionCoProcessorUnusable): Take as argument the
+       unusable coprocessor number.
+
+2002-03-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen: Fix formatting of all SignalException calls.
+
+2002-03-05  Chris Demetriou  <cgd@broadcom.com>
+
+       * sim-main.h (SIGNEXTEND): Remove.
+
+2002-03-04  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen: Remove gencode comment from top of file, fix
+       spelling in another comment.
+
+2002-03-04  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (check_fmt, check_fmt_p): New functions to check
+       whether specific floating point formats are usable.
+       (ABS.fmt, ADD.fmt, CEIL.L.fmt, CEIL.W, DIV.fmt, FLOOR.L.fmt)
+       (FLOOR.W.fmt, MOV.fmt, MUL.fmt, NEG.fmt, RECIP.fmt, ROUND.L.fmt)
+       (ROUND.W.fmt, RSQRT.fmt, SQRT.fmt, SUB.fmt, TRUNC.L.fmt, TRUNC.W):
+       Use the new functions.
+       (do_c_cond_fmt): Remove format checks...
+       (C.cond.fmta, C.cond.fmtb): And move them into all callers.
+
+2002-03-03  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen: Fix formatting of check_fpu calls.
+
+2002-03-03  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (FLOOR.L.fmt): Store correct destination register.
+
+2002-03-03  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen: Remove whitespace at end of lines.
+
+2002-03-02  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (loadstore_ea): New function to do effective
+       address calculations.
+       (do_load, do_load_left, do_load_right, LL, LDD, PREF, do_store,
+       do_store_left, do_store_right, SC, SCD, PREFX, SWC1, SWXC1,
+       CACHE): Use loadstore_ea to do effective address computations.
+
+2002-03-02  Chris Demetriou  <cgd@broadcom.com>
+
+       * interp.c (load_word): Use EXTEND32 rather than SIGNEXTEND.
+       * mips.igen (LL, CxC1, MxC1): Likewise.
+
+2002-03-02  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (LL, LLD, PREF, SC, SCD, ABS.fmt, ADD.fmt, CEIL.L.fmt,
+       CEIL.W, CVT.D.fmt, CVT.L.fmt, CVT.S.fmt, CVT.W.fmt, DIV.fmt,
+       FLOOR.L.fmt, FLOOR.W.fmt, MADD.D, MADD.S, MOV.fmt, MOVtf.fmt,
+       MSUB.D, MSUB.S, MUL.fmt, NEG.fmt, NMADD.D, NMADD.S, NMSUB.D,
+       NMSUB.S, PREFX, RECIP.fmt, ROUND.L.fmt, ROUND.W.fmt, RSQRT.fmt,
+       SQRT.fmt, SUB.fmt, SWC1, SWXC1, TRUNC.L.fmt, TRUNC.W, CACHE):
+       Don't split opcode fields by hand, use the opcode field values
+       provided by igen.
+
+2002-03-01  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (do_divu): Fix spacing.
+
+       * mips.igen (do_dsllv): Move to be right before DSLLV,
+       to match the rest of the do_<shift> functions.
+
+2002-03-01  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (do_dsll, do_dsllv, DSLL32, do_dsra, DSRA32, do_dsrl,
+       DSRL32, do_dsrlv): Trace inputs and results.
+
+2002-03-01  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (CACHE): Provide instruction-printing string.
+
+       * interp.c (signal_exception): Comment tokens after #endif.
+
+2002-02-28  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (LWXC1): Mark with filter "64,f", rather than just "32".
+       (MOVtf, MxC1, MxC1, DMxC1, DMxC1, CxC1, CxC1, SQRT.fmt, MOV.fmt, 
+       NEG.fmt, ROUND.L.fmt, TRUNC.L.fmt, CEIL.L.fmt, FLOOR.L.fmt, 
+       ROUND.W.fmt, TRUNC.W, CEIL.W, FLOOR.W.fmt, RECIP.fmt, RSQRT.fmt, 
+       CVT.S.fmt, CVT.D.fmt, CVT.W.fmt, CVT.L.fmt, MOVtf.fmt, C.cond.fmta, 
+       C.cond.fmtb, SUB.fmt, MUL.fmt, DIV.fmt, MOVZ.fmt, MOVN.fmt, LDXC1, 
+       SWXC1, SDXC1, MSUB.D, MSUB.S, NMADD.S, NMADD.D, NMSUB.S, NMSUB.D, 
+       LWC1, SWC1): Add "f" to filter, since these are FP instructions.
+
+2002-02-28  Chris Demetriou  <cgd@broadcom.com>
+
+       * mips.igen (DSRA32, DSRAV): Fix order of arguments in
+       instruction-printing string.
+       (LWU): Use '64' as the filter flag.
+
 2002-02-28  Chris Demetriou  <cgd@broadcom.com>
 
        * mips.igen (SDXC1): Fix instruction-printing string.
This page took 0.026124 seconds and 4 git commands to generate.