This is the mail archive of the gcc-bugs@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]

[Bug target/37390] wrong-code on i486-linux-gnu with -O[12], -O0 works



------- Comment #8 from vincent at vinc17 dot org  2008-09-06 18:42 -------
(In reply to comment #7)
> Does increasing bits cause floating point errors. How could 64 bit precison
> give correct result where as 80 bit give incorrect one.

You can have rounding errors whether you increase the precision or not. In
particular, in practice, function pow() is not correctly rounded, and worse,
the error may be quite high. So, I'd say that whatever the choice made by
Linux, your code may be regarded as wrong (and I think this bug is just
invalid, as you could have similar problems with SSE2).

> junk@edubuntu:~/prog/tju$ gcc -O2 -mfpmath=sse bug_short.c -lm
> bug_short.c:1: warning: SSE instruction set disabled, using 387 arithmetics

You probably need another compilation flag, like -march=pentium4.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37390


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