SSE fix 3

Jan Hubicka jh@suse.cz
Mon Oct 14 09:46:00 GMT 2002


> On Mon, Oct 14, 2002 at 05:22:35PM +0200, Jan Hubicka wrote:
> > Also there seems to be ICC compatibility problem - ICC requires emmintrin.h
> > to be included for SSE2 intrin and we don't have such a header.
> 
> Huh.  The last spec that I saw didn't have that.
> 
> > Aditionally ICC uses register passing conventions for SSE operands...
> 
> They do?  That's a definite ABI change from before.
ICC compiles my testsuite into:
t1:
.B1.1:                          # Preds .B1.0
        pushl     %ebx                                          #15.1
        movl      %esp, %ebx
        andl      $-16, %esp
        pand      %xmm1, %xmm0
        movl      %ebx, %esp
        popl      %ebx
        ret

Looks like register passing convention :)

> 
> > *** xmmintrin.h	Mon Oct 14 18:09:21 2002
> > --- /p1/ssediv/egcs/gcc/config/i386/xmmintrin.h	Wed Sep 18 00:58:59 2002
> > *************** typedef int __v4si __attribute__ ((mode 
> > *** 1066,1072 ****
> >   typedef int __v8hi __attribute__ ((mode (V8HI)));
> >   typedef int __v16qi __attribute__ ((mode (V16QI)));
> >   
> > - #define __m128i __v2di
> > + #define __m128i __m128
> >   #define __m128d __v2df
> >   
> >   static __inline __m128d
> 
> Is the patch reversed?
Yes, sorry for that.
There is also bug in the fabs patch, I will send updated version of that
one.

Honza
> 
> 
> r~



More information about the Gcc-patches mailing list