diff options
Diffstat (limited to 'sim/mips')
-rw-r--r-- | sim/mips/ChangeLog | 5 | ||||
-rw-r--r-- | sim/mips/gencode.c | 3 |
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; } |