Intel 的simd 指令不断地更新,相应的simd 头文件也随之产生。很容易搞混乱,在此我列出了相应的对应关系。
zmmintrin.h
mic 512bit
immintrin.h (Intel(R) AVX compiler intrinsics 256bit)
=> #include <wmmintrin.h>
wmmintrin.h ( Principal header file for AES and PCLMULQDQ intrinsics.)
=> #include<nmmintrin.h>
nmmintrin.h ( Principal header file for Intel(R) Core(TM) 2 Duo processor
SSE4.2 intrinsics.)
=> #include <smmintrin.h>
smmintrin.h
Principal header file for Intel(R) Pentium(R) 4 processor SSE2 intrinsics
Principal header file for Intel(R) Core(TM) 2 Duo processor SSE4.1 intrinsics
=>#include <tmmintrin.h>
tmmintrin.h
Add horizonally packed [saturated] words, double words,
Subtract horizonally packed [saturated] words, double words,
=> #include <pmmintrin.h> // PSC, and by inclusion X86, instrinsics
pmmintrin.h
Principal header file for Intel(R) Pentium(R) 4 processor SSE3 intrinsics
=> #include <emmintrin.h>
emmintrin.h
Principal header file for Intel(R) Pentium(R) 4 processor SSE2 intrinsics
=> #include <xmmintrin.h>
xmmintrin.h
sse
=># include <mmintrin.h>
mmintrin.h
mmx
zmmintrin.h
mic 512bit
immintrin.h (Intel(R) AVX compiler intrinsics 256bit)
=> #include <wmmintrin.h>
wmmintrin.h ( Principal header file for AES and PCLMULQDQ intrinsics.)
=> #include<nmmintrin.h>
nmmintrin.h ( Principal header file for Intel(R) Core(TM) 2 Duo processor
SSE4.2 intrinsics.)
=> #include <smmintrin.h>
smmintrin.h
Principal header file for Intel(R) Pentium(R) 4 processor SSE2 intrinsics
Principal header file for Intel(R) Core(TM) 2 Duo processor SSE4.1 intrinsics
=>#include <tmmintrin.h>
tmmintrin.h
Add horizonally packed [saturated] words, double words,
Subtract horizonally packed [saturated] words, double words,
=> #include <pmmintrin.h> // PSC, and by inclusion X86, instrinsics
pmmintrin.h
Principal header file for Intel(R) Pentium(R) 4 processor SSE3 intrinsics
=> #include <emmintrin.h>
emmintrin.h
Principal header file for Intel(R) Pentium(R) 4 processor SSE2 intrinsics
=> #include <xmmintrin.h>
xmmintrin.h
sse
=># include <mmintrin.h>
mmintrin.h
mmx