This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH] A new meta intrinsic header file for current and future x86 instrinsics.
- From: "rajagopal, dwarak" <dwarak dot rajagopal at amd dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: "Uros Bizjak" <ubizjak at gmail dot com>, "Richard Guenther" <richard dot guenther at gmail dot com>, "Guo, Xuepeng" <xuepeng dot guo at intel dot com>, <gcc-patches at gcc dot gnu dot org>, <jakub at redhat dot com>, "Ye, Joey" <joey dot ye at intel dot com>, "Lin, Weiliang" <weiliang dot lin at intel dot com>, "Harle, Christophe" <christophe dot harle at amd dot com>, "Sebastian Pop" <sebpop at gmail dot com>, "Chris Lattner" <clattner at apple dot com>, "Jan Hubicka" <jh at suse dot cz>
- Date: Wed, 10 Dec 2008 10:24:39 -0600
- Subject: RE: [PATCH] A new meta intrinsic header file for current and future x86 instrinsics.
- References: <820531547ADB6847AF89CC220F6128F1737F@pdsmsx001.ccr.corp.intel.com> <F3FBCD4755B65C4A958DE1A4B963C499FFE4@SAUSEXMB2.amd.com> <6dc9ffc80812030806w150cd434u21c57eedc68850db@mail.gmail.com> <6dc9ffc80812031350u51f40b0bvca6a17ff7fbfdb3e@mail.gmail5d6d@mail.gmail.com> <F3FBCD4755B65C4A958DE1A4B963C4990BB637@SAUSEXMB2.amd.com> <6dc9ffc80812081136y39ab1287m8b4e06d3453251c8@mail.gmail.com>
> > Why do we need to have different header files for the same
instruction
> > 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
immintrin.h
> >> > 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
only
> > through immintrin.h?
> >
>
> AVX intrinsics are defined by icc, which requires that <immintrin.h>
has
> 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