simd开发笔记

SIMD(MMX/SSE/AVX)变量命名规范心得
Intel® Intrinsics Guide
SIMD、SSE、AVX指令集

Header Purpose
x86intrin.h Everything, including non-vector x86 instructions like _rdtsc().
mmintrin.h MMX (Pentium MMX!)
mm3dnow.h 3dnow! (K6-2) (deprecated)
xmmintrin.h SSE + MMX (Pentium 3, Athlon XP)
emmintrin.h SSE2 + SSE + MMX (Pentium 4, Athlon 64)
pmmintrin.h SSE3 + SSE2 + SSE + MMX (Pentium 4 Prescott, Athlon 64 San Diego)
tmmintrin.h SSSE3 + SSE3 + SSE2 + SSE + MMX (Core 2, Bulldozer)
popcntintrin.h POPCNT (Nehalem (Core i7), Phenom)
ammintrin.h SSE4A + SSE3 + SSE2 + SSE + MMX (AMD-only, starting with Phenom)
smmintrin.h SSE4_1 + SSSE3 + SSE3 + SSE2 + SSE + MMX (Penryn, Bulldozer)
nmmintrin.h SSE4_2 + SSE4_1 + SSSE3 + SSE3 + SSE2 + SSE + MMX (Nehalem (aka Core i7), Bulldozer)
wmmintrin.h AES (Core i7 Westmere, Bulldozer)
immintrin.h AVX, AVX2, AVX512, all SSE+MMX (except SSE4A and XOP), popcnt, BMI/BMI2, FMA
Header files for x86 SIMD intrinsics

SIMD简介

【AI PC端算法优化】一,一步步优化RGB转灰度图算法有讲解些常用指令

并行编程方法与优化实践-刘文志-电子书-在线阅读-网易云阅读 其中关于simd的内容都可以试读,狂喜。

为什么SSE需要16字节对齐,64位机器一次也就存取8字节,只要8字节对齐不就能保证完美的存取了吗?
好像最近几年的intel cpu访问unaligned内存数据,和访问anligned内存数据形成差不多来。呜呜呜,我竟然花了很大功夫去保证数据对齐。。。

2020年12月7日 gcc默认打开__SSE__宏,没有打开__AVX__

posted @ 2020-12-05 21:43  Tifa_Best  阅读(110)  评论(0编辑  收藏  举报