diff options
-rw-r--r-- | sim/common/ChangeLog | 6 | ||||
-rw-r--r-- | sim/common/cgen-trace.c | 14 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index c01bd90..1cbbf36 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,3 +1,9 @@ +2000-12-23 Ben Elliston <bje@redhat.com> + + * cgen-trace.c (trace_result): Handle 'f' type operands; output + them to the trace stream using sim_fpu_printn_fpu. Include + "sim-fpu.h". + 2000-12-15 Ben Elliston <bje@redhat.com> * sim-fpu.h (sim_fpu_printn_fpu): Declare. diff --git a/sim/common/cgen-trace.c b/sim/common/cgen-trace.c index 93ce3e6..765ab57 100644 --- a/sim/common/cgen-trace.c +++ b/sim/common/cgen-trace.c @@ -22,6 +22,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "dis-asm.h" #include "bfd.h" #include "sim-main.h" +#include "sim-fpu.h" #undef min #define min(a,b) ((a) < (b) ? (a) : (b)) @@ -235,6 +236,19 @@ trace_result (SIM_CPU *cpu, char *name, int type, ...) default : cgen_trace_printf (cpu, "%s <- 0x%x", name, va_arg (args, int)); break; + case 'f': + { + DI di; + sim_fpu f; + + /* this is separated from previous line for sunos cc */ + di = va_arg (args, DI); + sim_fpu_64to (&f, di); + + cgen_trace_printf (cpu, "%s <- ", name); + sim_fpu_printn_fpu (&f, (sim_fpu_print_func *) cgen_trace_printf, 4, cpu); + break; + } case 'D' : { DI di; |