target/8087: sparc-sun-solaris2.7 C testsuite failures in execute/20020720-1.c w/-m64 or on sparcv9/sparc64

David S. Miller davem@redhat.com
Mon Oct 7 09:25:00 GMT 2002


   From: Roger Sayle <roger@eyesopen.com>
   Date: Mon, 7 Oct 2002 10:08:04 -0600 (MDT)
   
   The REG_EQUAL notes is a separate issue.  The fixes that I'm still
   investigating address the sparc64 backend's convoluted constant
   pool loading code.

There is nothing convoluted about it.  That's a perfectly valid
and fine way to output a load from the constant pool and expose
all of the instructions to the compiler for scheduling purposes.

It's very complicated to "defer" the full-blown load till later
in the compilatio if that's the idea you have.  You have to
force the thing into a register early to get good code and
sane behavior.

Ignoring REG_EQUAL is a bug, and once that bug is fixed the sparc64
"convoluted" constant pool load works as well as "(set reg
(const_double 0.0))"



More information about the Gcc-bugs mailing list