target/8087: sparc-sun-solaris2.7 C testsuite failures in execute/20020720-1.c w/-m64 or on sparcv9/sparc64
Thu Oct 3 13:04:00 GMT 2002
> The REG_EQUAL note is there, it says the value will be const_double
> 0.0 So what more should I be required to say in the RTL I output for
> the constant pool load before GCC will see what is going on? :-)
Perhaps RTH could field this one? I've considered in the past the
possibility of modifying combine.c to iterate over the REG_EQUAL
notes when evaluating combinations. I believe the primary concern
is that combine is already doing an exponential amount of work,
so adding another multiplicative factor may be prohibitive.
I appreciate the issue. Whilst working on a patch to evaluate
square roots at compile time, I was distressed to discover the
result of the calculation was simply being placed in a REG_EQUAL
note on the RTL, and therefore ignored by most passes. The
result was that the final code contained a call to libc's sqrt!
[I've since fixed the problem without having to resort to
interpreting REG_EQUAL notes].
More information about the Gcc-bugs