diff options
author | Chris Demetriou <cgd@google.com> | 2002-03-01 23:40:51 +0000 |
---|---|---|
committer | Chris Demetriou <cgd@google.com> | 2002-03-01 23:40:51 +0000 |
commit | fff8d27d232f4c62612e83535334050e6972441c (patch) | |
tree | 399957d884316328b9e8e4536eb3a9d8ed488a2e /sim | |
parent | 768f08429b2442f90808cfaa4b4707aaf576c6ac (diff) | |
download | gdb-fff8d27d232f4c62612e83535334050e6972441c.zip gdb-fff8d27d232f4c62612e83535334050e6972441c.tar.gz 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')
-rw-r--r-- | sim/mips/ChangeLog | 5 | ||||
-rw-r--r-- | sim/mips/mips.igen | 16 |
2 files changed, 21 insertions, 0 deletions
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog index a1499fe..95f2f36 100644 --- a/sim/mips/ChangeLog +++ b/sim/mips/ChangeLog @@ -1,5 +1,10 @@ 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. + +2002-03-01 Chris Demetriou <cgd@broadcom.com> + * mips.igen (CACHE): Provide instruction-printing string. * interp.c (signal_exception): Comment tokens after #endif. 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]); } |