[Bug rtl-optimization/19780] Floating point computation far slower for -mfpmath=sse
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Apr 5 18:40:00 GMT 2007
------- Comment #20 from ubizjak at gmail dot com 2007-04-05 19:39 -------
(In reply to comment #19)
> what are you using for a compiler? Im using a mainline from mid march, and
gcc version 4.3.0 20070404 (experimental) on i686-pc-linux-gnu
with
> it, my .optimized files diff exactly the same, and I get the aforementioned
> time differences in the executables.
This is because -march=pentium4 enables all sse builtins for both cases.
> (sse.c and sse-bad.c are same, just different names to get different output
> files)
>
> 2007-03-13/gcc> diff sse.c sse-bad.c
>
> 2007-03-13/gcc>./xgcc -B./ sse.c -fdump-tree-optimized -O3 -march=pentium4 -o
> sse
>
> 2007-03-13/gcc>./xgcc -B./ sse-bad.c -fdump-tree-optimized -O3 -march=pentium4
> -mfpmath=sse -o sse-bad
This is known effect of SFmode SSE being slower than SFmode x87. But again, you
have enabled sse(2) builtins due to -march=pentium4.
Please try to compile using only "-O2" and "-O2 -msse". x87 math will be used
in both cases, but .optimized will show the difference. You can also try to
compile with and without -ffast-math.
IMO it is not acceptabe for tree dumps to depend on target compile flag in any
way...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19780
More information about the Gcc-bugs
mailing list