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

Chris Lattner clattner@apple.com
Wed Nov 26 08:37:00 GMT 2008


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
...

>> 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?

-Chris



More information about the Gcc-patches mailing list