SSE指令克隆 - 扩展XMM寄存器

时间:2011-03-15 02:07:32

标签: x86 sse

是否有任何SSE指令(最高版本4.2)使用另一个XMM寄存器的四个字的值自动填充四个XMM寄存器?

示例:运行单词ABCD上的指令将填充四个XMM寄存器:AAAABBBBCCCCDDDD

1 个答案:

答案 0 :(得分:3)

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