This is the mail archive of the gcc-patches@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: [PATCH] A new meta intrinsic header file for current and future x86 instrinsics.


> On Fri, Nov 21, 2008 at 9:31 AM, rajagopal, dwarak
> <dwarak.rajagopal@amd.com> wrote:
> >>
> >> On Thu, Nov 20, 2008 at 11:13 AM, Richard Guenther
> >> <richard.guenther@gmail.com> wrote:
> >>
> >> >> So I propose that AMD introduces its own intrinsic file,
following
> >> >> immintrin.h example. There *will be* a vendor neutral
x86intrin.h
> > (or
> >> >> whatever the name will be agreed to), and AMDs file will be
> > included
> >> >> through this vendor neutral header just in the same way as
Intels
> >> >> file.
> >> >
> >> > I fail to see a compelling reason to have vendor specific headers
at
> >> all.
> >>
> >> Me too, but this is the situation we live in (bmmintrin.h vs.
> >> gmmintin.h) and will always live in. Everybody wants its own
sandbox
> >> to play in.
> >>
> >> Uros.
> >
> > Yes. We are beginning to realize this as well.
> > I'm planning to create an <x86intrin.h>, which will do the
following:
> >
> > #ifndef _x86INTRIN_H_INCLUDED
> > #define _x86INTRIN_H_INCLUDED
> >
> > #ifdef __MMX__
> > #include <mmintrin.h>
> > #endif
> >
> > #ifdef __SSE__
> > #include <xmmintrin.h>
> > #endif
> >
> > #ifdef __SSE2__
> > #include <emmintrin.h>
> > #endif
> >
> > #ifdef __SSE3__
> > #include <pmmintrin.h>
> > #endif
> >
> > #ifdef __SSSE3__
> > #include <tmmintrin.h>
> > #endif
> >
> > #ifdef __SSE4a__
> > #include <ammintrin.h>
> > #endif
> >
> > #if defined (__SSE4_2__) || defined (__SSE4_1__)
> > #include <smmintrin.h>
> > #endif
> >
> > #ifdef __SSE5__
> > #include <bmmintrin.h>
> > #endif
> >
> > #if defined (__AES__) || defined (__PCLMUL__)
> > #include <wmmintrin.h>
> > #endif
> >
> > #ifdef __AVX__
> > #include <avxintrin.h>
> > #endif
> >
> > #ifdef __3dNOW__
> > #include <mm3dnow.h>
> > #endif
> >
> > #endif /* _x86MMINTRIN_H_INCLUDED */
> >
> > Is this approach ok?
> 
> There is no need to include SSE to AVX header files separately.
> 
> #include <immintrin.h>
> 
> will just work. I would suggest you include all AMD intrinsic files
from
> one file, saying <AMDintrin.h>.  Then x86intrin.h becomes
> 
> #include <immintrin.h>
> #include <AMDintrin.h>
> 

Hi H.J,

We have already responded that vendor specific header files are not a
proposal that is acceptable to AMD.
We agree with Uros and Richi's views that we should not have vendor
specific header files. We should instead have architecture extension
specific header files.  

Thanks,
Dwarak


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