aboutsummaryrefslogtreecommitdiff
path: root/sim/mips
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>1997-12-13 04:23:31 +0000
committerAndrew Cagney <cagney@redhat.com>1997-12-13 04:23:31 +0000
commitb17d2d147491525c3368a0a5417810010e203894 (patch)
tree8c9e0dae4c1ad4d2ab83854e4bf0f82ce192de04 /sim/mips
parent599ef811c38c8ef3fc46bce3b738d455b618eb28 (diff)
downloadgdb-b17d2d147491525c3368a0a5417810010e203894.zip
gdb-b17d2d147491525c3368a0a5417810010e203894.tar.gz
gdb-b17d2d147491525c3368a0a5417810010e203894.tar.bz2
For MADD et.al. instructions sign extend 32 bit result assigned to a
register.
Diffstat (limited to 'sim/mips')
-rw-r--r--sim/mips/ChangeLog7
-rw-r--r--sim/mips/vr5400.igen4
2 files changed, 9 insertions, 2 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 2a0d05c..2dd2520 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,4 +1,11 @@
start-sanitize-vr5400
+Sat Dec 13 15:18:51 1997 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * vr5400.igen (Low32Bits, High32Bits): Sign extend extracted 32
+ bit values.
+
+end-sanitize-vr5400
+start-sanitize-vr5400
Fri Dec 12 12:26:07 1997 Jeffrey A Law (law@cygnus.com)
* configure.in (sim_igen_filter): Multi-sim vr5000 - vr5000 or
diff --git a/sim/mips/vr5400.igen b/sim/mips/vr5400.igen
index ade64ad..2e77ea2 100644
--- a/sim/mips/vr5400.igen
+++ b/sim/mips/vr5400.igen
@@ -35,13 +35,13 @@
:function:::unsigned64:Low32Bits:unsigned64 value
{
- unsigned64 result = VL4_8 (value);
+ unsigned64 result = (signed64) (signed32) VL4_8 (value);
return result;
}
:function:::unsigned64:High32Bits:unsigned64 value
{
- unsigned64 result = VH4_8 (value);
+ unsigned64 result = (signed64) (signed32) VH4_8 (value);
return result;
}