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 Tue, Nov 25, 2008 at 9:46 PM, Chris Lattner <clattner@apple.com> wrote:
> On Nov 25, 2008, at 9:34 PM, H.J. Lu wrote:
>>>
>>> My understanding is that you're proposing to break this long-standing
>>> tradition by adding new ISA features to an existing header over time.
>>>  This
>>> will break this very valuable property of existing practice.
>>
>> The content of <immintrin.h> is controlled by -mXXX. If you don't put
>> -mXXX at command line and use XXX features in your program, you will
>> get an error at compile/link time. If you don't want XXX, you have to use
>> -mno-XXX if XXX is enabled by default. In this case, even if you don't
>> include <immintrin.h>, gcc may still use XXX feature. So you don't lose
>> much with a single <immintrin.h>.
>
> This is another deviation from historical practice.  Previous headers (e.g.
> xmmintrin.h) #error out if you don't use the right -m option:
>
> #ifndef __SSE__
> # error "SSE instruction set not enabled"
> #else

That is correct. Now you won't get an error if you don't use XXX feature.

>
>>> Does this description make sense?  If so, why do you want to break
>>> existing
>>> practice here?  If not, what can I do to make this any more clear?
>>>
>>
>> <immtrin.h> is used by icc.
>
> There are more compilers in the world than just ICC and GCC.
>
> Beyond that, is your entire explanation "icc did it this way"?  If so, are
> you claiming that GCC should emulate everything ICC does?
>

Yes, those intrinsics are defined by icc.

-- 
H.J.


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