summaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authornobody <>2003-02-02 23:00:07 +0000
committernobody <>2003-02-02 23:00:07 +0000
commitcddd45abf62af6ed70c8c67601a9f09da0a939b0 (patch)
treec8d60358c712fe334d27b9e65723fcea6351e33f /sim
parent812e900cfcaad5c1a17d6728e204cbf34d4eb557 (diff)
downloadbinutils-gdb-cddd45abf62af6ed70c8c67601a9f09da0a939b0.tar.gz
This commit was manufactured by cvs2svn to create branchinterps-20030202-branchpoint
'interps-20030202-branch'. Sprout from cagney-unwind-20030108-branch 2003-01-09 20:50:26 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'cagney-' Cherrypick from master 2003-02-02 23:00:06 UTC Alan Modra <amodra@gmail.com> 'daily update': ChangeLog Makefile.in Makefile.tpl bfd/ChangeLog bfd/Makefile.am bfd/Makefile.in bfd/aclocal.m4 bfd/archures.c bfd/bfd-in2.h bfd/bfd.c bfd/coffcode.h bfd/config.bfd bfd/cpu-sh.c bfd/elf-bfd.h bfd/elf.c bfd/elf32-i386.c bfd/elf32-mips.c bfd/elf32-ppc.c bfd/elf32-s390.c bfd/elf32-sh.c bfd/elf32-sh64-com.c bfd/elf32-sh64.c bfd/elf32-sh64.h bfd/elf32-sparc.c bfd/elf64-alpha.c bfd/elf64-mips.c bfd/elf64-mmix.c bfd/elf64-ppc.c bfd/elf64-s390.c bfd/elf64-sparc.c bfd/elfn32-mips.c bfd/elfxx-ia64.c bfd/elfxx-mips.c bfd/elfxx-mips.h bfd/elfxx-target.h bfd/libbfd.h bfd/opncls.c bfd/po/SRC-POTFILES.in bfd/reloc.c bfd/version.h config.if configure configure.in gdb/ChangeLog gdb/ChangeLog-2002 gdb/MAINTAINERS gdb/Makefile.in gdb/NEWS gdb/README gdb/acinclude.m4 gdb/aclocal.m4 gdb/ada-valprint.c gdb/alpha-nat.c gdb/alpha-tdep.c gdb/alpha-tdep.h gdb/ax-gdb.c gdb/blockframe.c gdb/breakpoint.c gdb/breakpoint.h gdb/buildsym.c gdb/c-exp.y gdb/c-valprint.c gdb/charset.c gdb/cli/cli-decode.h gdb/cli/cli-script.c gdb/complaints.c gdb/complaints.h gdb/config.in gdb/config/alpha/nm-linux.h gdb/config/djgpp/fnchange.lst gdb/config/h8500/tm-h8500.h gdb/config/i386/tm-ptx.h gdb/config/i386/tm-symmetry.h gdb/config/i386/xm-i386sco.h gdb/config/m68k/nm-apollo68b.h gdb/config/m68k/tm-sun3.h gdb/config/nm-lynx.h gdb/config/ns32k/nm-nbsd.h gdb/config/pa/tm-hppa.h gdb/config/pa/tm-hppa64.h gdb/config/sparc/tm-sp64.h gdb/config/sparc/tm-sparc.h gdb/configure gdb/configure.host gdb/configure.in gdb/configure.tgt gdb/corefile.c gdb/corelow.c gdb/cp-valprint.c gdb/cris-tdep.c gdb/d10v-tdep.c gdb/dbxread.c gdb/defs.h gdb/demangle.c gdb/disasm.c gdb/doc/ChangeLog gdb/doc/gdb.texinfo gdb/doc/gdbint.texinfo gdb/doc/stabs.texinfo gdb/dummy-frame.c gdb/dummy-frame.h gdb/dve3900-rom.c gdb/dwarf2cfi.c gdb/dwarf2read.c gdb/dwarfread.c gdb/elfread.c gdb/eval.c gdb/exec.c gdb/expprint.c gdb/expression.h gdb/f-exp.y gdb/f-typeprint.c gdb/f-valprint.c gdb/findvar.c gdb/frame-unwind.c gdb/frame-unwind.h gdb/frame.c gdb/frame.h gdb/gcore.c gdb/gdb-stabs.h gdb/gdb_dirent.h gdb/gdb_indent.sh gdb/gdb_mbuild.sh gdb/gdbarch.c gdb/gdbarch.h gdb/gdbarch.sh gdb/gdbcore.h gdb/gdbtypes.c gdb/gdbtypes.h gdb/gnu-v2-abi.c gdb/hppa-tdep.c gdb/hppab-nat.c gdb/hppah-nat.c gdb/hpread.c gdb/hpux-thread.c gdb/i386v-nat.c gdb/infcmd.c gdb/inferior.h gdb/infrun.c gdb/inftarg.c gdb/irix4-nat.c gdb/jv-typeprint.c gdb/language.c gdb/language.h gdb/lin-lwp.c gdb/linespec.c gdb/lynx-nat.c gdb/m32r-tdep.c gdb/m68klinux-nat.c gdb/main.c gdb/maint.c gdb/mdebugread.c gdb/mi/ChangeLog gdb/mi/gdbmi.texinfo gdb/mi/mi-cmd-env.c gdb/mi/mi-cmd-var.c gdb/mi/mi-main.c gdb/mips-nat.c gdb/mips-tdep.c gdb/mipsv4-nat.c gdb/mn10200-tdep.c gdb/monitor.c gdb/monitor.h gdb/objc-exp.y gdb/objfiles.c gdb/objfiles.h gdb/ocd.c gdb/parse.c gdb/proc-utils.h gdb/procfs.c gdb/remote-e7000.c gdb/remote-mips.c gdb/remote-sds.c gdb/remote-sim.c gdb/remote-vx.c gdb/rom68k-rom.c gdb/rs6000-nat.c gdb/scm-lang.c gdb/scm-lang.h gdb/sentinel-frame.c gdb/sentinel-frame.h gdb/ser-go32.c gdb/sh-tdep.c gdb/solib-svr4.c gdb/solib.c gdb/somread.c gdb/somsolib.c gdb/somsolib.h gdb/source.c gdb/sparc-tdep.c gdb/stabsread.c gdb/stabsread.h gdb/stack.c gdb/symfile.c gdb/symfile.h gdb/symmisc.c gdb/symtab.c gdb/symtab.h gdb/target.c gdb/target.h gdb/testsuite/ChangeLog gdb/testsuite/gdb.arch/altivec-abi.exp gdb/testsuite/gdb.arch/altivec-regs.exp gdb/testsuite/gdb.asm/arm.inc gdb/testsuite/gdb.asm/asm-source.exp gdb/testsuite/gdb.base/advance.c gdb/testsuite/gdb.base/advance.exp gdb/testsuite/gdb.base/args.c gdb/testsuite/gdb.base/args.exp gdb/testsuite/gdb.base/break.exp gdb/testsuite/gdb.base/constvars.exp gdb/testsuite/gdb.base/default.exp gdb/testsuite/gdb.base/display.exp gdb/testsuite/gdb.base/float.exp gdb/testsuite/gdb.base/help.exp gdb/testsuite/gdb.base/long_long.exp gdb/testsuite/gdb.base/mips_pro.exp gdb/testsuite/gdb.base/overlays.exp gdb/testsuite/gdb.base/printcmds.exp gdb/testsuite/gdb.base/relocate.exp gdb/testsuite/gdb.base/selftest.exp gdb/testsuite/gdb.base/setshow.exp gdb/testsuite/gdb.base/step-line.exp gdb/testsuite/gdb.base/step-test.exp gdb/testsuite/gdb.base/until.exp gdb/testsuite/gdb.c++/cplusfuncs.exp gdb/testsuite/gdb.c++/demangle.exp gdb/testsuite/gdb.c++/inherit.exp gdb/testsuite/gdb.c++/local.exp gdb/testsuite/gdb.c++/overload.exp gdb/testsuite/gdb.c++/printmethod.exp gdb/testsuite/gdb.c++/virtfunc.exp gdb/testsuite/gdb.mi/gdb669.exp gdb/testsuite/gdb.mi/gdb792.exp gdb/testsuite/gdb.mi/mi-console.exp gdb/testsuite/gdb.mi/mi-pthreads.exp gdb/testsuite/gdb.mi/mi-syn-frame.c gdb/testsuite/gdb.mi/mi-syn-frame.exp gdb/testsuite/gdb.mi/mi-var-child.exp gdb/testsuite/gdb.mi/mi-var-display.exp gdb/testsuite/gdb.mi/mi1-console.exp gdb/testsuite/gdb.mi/mi1-pthreads.exp gdb/testsuite/gdb.threads/killed.exp gdb/testsuite/lib/gdb.exp gdb/testsuite/lib/mi-support.exp gdb/thread-db.c gdb/thread.c gdb/top.c gdb/typeprint.c gdb/utils.c gdb/v850ice.c gdb/valarith.c gdb/valops.c gdb/value.h gdb/values.c gdb/version.in gdb/win32-nat.c gdb/x86-64-linux-nat.c gdb/x86-64-linux-tdep.c gdb/xcoffread.c gdb/z8k-tdep.c include/ChangeLog include/coff/ti.h include/coff/tic4x.h include/elf/ChangeLog include/elf/common.h include/elf/mips.h include/elf/ppc.h include/elf/ppc64.h include/elf/s390.h include/elf/sh.h include/elf/sparc.h include/hashtab.h include/opcode/ChangeLog include/opcode/hppa.h include/opcode/m68hc11.h include/splay-tree.h libiberty/ChangeLog libiberty/Makefile.in libiberty/configure libiberty/configure.in libiberty/functions.texi libiberty/hashtab.c libiberty/pex-common.h libiberty/pex-djgpp.c libiberty/pex-mpw.c libiberty/pex-msdos.c libiberty/pex-os2.c libiberty/pex-unix.c libiberty/pex-win32.c libiberty/pexecute.txh opcodes/ChangeLog opcodes/Makefile.am opcodes/Makefile.in opcodes/alpha-opc.c opcodes/po/POTFILES.in opcodes/sh-dis.c opcodes/sh-opc.h opcodes/sh64-dis.c opcodes/sparc-dis.c readline/ChangeLog.gdb readline/display.c sim/arm/ChangeLog sim/arm/README sim/h8300/ChangeLog sim/h8300/compile.c sim/mips/ChangeLog sim/mips/mips.igen Delete: gdb/a68v-nat.c gdb/config/i386/i386dgux.mh gdb/config/i386/i386mk.mh gdb/config/i386/i386mk.mt gdb/config/i386/i386v32.mh gdb/config/i386/tm-i386os9k.h gdb/config/i386/xm-i386v32.h gdb/config/m68k/es1800.mt gdb/hp300ux-nat.c gdb/mon960-rom.c gdb/nindy-share/Makefile gdb/nindy-share/Onindy.c gdb/nindy-share/README gdb/nindy-share/VERSION gdb/nindy-share/b.out.h gdb/nindy-share/block_io.h gdb/nindy-share/coff.h gdb/nindy-share/env.h gdb/nindy-share/nindy.c gdb/nindy-share/stop.h gdb/nindy-share/ttyflush.c gdb/nindy-tdep.c gdb/ptx4-nat.c gdb/remote-es.c gdb/saber.suppress libiberty/pexecute.c sim/arm/README.Cygnus
Diffstat (limited to 'sim')
-rw-r--r--sim/arm/ChangeLog29
-rw-r--r--sim/arm/README (renamed from sim/arm/README.Cygnus)0
-rw-r--r--sim/h8300/ChangeLog9
-rw-r--r--sim/h8300/compile.c122
-rw-r--r--sim/mips/ChangeLog8
-rw-r--r--sim/mips/mips.igen57
6 files changed, 91 insertions, 134 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index a3973301715..ca21f156d7b 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-10 Ben Elliston <bje@redhat.com>
+
+ * README.Cygnus: Rename from this ..
+ * README: .. to this.
+
2002-09-27 Andrew Cagney <ac131313@redhat.com>
* wrapper.c (sim_open): Add support for -m<mem-size>.
@@ -62,31 +67,9 @@
CRm is 1.
(write_cp13_reg): Allow bit 0 of reg 1 of CRm 1 to be written to.
-2002-05-20 Nick Clifton <nickc@cambridge.redhat.com>
-
- * Makefile.in (SWI_TARGET_SWITCHES): Define.
- * armos.c (swi_mask): Define. Initialise to supporting all
- SWI emulations.
- (ARMul_OSInit): For XScale targets, only support the ANGEL
- SWI interface. (This is at the request if Intel).
- (ARMul_OSHandleSWI): Examine swi_mask to see if a particular
- SWI call should be emulated.
- Do not fall through from AngelSWI_Reason_WriteC.
- Propagate exit code from RedBoot Exit SWI.
- * rdi-dgb.h (swi_mask): Prototype.
- (SWI_MASK_DEMON, SWI_MASK_ANGEL, SWI_MASK_REDBOOT): Define.
- * wrapper.c: Include run-sim.h.
- (sim_target_parse_command_line): New function. Look for and
- handle --swi-support switch.
- (sim_target_parse_arg_array): New function. Process an argv
- array for parsing by sim_target_parse_command_line.
- (sim_target_display_usage): New function. Describe syntax of
- --swi-suppoort switch.
- (sim_open): Add call to sim_target_parse_arg_array).
-
2002-05-17 Nick Clifton <nickc@cambridge.redhat.com>
- * Makefile.in (SWI_TARGET_SWITCHES): Define.
+ * Makefile.in (SIM_TARGET_SWITCHES): Define.
* armos.c (swi_mask): Define. Initialise to supporting all
SWI emulations.
(ARMul_OSInit): For XScale targets, only support the ANGEL
diff --git a/sim/arm/README.Cygnus b/sim/arm/README
index adfb766451d..adfb766451d 100644
--- a/sim/arm/README.Cygnus
+++ b/sim/arm/README
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog
index 2a91af984a7..62fd0735cc0 100644
--- a/sim/h8300/ChangeLog
+++ b/sim/h8300/ChangeLog
@@ -1,3 +1,12 @@
+2003-01-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * compile.c (sim_resume): Fix the handling of bxor.
+
+2003-01-16 Michael Snyder <msnyder@redhat.com>
+
+ * compile.c: Change K&R function definitions to ISO.
+ (fetch): Make static, and eliminate unused parameter 'n'.
+
2002-12-26 Kazu Hirata <kazu@cs.umass.edu>
* compile.c: Fix formatting.
diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c
index 3d9e3c8f636..e84589904a6 100644
--- a/sim/h8300/compile.c
+++ b/sim/h8300/compile.c
@@ -127,19 +127,19 @@ int h8300smode = 0;
static int memory_size;
static int
-get_now ()
+get_now (void)
{
return time (0); /* WinXX HAS UNIX like 'time', so why not using it? */
}
static int
-now_persec ()
+now_persec (void)
{
return 1;
}
static int
-bitfrom (x)
+bitfrom (int x)
{
switch (x & SIZE)
{
@@ -155,7 +155,7 @@ bitfrom (x)
}
static unsigned int
-lvalue (x, rn)
+lvalue (int x, int rn)
{
switch (x / 4)
{
@@ -175,11 +175,7 @@ lvalue (x, rn)
}
static unsigned int
-decode (addr, data, dst)
- int addr;
- unsigned char *data;
- decoded_inst *dst;
-
+decode (int addr, unsigned char *data, decoded_inst *dst)
{
int rs = 0;
int rd = 0;
@@ -481,7 +477,7 @@ decode (addr, data, dst)
}
static void
-compile (pc)
+compile (int pc)
{
int idx;
@@ -550,9 +546,8 @@ static unsigned int *lreg[18];
#define SET_MEMORY_B(x,y) \
(x < memory_size ? (cpu.memory[(x)] = y) : (cpu.eightbit[x & 0xff] = y))
-int
-fetch (arg, n)
- ea_type *arg;
+static int
+fetch (ea_type *arg)
{
int rn = arg->reg;
int abs = arg->literal;
@@ -634,9 +629,7 @@ fetch (arg, n)
static void
-store (arg, n)
- ea_type *arg;
- int n;
+store (ea_type *arg, int n)
{
int rn = arg->reg;
int abs = arg->literal;
@@ -710,7 +703,7 @@ static union
littleendian;
static void
-init_pointers ()
+init_pointers (void)
{
static int init;
@@ -785,11 +778,7 @@ init_pointers ()
}
static void
-control_c (sig, code, scp, addr)
- int sig;
- int code;
- char *scp;
- char *addr;
+control_c (int sig)
{
cpu.state = SIM_STATE_STOPPED;
cpu.exception = SIGINT;
@@ -805,10 +794,7 @@ control_c (sig, code, scp, addr)
#define I (intMaskBit != 0)
static int
-mop (code, bsize, sign)
- decoded_inst *code;
- int bsize;
- int sign;
+mop (decoded_inst *code, int bsize, int sign)
{
int multiplier;
int multiplicand;
@@ -938,8 +924,7 @@ case O (name, SB): \
}
int
-sim_stop (sd)
- SIM_DESC sd;
+sim_stop (SIM_DESC sd)
{
cpu.state = SIM_STATE_STOPPED;
cpu.exception = SIGINT;
@@ -969,8 +954,7 @@ sim_stop (sd)
#define TICK_REGNUM 13
void
-sim_resume (sd, step, siggnal)
- SIM_DESC sd;
+sim_resume (SIM_DESC sd, int step, int siggnal)
{
static int init1;
int cycles = 0;
@@ -1521,7 +1505,7 @@ sim_resume (sd, step, siggnal)
OBITOP (O_BIAND, 1, 0, c = !(ea & m) && C);
OBITOP (O_BOR, 1, 0, c = (ea & m) || C);
OBITOP (O_BIOR, 1, 0, c = !(ea & m) || C);
- OBITOP (O_BXOR, 1, 0, c = (ea & m) != C);
+ OBITOP (O_BXOR, 1, 0, c = ((ea & m) != 0) != C);
OBITOP (O_BIXOR, 1, 0, c = !(ea & m) != C);
#define MOP(bsize, signed) \
@@ -1887,19 +1871,14 @@ sim_resume (sd, step, siggnal)
}
int
-sim_trace (sd)
- SIM_DESC sd;
+sim_trace (SIM_DESC sd)
{
/* FIXME: Unfinished. */
abort ();
}
int
-sim_write (sd, addr, buffer, size)
- SIM_DESC sd;
- SIM_ADDR addr;
- unsigned char *buffer;
- int size;
+sim_write (SIM_DESC sd, SIM_ADDR addr, unsigned char *buffer, int size)
{
int i;
@@ -1920,11 +1899,7 @@ sim_write (sd, addr, buffer, size)
}
int
-sim_read (sd, addr, buffer, size)
- SIM_DESC sd;
- SIM_ADDR addr;
- unsigned char *buffer;
- int size;
+sim_read (SIM_DESC sd, SIM_ADDR addr, unsigned char *buffer, int size)
{
init_pointers ();
if (addr < 0)
@@ -1938,11 +1913,7 @@ sim_read (sd, addr, buffer, size)
int
-sim_store_register (sd, rn, value, length)
- SIM_DESC sd;
- int rn;
- unsigned char *value;
- int length;
+sim_store_register (SIM_DESC sd, int rn, unsigned char *value, int length)
{
int longval;
int shortval;
@@ -1991,11 +1962,7 @@ sim_store_register (sd, rn, value, length)
}
int
-sim_fetch_register (sd, rn, buf, length)
- SIM_DESC sd;
- int rn;
- unsigned char *buf;
- int length;
+sim_fetch_register (SIM_DESC sd, int rn, unsigned char *buf, int length)
{
int v;
int longreg = 0;
@@ -2056,10 +2023,7 @@ sim_fetch_register (sd, rn, buf, length)
}
void
-sim_stop_reason (sd, reason, sigrc)
- SIM_DESC sd;
- enum sim_stop *reason;
- int *sigrc;
+sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
{
#if 0 /* FIXME: This should work but we can't use it.
grep for SLEEP above. */
@@ -2079,14 +2043,13 @@ sim_stop_reason (sd, reason, sigrc)
/* FIXME: Rename to sim_set_mem_size. */
void
-sim_size (n)
- int n;
+sim_size (int n)
{
/* Memory size is fixed. */
}
void
-sim_set_simcache_size (n)
+sim_set_simcache_size (int n)
{
if (cpu.cache)
free (cpu.cache);
@@ -2099,9 +2062,7 @@ sim_set_simcache_size (n)
void
-sim_info (sd, verbose)
- SIM_DESC sd;
- int verbose;
+sim_info (SIM_DESC sd, int verbose)
{
double timetaken = (double) cpu.ticks / (double) now_persec ();
double virttime = cpu.cycles / 10.0e6;
@@ -2149,8 +2110,7 @@ sim_info (sd, verbose)
FLAG is non-zero for the H8/300H. */
void
-set_h8300h (h_flag, s_flag)
- int h_flag, s_flag;
+set_h8300h (int h_flag, int s_flag)
{
/* FIXME: Much of the code in sim_load can be moved to sim_open.
This function being replaced by a sim_open:ARGV configuration
@@ -2160,11 +2120,10 @@ set_h8300h (h_flag, s_flag)
}
SIM_DESC
-sim_open (kind, ptr, abfd, argv)
- SIM_OPEN_KIND kind;
- struct host_callback_struct *ptr;
- struct _bfd *abfd;
- char **argv;
+sim_open (SIM_OPEN_KIND kind,
+ struct host_callback_struct *ptr,
+ struct _bfd *abfd,
+ char **argv)
{
/* FIXME: Much of the code in sim_load can be moved here. */
@@ -2176,9 +2135,7 @@ sim_open (kind, ptr, abfd, argv)
}
void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
+sim_close (SIM_DESC sd, int quitting)
{
/* Nothing to do. */
}
@@ -2186,11 +2143,7 @@ sim_close (sd, quitting)
/* Called by gdb to load a program into memory. */
SIM_RC
-sim_load (sd, prog, abfd, from_tty)
- SIM_DESC sd;
- char *prog;
- bfd *abfd;
- int from_tty;
+sim_load (SIM_DESC sd, char *prog, bfd *abfd, int from_tty)
{
bfd *prog_bfd;
@@ -2272,11 +2225,7 @@ sim_load (sd, prog, abfd, from_tty)
}
SIM_RC
-sim_create_inferior (sd, abfd, argv, env)
- SIM_DESC sd;
- struct _bfd *abfd;
- char **argv;
- char **env;
+sim_create_inferior (SIM_DESC sd, struct _bfd *abfd, char **argv, char **env)
{
if (abfd != NULL)
cpu.pc = bfd_get_start_address (abfd);
@@ -2286,17 +2235,14 @@ sim_create_inferior (sd, abfd, argv, env)
}
void
-sim_do_command (sd, cmd)
- SIM_DESC sd;
- char *cmd;
+sim_do_command (SIM_DESC sd, char *cmd)
{
(*sim_callback->printf_filtered) (sim_callback,
"This simulator does not accept any commands.\n");
}
void
-sim_set_callbacks (ptr)
- struct host_callback_struct *ptr;
+sim_set_callbacks (struct host_callback_struct *ptr)
{
sim_callback = ptr;
}
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 0f84f0b5e24..0482ab2b0a2 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,11 @@
+2003-01-14 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.igen (LUXC1, SUXC1): New, for mipsV and mips64.
+
+2003-01-14 Chris Demetriou <cgd@broadcom.com>
+
+ * mips.igen (EI, DI): Remove.
+
2003-01-05 Richard Sandiford <rsandifo@redhat.com>
* Makefile.in (tmp-run-multi): Fix mips16 filter.
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen
index fece487e10d..81fb2001b27 100644
--- a/sim/mips/mips.igen
+++ b/sim/mips/mips.igen
@@ -4271,6 +4271,22 @@
}
+010011,5.BASE,5.INDEX,5.0,5.FD,000101:COP1X:64,f::LUXC1
+"luxc1 f<FD>, r<INDEX>(r<BASE>)"
+*mipsV:
+*mips64:
+{
+ address_word base = GPR[BASE];
+ address_word index = GPR[INDEX];
+ address_word vaddr = base + index;
+ check_fpu (SD_);
+ check_u64 (SD_, instruction_0);
+ /* Arrange for the bottom 3 bits of (base + index) to be 0. */
+ if ((vaddr & 0x7) != 0)
+ index -= (vaddr & 0x7);
+ COP_LD (1, FD, do_load (SD_, AccessLength_DOUBLEWORD, base, index));
+}
+
110001,5.BASE,5.FT,16.OFFSET:COP1:32,f::LWC1
"lwc1 f<FT>, <OFFSET>(r<BASE>)"
@@ -4743,6 +4759,24 @@
}
+010011,5.BASE,5.INDEX,5.FS,00000,001101:COP1X:64,f::SUXC1
+"suxc1 f<FS>, r<INDEX>(r<BASE>)"
+*mipsV:
+*mips64:
+{
+ unsigned64 v;
+ address_word base = GPR[BASE];
+ address_word index = GPR[INDEX];
+ address_word vaddr = base + index;
+ check_fpu (SD_);
+ check_u64 (SD_, instruction_0);
+ /* Arrange for the bottom 3 bits of (base + index) to be 0. */
+ if ((vaddr & 0x7) != 0)
+ index -= (vaddr & 0x7);
+ do_store (SD_, AccessLength_DOUBLEWORD, base, index, COP_SD (1, FS));
+}
+
+
010001,10,3.FMT,00000,5.FS,5.FD,000100:COP1:32,f::SQRT.fmt
"sqrt.%s<FMT> f<FD>, f<FS>"
*mipsII:
@@ -4994,17 +5028,6 @@
}
-010000,1,0000000000000000000,111001:COP0:32::DI
-"di"
-*mipsI:
-*mipsII:
-*mipsIII:
-*mipsIV:
-*mipsV:
-*vr4100:
-*vr5000:
-
-
010000,00001,5.RT,5.RD,00000000000:COP0:64::DMFC0
"dmfc0 r<RT>, r<RD>"
*mipsIII:
@@ -5029,18 +5052,6 @@
}
-010000,1,0000000000000000000,111000:COP0:32::EI
-"ei"
-*mipsI:
-*mipsII:
-*mipsIII:
-*mipsIV:
-*mipsV:
-*mips64:
-*vr4100:
-*vr5000:
-
-
010000,1,0000000000000000000,011000:COP0:32::ERET
"eret"
*mipsIII: