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: GCC viciously beaten by ICC in trig test!


Stelios Xanthakis <sxanth@ceid.upatras.gr> writes:

  > On Sun, 14 Mar 2004, Dan Nicolaescu wrote:
  > 
  > > Roger Sayle <roger@eyesopen.com> writes:
  > >   >         fsin
  > >   >         fmul    %st(0), %st
  > > 
  > > Intel 8.0 (that was used in the original test) generates something
  > > very different:

Please be careful when snipping, the essential part that you deleted
is this: 


        call      __libm_sse2_sincos                            #7.15
                                # LOE ebp esi edi xmm0 xmm1
..B1.4:                         # Preds ..B1.1

i.e. ICC 8 generates a call to an SSE library function instead of
using the fsin instruction. Given that this changed from ICC 7 to ICC
8, the library function is probably faster. 

  > >         mulsd     %xmm1, %xmm1                                  #10.25
  > >         mulsd     %xmm0, %xmm0                                  #10.15
  > >         addsd     %xmm1, %xmm0                                  #10.25
  > >         movsd     %xmm0, (%esp)                                 #10.25
  > >         fldl      (%esp)                                        #10.25
  > > 
  > 
  > Does --fpmath=sse fix this?
  > Can the processor in question do sse for doubles?
  > 
  > In my experience, "--fpmath=sse --fsingle-precision-constants"
  > generates much faster code for a raytracer I have here.

See above. 


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