SSE指令克隆扩展XMM寄存器

问题描述:

是否有任何SSE指令(高达版本4.2)自动填充四个XMM寄存器与另一个XMM寄存器的四个字的值?SSE指令克隆扩展XMM寄存器

实施例:在字ABCD运行指令将填补4个XMM寄存器:AAAABBBBCCCC,并DDDD

我不相信有一个单一的操作,但四个pshufd操作(每个目标一个)将完成这项工作;见http://lists.apple.com/archives/perfoptimization-dev/2007/Feb/msg00002.html(第一个代码示例,在movd指令之后)。有类似的变种pshufd来复制寄存器的其他部分。我相信指令中使用的常数对于寄存器的四个部分是0,85,170和255。

+0

啊,真的很酷!谢谢! :) – Mehrdad 2011-03-15 02:50:59