MMX 符号扩展
有谁知道如何使用 MMX 寄存器将符号从 16 位字扩展到 32 位字?我想从存储在 MMX 寄存器中的两个 16 位字中获取两个 32 位符号扩展字。不允许使用 SSE4 指令。
问候
Does anyone know how to make sign extension from 16 bits words to 32 bits words using MMX registers? I would like to get two 32 bits sign extended words from two 16 bits words stored in a MMX register. No SSE4 instructions allowed.
Regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以先进行左移(
PSLLD
),然后进行算术右移(PSRAD
),例如使用内在函数:(假设您已经拥有 16 位值在每个 32 位字的低半部分。)
You can just do a left shift (
PSLLD
) followed by an arithmetic right shift (PSRAD
), e.g. using intrinsics:(This is assuming that you already have the 16 bit values in the low halves of each 32 bit word.)