This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gcse.c patch for IA-64 glibc math test failures


On Tue, 2003-12-16 at 05:54, Roger Sayle wrote:
> static bool implicit_set_cond_p (rtx cond)

Yes, this looks good to me.  I'll try rewriting and retesting my patch. 
It will take an entire day pretty much to do gcc/glibc builds and tests.

> The dependence upon copysign can be removed with "minus_zero = -0.0;" 
> The signbit test can be removed by using memcmp to determine whether
> the floating point representations match identically.

Thanks for the suggestions.  I have a usable testcase now.

>I don't believe there are any other cases where floating point equality
>!= identity?

zero and NaN were the only ones that occurred to me also.

IA-64 also has NatVAL which results from failed speculative loads, and
behaves a bit like a NaN, but I don't think gcse has to worry about it.

I don't seem to have an x87 manual, but I'm wondering if there are
problems for that target.  The i386 port lies about the FP instruction
set.  There might be a chance that cse/gcse of an FP value here might
cause us to replace a DFmode value with a register XFmode value that
differs in the excess precision bits.  This isn't really the fault of
cse/gcse though.  It is a bug in the i386 target support, and it doesn't
seem appropriate to make cse/gcse change to workaround the i386 bug.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com


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