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: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: "rajagopal, dwarak" <dwarak dot rajagopal at amd 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 08:32:51 -0800
- 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> <F3FBCD4755B65C4A958DE1A4B963C4990BB637@SAUSEXMB2.amd.com> <6dc9ffc80812081136y39ab1287m8b4e06d3453251c8@mail.gmail.com> <F3FBCD4755B65C4A958DE1A4B963C4990BBA26@SAUSEXMB2.amd.com>
On Wed, Dec 10, 2008 at 8:24 AM, rajagopal, dwarak
<dwarak.rajagopal@amd.com> wrote:
>> > 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.
Can you list all of your concerns on immintrin.h? Thanks.
>>
>> > 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.
>
For AVX intrinsics, icc sets standard and we want gcc to be compatible
with icc on AVX support support since it is how users will use AVX
intrinsics.
--
H.J.