pextrd vs psrldp + movd vs others,哪个提取一个元素更好?

时间:2013-06-21 07:43:54

标签: sse simd sse2

我需要在没有AVX2的情况下实现类似vpgatherdd的机制。

说,我在xmm0中打包了4个i32偏移量。我将需要提取xmm0中的每个元素,以执行mov reg, [base + offset]作业。

问题在于我应该如何提取元素?

pextrd,其等待时间为3.而且我不会像流一样这样做,每次动态计算偏移量为8或4。

还有psrldq,其延迟为1,只有一个movd,似乎我可以在2个周期内完成提取工作。

虽然1个周期不多,但我想知道哪个更好。 并且下一次8偏移提取会隐藏这种延迟吗?

是否存在选择长延迟指令与短延迟指令组的一般规则?

0 个答案:

没有答案