2015-02-07 53 views

回答

5

局限于使用SSSE3意味着没有pinsrq,但你可以这样做:

movq xmm1, r8 
pslldq xmm1, 8 
movq xmm0, rdx 
por xmm0, xmm1 

还有很多其他的方法,但速度更快现在我想不出任何东西。

也许这,如果它不具有旁路延迟:

movq xmm1, r8 
movq xmm0, rdx 
shufpd xmm0, xmm1, 0 

随着SSE4.1你当然可以做

movq xmm0, rdx 
pinsrq xmm0, r8, 1 
+1

原来我可以使用4.1指令(即使编译器信息报告所述的限制)。完美的作品,谢谢。 – IamIC 2015-02-07 09:13:44

+1

也许解包可能比换班更快。但我想这取决于你受限制的端口。 – Mysticial 2015-02-09 00:47:43

相关问题