You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解读Intel SIMD Intrinsic的晦涩命名与缩写?

SIMD Intrinsic命名缩写解读指南

Intel SIMD Intrinsic的命名遵循固定规则,掌握后可快速拆解复杂指令名,核心结构为:_mm[256/512]_<操作缩写>_<数据类型后缀>

一、通用结构说明

  • _mm:对应128位SSE指令集;_mm256对应256位AVX;_mm512对应512位AVX-512
  • <操作缩写>:由单字母或组合缩写构成,描述指令核心操作逻辑
  • <数据类型后缀>:明确指令操作的元素类型及符号属性

二、核心缩写对照表

操作类型缩写

  • dp:点积(Dot Product)
  • mul:乘法(Multiply)
  • add:加法(Add)
  • madd:乘加(Multiply-Add)
  • mpsadbw:逐块绝对差求和(Mean of Absolute Differences of Blocks, Word-sized)
  • dwuuds:无符号双字-单字无符号点积(Dot Product of Unsigned Doublewords and Unsigned Words, with Saturation)
  • maddubs:无符号字节×有符号字节累加并饱和到有符号16位(Multiply Add Unsigned Byte to Signed Byte, Saturate)
  • s:饱和(Saturate,结果超出范围时截断到边界值)
  • u:无符号(Unsigned,对应有符号的s)
  • p:Packed(批量操作,处理向量所有元素;与标量操作的s对应)
  • ss:单精度浮点数标量操作(Scalar Single)
  • sd:双精度浮点数标量操作(Scalar Double)

数据类型后缀

  • pd:批量双精度浮点数(Packed Double-precision)
  • ps:批量单精度浮点数(Packed Single-precision)
  • epi8:批量有符号8位整数(Packed Signed 8-bit Integers)
  • epu8:批量无符号8位整数(Packed Unsigned 8-bit Integers)
  • epi16:批量有符号16位整数(Packed Signed 16-bit Integers)
  • epu16:批量无符号16位整数(Packed Unsigned 16-bit Integers)
  • epi32:批量有符号32位整数(Packed Signed 32-bit Integers)
  • epu32:批量无符号32位整数(Packed Unsigned 32-bit Integers)
  • epi64:批量有符号64位整数(Packed Signed 64-bit Integers)
  • epu64:批量无符号64位整数(Packed Unsigned 64-bit Integers)

三、复杂指令名拆解示例

  • _mm_maddubs_epi16:

    • _mm:128位SSE指令
    • maddubs:无符号字节与有符号字节相乘,结果累加后做饱和处理
    • epi16:输出为批量有符号16位整数
  • _mm_mpsadbw_epu8:

    • _mm:128位SSE指令
    • mpsadbw:对多块无符号8位数据计算绝对差,求和后得到字(16位)大小的结果
    • epu8:输入为批量无符号8位整数
  • _mm256_dpwuuds_epi32:

    • _mm256:256位AVX指令
    • dpwuuds:无符号双字(32位)与无符号字(16位)执行点积操作,结果做饱和处理
    • epi32:输出为批量有符号32位整数

内容的提问来源于stack exchange,提问作者user541686

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:25:02