From ad8707b58d17d2502c2f5aff7740a365daf51d8b Mon Sep 17 00:00:00 2001
From: Ben Elliston <bje@au.ibm.com>
Date: Sat, 23 Dec 2000 21:52:14 +0000
Subject: [PATCH] 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".
---
 sim/common/ChangeLog    |  6 ++++++
 sim/common/cgen-trace.c | 14 ++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index c01bd9047d4..1cbbf36e3bb 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 93ce3e61182..765ab57ab03 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;