是否有任何指令要在MMX寄存器中添加所有字节?

时间:2013-01-07 18:40:36

标签: x86 add mmx

我需要计算MMX寄存器中4个整数的总和。例如,我有这个MMX寄存器: enter image description here 我想得到这个结果(我不介意它是在同一个寄存器中还是在正常寄存器中): enter image description here

我想知道是否有执行该操作的指令。我在windows中使用x86程序集。 我的第一个猜测是将4 1放入另一个MMX寄存器并调用PMADDWD,这样我最终得到[X1 + X2] [X3 + X4],但我认为这很脏。

提前致谢。

1 个答案:

答案 0 :(得分:2)

PMADDWD实际上是一种很好的求和方式 - 即使你通过使用1的被乘数来“浪费”乘法运算,你也可以免费得到扩展(解包)操作,所以你得到了单一指令中的很多价值。