diff options
author | nobody <> | 2003-02-02 23:00:07 +0000 |
---|---|---|
committer | nobody <> | 2003-02-02 23:00:07 +0000 |
commit | cddd45abf62af6ed70c8c67601a9f09da0a939b0 (patch) | |
tree | c8d60358c712fe334d27b9e65723fcea6351e33f /sim | |
parent | 812e900cfcaad5c1a17d6728e204cbf34d4eb557 (diff) | |
download | binutils-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/ChangeLog | 29 | ||||
-rw-r--r-- | sim/arm/README (renamed from sim/arm/README.Cygnus) | 0 | ||||
-rw-r--r-- | sim/h8300/ChangeLog | 9 | ||||
-rw-r--r-- | sim/h8300/compile.c | 122 | ||||
-rw-r--r-- | sim/mips/ChangeLog | 8 | ||||
-rw-r--r-- | sim/mips/mips.igen | 57 |
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: |