Help Needed for gcc on Linux x86_64

Ashwani Bhat ashwanib@cadence.com
Thu May 18 10:25:00 GMT 2006


On Linux 64 bit platform, gcc shows poor performance for pow() function
when the first argument is very close to 1. To reproduce the issue, just
create a simple c file case.c 
 
Contents of case.c 
================== 
#include <stdio.h> 
#include <math.h> 
 
int main(){ 
    double x; 
    int i; 
    for( i=1; i<10000; i++ ) { 
        x = pow( 1.0000000000000002, 1.5 ); 
    } 
    printf( "x = %1.30f\n", x ); 
} 
 
then compile it 
% gcc -lm -m64 case.c -o case 
% ./case 
 
Notes 
1. gcc option -ffast-math does not help here 
2. if compiled with "-m32" instead of "-m64", then the calculation is
fast.
 
Can you please help me here .. I have tried it with gcc -v3.2.3, 3.4.2,
4.1.0. But results are same.
 
 
Thanks and regards,
------------------------------
Ashwani Bhat 
/Grid Common Tools Team
ashwanib@cadence.com
------------------------------------------



More information about the Gcc-help mailing list