This is the mail archive of the cgen@sources.redhat.com mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Tracing for floating point values


Ben Elliston wrote:
> 
> Currently, the TRACE_RESULTS web of macros/functions in
> sim/common/cgen-trace.c don't know how to handle the 'f' printf-type for SF
> and DF operands.  Only 'D' and 'x' are handled at present.
> 
> I set about fixing this yesterday.  There were two approaches I considered:
> 
>         * use the host's native printf %x.  Comments in sim-fpu.[hc]
>           indicate this is a bad mistake.  There's no guarantee that the
>           host will use the same floating point representation as the
>           target.

You would need to be very careful about SNaNs.

>         * use sim_fpu's sim_fpu_print_fpu to output the real number
>           using cgen_trace_printf as its callback (which works nicely).
>           However, we get very detailed output!
> 
>         fr <- +1.0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000,0000*2^+0
> 
> Which way seems right to jump?

What about a print function that outputs things in decimal - something
like ``%f'' or ``%g''.  While the existing print function is really
useful for someone debugging the internals it isn't much use to normal
users.

	Andrew

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]