sqrt via SSE2 registers
Jan Hubicka
jh@suse.cz
Sun Feb 17 08:12:00 GMT 2002
> Is there any way of telling gcc that I care so little about precision that
> I'm prepared to have it compute the square roots of objects in SSE2
> registers by using SQRTSD rather than by storing the register to memory,
> loading it onto the FP stack and calling fsqrt?
>
> I've tried (on the principle of sticking in anything that might have an
> effect)
>
> -O3 -march=pentium4 -msse2 -mfpmath=sse{,387} -ffast-math \
> -mno-fancy-math-387
The -mno-fancy-math-387 should not be needed. With -mfpmath=sse -ffast-math,
gcc should use sqrtsd, I will check what is going wrong.
>
> but nonetheless always get the worst-of-both-worlds behavior described
> above.
>
> Am I just being too optimistic about mainline gcc's current level of support
> for the P4? There is a sqrtdf2_1 instruction in i386.md which looks as if it
> should behave correctly.
NO, it should work. Your bugreports are very good for me - I spent today
half a day debugging spec2000 with SSE compilation and failed. I guess it
is the fabs problem reported.
Thanks and please continue! SSE support needs testing!
Honza
>
> Tom
More information about the Gcc
mailing list