aboutsummaryrefslogtreecommitdiff
path: root/sim/mips/mips.igen
diff options
context:
space:
mode:
Diffstat (limited to 'sim/mips/mips.igen')
-rw-r--r--sim/mips/mips.igen16
1 files changed, 10 insertions, 6 deletions
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen
index 03f783a..3ed8f62 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);
}