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

Re: speed of double-precision divide


Hi, Andrew!

Thanks for the suggestion, but it didn't make any difference for me.
Neither the speed nor the assembler was significantly altered.

Which version of gcc did you use?  Mine is 4.4.1.

I threw everything at it:
	gcc -std=c99 -Wall -pedantic -O3 -ffast-math -mmmx -msse -msse2 -mfpmath=sse -mtune=pentium-m -o dt dt.c -lm -lc
I should say, I have tried a lot of other combinations.  
I have never got gcc to perform well with this test.  You will also
see that I thought of alignment, and tried to correct for that.

Nevermind icc for the moment, with whatever trick it may be doing.  
Why is the SSE2 division so slow, compared to multiplication?

Change one character in the division test to make a multiplication test.
It is an order of magnitude difference in speed.

Try it yourself!

Thanks!

On 23.01.10, Andrew Pinski wrote:
> On Sat, Jan 23, 2010 at 8:47 AM, Steve White <swhite@aip.de> wrote:
> > gcc has this (gcc -std=c99 -O3 -msse2 -mfpmath=sse -lm -S dt.c)
> > icc has this (icc -Wall -w2 -fast -c dt.c)
> 
> icc's -fast is equivalent to gcc's -ffast-math option which you did
> not supply so you comparing apples to oranges.
> 
> Note supplying -ffast-math will have gcc to pull out the division out
> of the loop which should speed up your program with some loss of
> precision.
> 
> Thanks,
> Andrew Pinski
> 

-- 
| -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
| Steve White                                             +49(331)7499-202
| e-Science / AstroGrid-D                                   Zi. 35  Bg. 20
| -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -
| Astrophysikalisches Institut Potsdam (AIP)
| An der Sternwarte 16, D-14482 Potsdam
|
| Vorstand: Prof. Dr. Matthias Steinmetz, Peter A. Stolz
|
| Stiftung privaten Rechts, Stiftungsverzeichnis Brandenburg: III/7-71-026
| -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -


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