aboutsummaryrefslogtreecommitdiff
path: root/sim/mips
diff options
context:
space:
mode:
Diffstat (limited to 'sim/mips')
-rw-r--r--sim/mips/ChangeLog5
-rw-r--r--sim/mips/gencode.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index d2b5893..d0575e7 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,8 @@
+Fri Jul 25 15:00:45 1997 Gavin Koch <gavin@cygnus.com>
+
+ * gencode.c (build_instruction): Two arg MADD should
+ not assign result to $0.
+
start-sanitize-r5900
Thu Jul 10 11:58:48 1997 Andrew Cagney <cagney@critters.cygnus.com>
diff --git a/sim/mips/gencode.c b/sim/mips/gencode.c
index 4f2044a..e264b0a 100644
--- a/sim/mips/gencode.c
+++ b/sim/mips/gencode.c
@@ -3320,8 +3320,9 @@ build_instruction (doisa, features, mips16, insn)
prodtype, (notsigned ? "WORD64LO" : "SIGNEXTEND"), (notsigned ? "" : ",32"),
prodtype, (notsigned ? "WORD64LO" : "SIGNEXTEND"), (notsigned ? "" : ",32")
);
- printf("GPR[destreg] = LO%s = SIGNEXTEND(prod,32);\n", pipeline );
+ printf("LO%s = SIGNEXTEND(prod,32);\n", pipeline );
printf("HI%s = SIGNEXTEND( WORD64HI(prod), 32);\n", pipeline );
+ printf("if( destreg != 0 ) GPR[destreg] = LO%s;\n", pipeline );
break;
}