This is the mail archive of the 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 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"

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?


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