在回答中,jww指出 1 的补码仍用于编码英特尔架构上的向量指令,Ruslan 澄清说,随着自动向量化变得普遍,这些指令被更多地使用。
1 的补码是否有一个优势导致它继续在这些指令中使用,或者它只是出于历史原因而使用?
引用 jww:
来自英特尔® 64 和 IA-32 架构软件开发人员手册2A,第 3-8 页:
3.1.1.8 描述部分
然后通过信息部分的数量来描述每条指令。“描述”部分更详细地描述了指令的用途和所需的操作数。
描述部分可能使用的术语摘要:
* Legacy SSE:指 SSE、SSE2、SSE3、SSSE3、SSE4、AESNI、PCLMULQDQ 以及任何未来的指令集,这些指令集引用 XMM 寄存器并在没有 VEX 前缀的情况下进行编码。
* VEX.vvvv。指定源或目标寄存器的 VEX 位域(以 1 的补码形式)。
* rm_field:ModR/M r/m 字段和任何 REX.B
的简写 * reg_field:ModR/M reg 字段和任何 REX.R 的简写