【发布时间】:2013-12-18 01:37:18
【问题描述】:
我是一名学习 x86 和 ARM 架构的学生。
我想知道将多个数据放入 SIMD 寄存器需要多少个周期?
我了解 x86 SSE 的 xmms 寄存器有 128 位大小的寄存器。
如果我想通过 SIMD 指令集和汇编语言将 8 位数据中的 32 个放入堆栈中的 xmms 寄存器之一,该怎么办?
通用寄存器的 PUSH/POP 是否有相同的循环时间?
还是每 8 位数据需要 32 倍的时间?
感谢您的关心和关心!
【问题讨论】:
-
这取决于很多事情。 Agner Fog's tables 是一个很好的参考。但一般来说,你要避免做这种一对一的操作,因为它违背了 SIMD 的目的。