我想将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可能会有所帮助,但是对于我的问题有更好的解决方案吗?