Intel® C++ Compiler XE 13.1 User and Reference Guides
This topic only applies to Intel® MIC Architecture.
The C++ Class Libraries for Intel® MIC enable Single Instruction, Multiple Data (SIMD) operations.
These libraries provide very similar functionality as the Intel® C++ Class Library does but for wider vectors. This functionality can be used in a code compiled for Intel® MIC Architecture.
For example, the Intel® C++ Class Library for SIMD Extensions 2 provides the following classes:
| Instruction Set | Class | Signedness | Data Type | Size | Elements | Header File |
|---|---|---|---|---|---|---|
|
SIMD Extensions 2 |
F64vec2 |
signed |
double |
64 |
2 |
dvec.h |
|
I128vec1 |
unspecified |
__m128i |
128 |
1 |
dvec.h |
|
|
I64vec2 |
unspecified |
long int |
64 |
4 |
dvec.h |
|
|
Is64vec2 |
signed |
long int |
64 |
4 |
dvec.h |
|
|
Iu64vec2 |
unsigned |
long int |
32 |
4 |
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 |
Similarly, the Intel® MIC C++ Class Library provides the following classes (with similar functionality, but for wider vectors - 512bit instead of 128bit):
| Instruction Set | Class | Signedness | Data Type | Size | Elements | Header File |
|---|---|---|---|---|---|---|
|
Intel® MIC |
F64vec8 |
signed |
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 |