[PATCH] A new meta intrinsic header file for current and future x86 instrinsics.

rajagopal, dwarak dwarak.rajagopal@amd.com
Wed Dec 10 16:31:00 GMT 2008

> > Why do we need to have different header files for the same
> > set with unnecessary duplication? If we had separate header files
> > included in x86intrin.h file, we will not have this problem right?
> Is this the only concern you have? Please help me understand
> your concerns by answering my question.

This is one of our concerns and we would like this to be addressed.

> > What do we gain from having immintrin.h file in gcc?
> >
> >> > Moreover, we can remove the requirement of having only
> >> > including avxintrin.h (which is the patch Uros proposed -
> >> > http://gcc.gnu.org/ml/gcc-patches/2008-12/msg00186.html).
> >> >
> >>
> >> As I said you must include <immintrin.h> for AVX intrinsic. This
> >> requirement doesn't
> >> come from gcc. It comes to gcc.
> >
> > Why do we have this requirement, that AVX intrinsic can be included
> > through immintrin.h?
> >
> AVX intrinsics are defined by icc, which requires that <immintrin.h>
> to be included before using AVX intrinsics.

For ICC to be compatible with GCC, ICC will have to support x86intrin.h,
so we really do not see why GCC should support an immintrin.h file that
includes all ISAs that Intel processors support.
ISAs that are common to AMD and Intel should all be visible directly in
the x86intrin.h and not be hidden in an immintrin.h file.

- Dwarak

More information about the Gcc-patches mailing list