aboutsummaryrefslogtreecommitdiff
path: root/sim/mips/mips.igen
diff options
context:
space:
mode:
authorChris Demetriou <cgd@google.com>2002-03-01 23:40:51 +0000
committerChris Demetriou <cgd@google.com>2002-03-01 23:40:51 +0000
commitfff8d27d232f4c62612e83535334050e6972441c (patch)
tree399957d884316328b9e8e4536eb3a9d8ed488a2e /sim/mips/mips.igen
parent768f08429b2442f90808cfaa4b4707aaf576c6ac (diff)
downloadfsf-binutils-gdb-fff8d27d232f4c62612e83535334050e6972441c.zip
fsf-binutils-gdb-fff8d27d232f4c62612e83535334050e6972441c.tar.gz
fsf-binutils-gdb-fff8d27d232f4c62612e83535334050e6972441c.tar.bz2
2002-03-01 Chris Demetriou <cgd@broadcom.com>
* mips.igen (do_dsll, do_dsllv, DSLL32, do_dsra, DSRA32, do_dsrl, DSRL32, do_dsrlv): Trace inputs and results.
Diffstat (limited to 'sim/mips/mips.igen')
-rw-r--r--sim/mips/mips.igen16
1 files changed, 16 insertions, 0 deletions
diff --git a/sim/mips/mips.igen b/sim/mips/mips.igen
index 946a99a..b404311 100644
--- a/sim/mips/mips.igen
+++ b/sim/mips/mips.igen
@@ -1180,13 +1180,17 @@
:function:::void:do_dsll:int rt, int rd, int shift
{
+ TRACE_ALU_INPUT2 (GPR[rt], shift);
GPR[rd] = GPR[rt] << shift;
+ TRACE_ALU_RESULT (GPR[rd]);
}
:function:::void:do_dsllv:int rs, int rt, int rd
{
int s = MASKED64 (GPR[rs], 5, 0);
+ TRACE_ALU_INPUT2 (GPR[rt], s);
GPR[rd] = GPR[rt] << s;
+ TRACE_ALU_RESULT (GPR[rd]);
}
@@ -1213,7 +1217,9 @@
{
int s = 32 + SHIFT;
check_u64 (SD_, instruction_0);
+ TRACE_ALU_INPUT2 (GPR[RT], s);
GPR[RD] = GPR[RT] << s;
+ TRACE_ALU_RESULT (GPR[RD]);
}
000000,5.RS,5.RT,5.RD,00000,010100:SPECIAL:64::DSLLV
@@ -1230,7 +1236,9 @@
:function:::void:do_dsra:int rt, int rd, int shift
{
+ TRACE_ALU_INPUT2 (GPR[rt], shift);
GPR[rd] = ((signed64) GPR[rt]) >> shift;
+ TRACE_ALU_RESULT (GPR[rd]);
}
@@ -1257,7 +1265,9 @@
{
int s = 32 + SHIFT;
check_u64 (SD_, instruction_0);
+ TRACE_ALU_INPUT2 (GPR[RT], s);
GPR[RD] = ((signed64) GPR[RT]) >> s;
+ TRACE_ALU_RESULT (GPR[RD]);
}
@@ -1283,7 +1293,9 @@
:function:::void:do_dsrl:int rt, int rd, int shift
{
+ TRACE_ALU_INPUT2 (GPR[rt], shift);
GPR[rd] = (unsigned64) GPR[rt] >> shift;
+ TRACE_ALU_RESULT (GPR[rd]);
}
@@ -1310,14 +1322,18 @@
{
int s = 32 + SHIFT;
check_u64 (SD_, instruction_0);
+ TRACE_ALU_INPUT2 (GPR[RT], s);
GPR[RD] = (unsigned64) GPR[RT] >> s;
+ TRACE_ALU_RESULT (GPR[RD]);
}
:function:::void:do_dsrlv:int rs, int rt, int rd
{
int s = MASKED64 (GPR[rs], 5, 0);
+ TRACE_ALU_INPUT2 (GPR[rt], s);
GPR[rd] = (unsigned64) GPR[rt] >> s;
+ TRACE_ALU_RESULT (GPR[rd]);
}