intro_intrinsics
- Date:
03-30-2018
NAME
intro_intrinsics - Introduction to Cray C/C++ compiler support for Intel intrinsic functions
IMPLEMENTATION
Cray Linux Environment (CLE)
DESCRIPTION
The Cray C/C++ compiler supports Intel and GNU Streaming SIMD Extentions - SSE, SSE2, SSE3, SSSE3, SSE4A, SSE41, SSE42, FMA, AMX, and AVX2 - defined by the <x86intrin.h>, <xmmintrin.h>, <pmmintrin.h>, <smmintrin.h>, and <immintrin.h> header files.
Refer to the latest Intel C/C++ compiler guide for details.
CCE uses the header files associated with GCC 8.1.0.
EXAMPLE
The following examples illustrate that CCE recognizes both the GNU and Intel instrinsic function name for _mm_mul_ps.
Example 1: Intel
#include <xmmintrin.h>
__m128 myfunction( __m128 __A, __m128 __B)
{
return _mm_mul_ps( __A, __B);
}
Example 2: GNU
#include <x86intrin.h> /* SSE */
__v4sf myfunction( __v4sf arg0, __v4sf arg1)
{
return __builtin_ia32_mulps(arg0,arg1);
}