PSHUFD SHUFPD有什么区别
我阅读了这两个操作的手册描述,但还不了解差异。有人可以用示例解释ShufPD与PSHUFD的比较吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我阅读了这两个操作的手册描述,但还不了解差异。有人可以用示例解释ShufPD与PSHUFD的比较吗?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
pshufd
将32位作为一个单位进行洗牌。Shufpd
将64位作为一个单位进行洗牌。pshufd
单个寄存器中的混音。shufpd
可以合并2个寄存器。PSHUFD
具有单独的源和目标操作数,因此您有时可以在寄存器之间保存副本。pshufd
带有浮点)或用整数使用shufpd
)可能会导致 bypass延迟。以下是来自英特尔文档的复制粘贴,该文档用伪代码解释了每个操作。当您仔细阅读时,差异非常明显。
例子?
您不能使用
pshufd
进行此操作,但是有时两者都可以用于同一任务。pshufd
shuffles 32 bits as a unit.shufpd
shuffles 64 bits as a unit.pshufd
shuffles within a single register.shufpd
can merge-shuffle 2 registers.pshufd
has a separate source and destination operand, so you can sometimes save a copy between registers.pshufd
with floating points, orshufpd
with integers) may cause a bypass delay.Below is a copy paste from the Intel docs explaining each operation with pseudocode. The difference is very clear when you read carefully.
Examples?
You cannot do this with
pshufd
, but sometimes both can be used for the same task.