summaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorChris Demetriou <cgd@google.com>2002-02-11 02:19:38 +0000
committerChris Demetriou <cgd@google.com>2002-02-11 02:19:38 +0000
commite70bb5f851cb2f0053dbd23489b2b75b541a0502 (patch)
treee4ceee6ec4c693ed8b6053418be4a29982dcd9c1 /sim
parent77967df3e3f4f0c65471afdb74aea0007472d00d (diff)
downloadgdb-e70bb5f851cb2f0053dbd23489b2b75b541a0502.tar.gz
2002-02-10 Chris Demetriou cgd@sibyte.com
* mips.igen (ADDI): Print immediate value. (BREAK): Print code. (DADDIU, DSRAV, DSRLV): Print correct instruction name. (SLL): Print "nop" specially, and don't run the code that does the shift for the "nop" case.
Diffstat (limited to 'sim')
-rw-r--r--sim/mips/ChangeLog8
-rw-r--r--sim/mips/mips.igen16
2 files changed, 18 insertions, 6 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 6a5f08f395f..b9d81c5eccd 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,11 @@
+2002-02-10 Chris Demetriou cgd@sibyte.com
+
+ * mips.igen (ADDI): Print immediate value.
+ (BREAK): Print code.
+ (DADDIU, DSRAV, DSRLV): Print correct instruction name.
+ (SLL): Print "nop" specially, and don't run the code
+ that does the shift for the "nop" case.
+
2001-11-17 Fred Fish <fnf@redhat.com>
* sim-main.h (float_operation): Move enum declaration outside
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen
index 03f783a2be2..3ed8f62fc65 100644
--- a/sim/mips/mips.igen
+++ b/sim/mips/mips.igen
@@ -245,7 +245,7 @@
001000,5.RS,5.RT,16.IMMEDIATE:NORMAL:32::ADDI
-"addi r<RT>, r<RS>, IMMEDIATE"
+"addi r<RT>, r<RS>, <IMMEDIATE>"
*mipsI,mipsII,mipsIII,mipsIV:
*vr4100:
*vr5000:
@@ -668,7 +668,7 @@
000000,20.CODE,001101:SPECIAL:32::BREAK
-"break"
+"break <CODE>"
*mipsI,mipsII,mipsIII,mipsIV:
*vr4100:
*vr5000:
@@ -747,7 +747,7 @@
}
011001,5.RS,5.RT,16.IMMEDIATE:NORMAL:64::DADDIU
-"daddu r<RT>, r<RS>, <IMMEDIATE>"
+"daddiu r<RT>, r<RS>, <IMMEDIATE>"
*mipsIII:
*mipsIV:
*vr4100:
@@ -1113,7 +1113,7 @@
}
000000,5.RS,5.RT,5.RD,00000010111:SPECIAL:64::DSRAV
-"dsra32 r<RT>, r<RD>, r<RS>"
+"dsrav r<RT>, r<RD>, r<RS>"
*mipsIII:
*mipsIV:
*vr4100:
@@ -1160,7 +1160,7 @@
000000,5.RS,5.RT,5.RD,00000010110:SPECIAL:64::DSRLV
-"dsrl32 r<RD>, r<RT>, r<RS>"
+"dsrlv r<RD>, r<RT>, r<RS>"
*mipsIII:
*mipsIV:
*vr4100:
@@ -2012,13 +2012,17 @@
}
00000000000,5.RT,5.RD,5.SHIFT,000000:SPECIAL:32::SLL
+"nop":RD == 0 && RT == 0 && SHIFT == 0
"sll r<RD>, r<RT>, <SHIFT>"
*mipsI,mipsII,mipsIII,mipsIV:
*vr4100:
*vr5000:
*r3900:
{
- do_sll (SD_, RT, RD, SHIFT);
+ /* Skip shift for NOP, so that there won't be lots of extraneous
+ trace output. */
+ if (RD != 0 || RT != 0 || SHIFT != 0)
+ do_sll (SD_, RT, RD, SHIFT);
}