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: [tree-ssa] life analysis improvement


But that is because of the x86 floating point registers being 80bits instead of 64 bit.
It passes on ppc still.


From http://www.suse.de/~aj/SPEC/:

On Linux/ix86 we use long double precision for evaluation of floating point variables. This can lead to different values than the expected values. I'm experimenting on the tests for cfg-branch with a small shared library that is preloaded.

The complete code is below, I compiled it with gcc -Wall -O2 -shared -o libchange-precission.so change-precission.c and set LD_PRELOAD to this library.
extern void change_precission (void) __attribute__ ((constructor));


void
change_precission (void)
{
  unsigned int cw = 0x27f;

  __asm__ volatile ("fldcw %0" :: "m" (*&cw));
}

Thanks,
Andrew Pinski

On Wednesday, Apr 23, 2003, at 15:33 US/Eastern, Diego Novillo wrote:

On Wed, Apr 23, 2003 at 12:53:09PM -0600, law at redhat dot com wrote:

ps.  It looks like my C++ changes to enable the tree-ssa optimizers
may be causing eon to fail to compile from spec2000.  I'll be taking
a look at that shortly.

If it's any consolation, not even mainline can handle eon.  The
closest we got, was compile it but fail at runtime :)


Diego.





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