gpt4 book ai didi

x86 - 现代处理器中是否有对 128 位整数的硬件支持?

转载 作者:行者123 更新时间:2023-12-02 14:41:32 28 4
gpt4 key购买 nike

我们是否仍然需要在软件中模拟 128 位整数,或者现在普通桌面处理器中是否有对它们的硬件支持?

最佳答案

x86-64 指令集可以使用一条指令执行 64 位*64 位到 128 位操作(mul 表示无符号 imul 表示每个操作数有符号)所以我认为在某种程度上 x86 指令集确实包含对 128 位整数的一些支持。

如果您的指令集没有执行 64 位*64 位到 128 位的指令,那么您需要 several instructions to emulate this .

这就是为什么 x86-64 可以用很少的指令完成 128 位 * 128 位到低 128 位操作。例如 GCC

__int128 mul(__int128 a, __int128 b) {
return a*b;
}

生成此程序集

imulq   %rdx, %rsi
movq %rdi, %rax
imulq %rdi, %rcx
mulq %rdx
addq %rsi, %rcx
addq %rcx, %rdx

它使用一条 64 位 * 64 位到 128 位指令、两条 64 位 * 64 位到低 64 位指令以及两条 64 位加法。

关于x86 - 现代处理器中是否有对 128 位整数的硬件支持?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34234407/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com