Differences between -m64 and -m32
Andrew Pinski
pinskia@gmail.com
Wed Sep 1 17:39:00 GMT 2010
On Sep 1, 2010, at 10:20 AM, Dennis Wassel
<dennis.wassel@googlemail.com> wrote:
> Hi list,
>
> I have observed drastic slowdown between 32- and 64-bit builds, and
> tracked it down to the exp function in libm when called with some
> "special" numeric values, those close to eps being an example. On some
> occasions and only in the 64-bit code, the result of __ieee745_exp
> seems to exceed an internal error bound, causing it to call a
> __slowexp with software FP arithmetic. Slowness ensues.
> Using the attached makefile & testcase on Ubuntu 10.04 running stock
> gfortran (4.4.3) and stock eglibc 2.11.1, I see that the 64-bit case
> calls slowexp, while the 32-bit one does not, and the results of exp
> differ in one case.
>
> Can anybody help me make some sense of this? Can one possibly remedy
> this (preferrably without taking it to the Drepper guy)?
Well you already pinpointed the problem to glibc differences between
x86-32 and x86-64. There is hardly anything the compiler could do
differently to avoid that.
>
> Cheers,
> Dennis
> <output.txt>
> <makefile>
> <test.f90>
More information about the Fortran
mailing list