我正在寻找像 PHADDD 这样的指令,仅用于四字。 PHADDQ不存在,有类似的指令吗?
最佳答案
phaddd
不比 2 个随机播放 + 一个垂直添加快,因此只有当您使用 2 个单独的输入时才值得考虑。
如果您打算在两个输入相同的情况下使用它,只需使用 pshufd
复制+交换到另一个向量。 (或者,如果您只想要一个标量 horizontal sum ,甚至 movhlps
也值得考虑将高 64 位提取到另一个寄存器中。)
完全模拟phaddq
,你只需要洗两次就可以得到你的 A B
和C D
输入并给你 A C
和B D
您可以添加向量以获得 A+B 和 C+D 元素。这就是 punpcklqdq
和punpckhqdq
做。 (将quad解压为dq)
关于assembly - Intel 64/IA32 封装水平 ADD 用于四字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59326141/