小编ped*_*zer的帖子

如何将4个32位浮点数存储到一个128位xmm寄存器中?

我想将4个32位浮点数存储到xmm0中,其中每个浮点数都存储在一个128位寄存器中。例如,我有4个浮点数:xmm1:10.2 xmm2:5.8 xmm3:9.3 xmm4:12.7(每个仅使用128位寄存器中的32位),并希望将它们像这样存储到xmm0中:10.2、5.8、9.3、12.7这样它们存储在xmm0内部。

然后,在对xmm0做一些数学运算(例如,mulps ..)后,我还想分别提取它们中的每一个。

我尝试使用movlps和movhps,但它们仅使用内存进行加载,而不使用128位寄存器作为源。由于性能,我不想使用任何其他内存。

PSLLDQ可能会有所帮助,但是对于我的问题有更好的解决方案吗?

x86 assembly sse x86-64 simd

3
推荐指数
1
解决办法
96
查看次数

标签 统计

assembly ×1

simd ×1

sse ×1

x86 ×1

x86-64 ×1