<>2 SIMD指令集使用介绍

**2.1 命名规则

2.1.1 标量运算与矢量运算**
标量运算 _mm_add_ss _mm_sub_ss _mm_mul_ss _mm_div_ss
矢量运算 _mm_add_ps _mm_sub_ps _mm_mul_ps _mm_div_ps
标量(Scalar)运算:例如__m128 _m_add_ss(__m128 a, __m128 b)

矢量(packed)运算:例如__m128 _m_add_ps(__m128 a, __m128 b)

2.1.2 需字节对齐与无需字节对齐
需字节对齐 _mm_load_ps _mm_store_ps
无需字节对齐 _mm_loadu_ps _mm_storeu_ps

2.1.3 整型与浮点型
整型 _mm_add_epi16 _mm_add_epi32
浮点型 _mm_add_ps _mm_add_pd

2.1.4 饱和(Saturate)运算与非饱和运算
饱和运算 _mm_adds_epi8 _mm_subs_epi8
非饱和运算 _mm_add_epi8 _mm_sub_epi8
饱和度运算意味着超出某个“最大”值的值被设置为“最大”,而低于“最小值”的值被设置为“最小”。例如,如果对无符号字节进行算术运算,则“128 +
128”为“256”(十六进制0x100),有溢出。正常整

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信