SSE 中的标量与打包操作
如果你查看任何 SSE 指令表,你可能会注意到有两种基本操作类型:
- 打包指令(汇编指令以 PS 结尾)
- 标量指令(汇编指令以 SS 结尾)
对于大多数操作,有两个版本,一个打包和一个标量。
它们之间有什么区别?很简单:
- 标量操作只操作一个元素,例如单个整数。
- 打包操作并行操作向量中的任何元素,例如它们在单个指令中乘以 4 个 32 位整数。
SSE 通过使用实现 SIMD 范式的打包操作获得性能(使用单个指令,处理多个值)。然而,有时通过在 SSE 寄存器上使用标量操作来避免昂贵的复制是有用的。
另请参见原始来源
Check out similar posts by category:
Performance
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow