Intel® C++ Compiler 16.0 User and Reference Guide
This topic only applies toIntel® 64 architecture targeting the Intel® Xeon Phi™ coprocessor x100 product family (formerly code name Knights Corner).
The C++ Class Libraries for Intel® 64 architecture targeting the Intel® Xeon Phi™ coprocessor x100 product family (formerly code name Knights Corner) enable Single Instruction, Multiple Data (SIMD) operations.
These libraries provide functionality very similar to the Intel® C++ Class Library for IA-32 and Intel®64 architectures, but for wider vectors. This functionality can be used in a code compiled for Intel® 64 architecture targeting the Intel® Xeon Phi™ coprocessor x100 product family (formerly code name Knights Corner).
For example, the Intel® C++ Class Library for IA-32 and Intel® 64 architecture provides the following classes:
Instruction Set | Class | Signedness | Data Type | Size | Elements | Header File |
---|---|---|---|---|---|---|
Intel® SSE2 |
F64vec2 |
unspecified |
double |
64 |
2 |
dvec.h |
F32vec4 |
unspecified |
float |
32 |
4 |
dvec.h |
|
I128vec1 |
unspecified |
__m128i |
128 |
1 |
dvec.h |
|
I64vec2 |
unspecified |
long int |
64 |
2 |
dvec.h |
|
Is64vec2 |
signed |
long int |
64 |
2 |
dvec.h |
|
Iu64vec2 |
unsigned |
long int |
64 |
2 |
dvec.h |
|
I32vec4 |
unspecified |
int |
32 |
4 |
dvec.h |
|
Is32vec4 |
signed |
int |
32 |
4 |
dvec.h |
|
Iu32vec4 |
unsigned |
int |
32 |
4 |
dvec.h |
|
I16vec8 |
unspecified |
int |
16 |
8 |
dvec.h |
|
Is16vec8 |
signed |
int |
16 |
8 |
dvec.h |
|
Iu16vec8 |
unsigned |
int |
16 |
8 |
dvec.h |
|
I8vec16 |
unspecified |
char |
8 |
16 |
dvec.h |
|
Is8vec16 |
signed |
char |
8 |
16 |
dvec.h |
|
Iu8vec16 |
unsigned |
char |
8 |
16 |
dvec.h |
|
Intel® AVX |
F32vec8 |
unspecified |
float |
32 |
8 |
dvec.h |
F64vec4 |
unspecified |
double |
64 |
4 |
dvec.h |
Similarly, the library for Intel® 64 architecture targeting the Intel® Xeon Phi™ coprocessor x100 product family (formerly code name Knights Corner) provides the following classes (with similar functionality, but for wider vectors - 512bit instead of 128 or 256 bit):
Instruction Set | Class | Signedness | Data Type | Size | Elements | Header File |
---|---|---|---|---|---|---|
Intel® Initial Many Core Instructions (Intel® IMCI) |
F64vec8 |
unspecified |
double |
64 |
8 |
micvec.h |
I64vec8 |
unspecified |
long int |
64 |
8 |
micvec.h |
|
F32vec16 |
unspecified |
float |
32 |
16 |
micvec.h |
|
I32vec16 |
unspecified |
int |
32 |
16 |
micvec.h |
|
Is32vec16 |
signed |
int |
32 |
16 |
micvec.h |
|
Iu32vec16 |
unsigned |
int |
32 |
16 |
micvec.h |