On May 13, 2009, at 5:26 AM, Duncan Sands wrote:

Hi Richard,

-mpc64 sets the x87 floating point control register to not use the 80bit
extended precision.  This causes some x87 floating point operations
to operate faster and there are no issues with the extra roundings you get when storing an 80bit precision register to a 64bit memory location.

However, this does break long double, right?

Does LLVM support x87 arithmetic at all or does it default to SSE
arithmetic in 32bits? I guess using SSE math for both would be a more
fair comparison?

LLVM does support the x86 floating point stack, though it doesn't support all asm expressions for it (which is why llvm-gcc disables math inlines). My understanding is that no effort has been made to produce optimal code
when using the x86 fp stack, and all the effort when into SSE instead.

As long as you configure llvm-gcc with --with-arch=pentium-4 or later, you should be fine. I personally use --with-arch=nocona.

-Chris

Reply via email to