我们是否仍然需要在软件中模拟128位整数,或者现在您的普通桌面处理器中是否有对它们的硬件支持?
发布于 2015-12-12 17:18:31
简单的回答是:不!
更详细地说,SSE寄存器是128位宽的,但不存在将它们视为128位整数的指令。充其量,这些寄存器被视为两个64位(无符号)整数。像加法/...这样的操作可以通过将这两个64位值并行相加并手动处理溢出来构造,但不能使用单个指令。实现这一点可能会变得非常复杂和“丑陋”,看这里:
How can I add together two SSE registers
这将不得不为每个基本操作完成,与使用64位通用寄存器(软件中的“仿真”)实现相比,这些操作可能具有可疑的优势。另一方面,这种SSE方法的一个优点是,一旦它被实现,它也将工作于256位整数(AVX2)和512位整数(AVX512),只需进行较小的修改。
https://stackoverflow.com/questions/34234407
复制相似问题