aboutsummaryrefslogtreecommitdiff
path: root/sim
diff options
context:
space:
mode:
authorMichael Meissner <gnu@the-meissners.org>1996-09-09 20:10:31 +0000
committerMichael Meissner <gnu@the-meissners.org>1996-09-09 20:10:31 +0000
commit60fc5b72702bbae4431f6f7b245e586f5fc542be (patch)
tree453978539624cfd7dc806a649b56e076018de5c6 /sim
parent66e4c229785d41c5b2faa42fcc3de2da954bb0d4 (diff)
downloadgdb-60fc5b72702bbae4431f6f7b245e586f5fc542be.zip
gdb-60fc5b72702bbae4431f6f7b245e586f5fc542be.tar.gz
gdb-60fc5b72702bbae4431f6f7b245e586f5fc542be.tar.bz2
Correct tracing of cpfg
Diffstat (limited to 'sim')
-rw-r--r--sim/d10v/ChangeLog3
-rw-r--r--sim/d10v/simops.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog
index 69d6bd2..6ca3da7 100644
--- a/sim/d10v/ChangeLog
+++ b/sim/d10v/ChangeLog
@@ -4,6 +4,9 @@ Mon Sep 9 13:27:26 1996 Michael Meissner <meissner@tiktok.cygnus.com>
(OP_3{0,2,4}00): Properly parenthesize test expression. Add error
if shift count is too high.
(OP_4E{00,02,04,20,22,40,42}): Make tests agree with book.
+ (OP_4E09): Make cpfg properly trace the input flags.
+ (op_types): Add OP_FLAG_OUTPUT.
+ (trace_{input,output}): Support OP_FLAG_OUTPUT.
Fri Sep 6 17:56:17 1996 Martin M. Hunt <hunt@pizza.cygnus.com>
diff --git a/sim/d10v/simops.c b/sim/d10v/simops.c
index bb8b913..8618b4f 100644
--- a/sim/d10v/simops.c
+++ b/sim/d10v/simops.c
@@ -21,6 +21,7 @@ enum op_types {
OP_CR_OUTPUT,
OP_CR_REVERSE,
OP_FLAG,
+ OP_FLAG_OUTPUT,
OP_CONSTANT16,
OP_CONSTANT3,
OP_CONSTANT4,
@@ -171,6 +172,7 @@ trace_input (name, in1, in2, in3)
break;
case OP_FLAG:
+ case OP_FLAG_OUTPUT:
if (OP[i] == 0)
sprintf (p, "%sf0", comma);
@@ -178,7 +180,7 @@ trace_input (name, in1, in2, in3)
sprintf (p, "%sf1", comma);
else
- sprintf (p, "%scarry", comma);
+ sprintf (p, "%sc", comma);
p += strlen (p);
comma = ",";
@@ -211,6 +213,7 @@ trace_input (name, in1, in2, in3)
case OP_DREG_OUTPUT:
case OP_CR_OUTPUT:
case OP_ACCUM_OUTPUT:
+ case OP_FLAG_OUTPUT:
(*d10v_callback->printf_filtered) (d10v_callback, "%*s", SIZE_VALUES, "---");
break;
@@ -339,6 +342,7 @@ trace_output (result)
break;
case OP_FLAG:
+ case OP_FLAG_OUTPUT:
(*d10v_callback->printf_filtered) (d10v_callback, " :: %*s F0=%d F1=%d C=%d\n", SIZE_VALUES, "",
State.F0 != 0, State.F1 != 0, State.C != 0);
break;
@@ -835,7 +839,7 @@ OP_4E09 ()
{
uint8 *src, *dst;
- trace_input ("cpfg", OP_FLAG, OP_VOID, OP_VOID);
+ trace_input ("cpfg", OP_FLAG_OUTPUT, OP_FLAG, OP_VOID);
if (OP[0] == 0)
dst = &State.F0;
else