作为他们工作的一部分
高级性能扩展
,英特尔编译器工程师今天发布了一组GNU编译器集合补丁,用于启用APX NDD。
这个
APX
文档将NDD功能描述为“新数据目标”,作为许多整数指令的寄存器,用于新的三操作数指令格式。APX文档没有详细介绍新数据目的地,但今天的GCC补丁封面信确实对其进行了更好的描述:
“NDD是指新的数据目标。在这种形式中,NDD是接收计算结果的新目标寄存器,所有其他操作数(包括原始目标操作数)都变为只读源操作数。
现有形式|现有语义|NDD扩展|NDD语义
INC r/m|r/m:=r/m+1|INC ndd,r/m|ndd:=r/m+1
SUB r/m,imm|r/m:=r/m-imm|SUB ndd,r/m,imm|ndd(v):=r/m-imm
SUB r/m,reg|r/m:=r/m-reg|SUB ndd,r/m,reg |ndd(v):=r/m-reg
SUB reg,r/m|reg:=reg-r/m|SUB ndd,reg,r/m |ndd(v):=reg-r/m从理论上讲,它将为编译器优化提供更大的灵活性。
在本系列补丁中,我们将支持以下说明作为NDD的基本支持:
INC、DEC、NOT、NEG、ADD、SUB、ADC、SBB、AND、OR、XOR、SAL、SAR、SHL、SHR、RCL、RCR、ROL、ROR、SHLD、SHRD、CMOVcc“
这16个补丁
列出对英特尔APX NDD的初步支持。
正在进行功能工作
GCC 14
设置为
几天后结束
as they embark on their next stage of development, it's looking like Intel APX enablement in full won't be wrapped up for this next annual GCC compiler release due out in early 2024... Unless the GCC developers decide to accept new APX code late in the cycle. So as such it might not be until GCC 15 in early 2025 when the Intel APX support is wrapped up. Presumably it's not going to be until 2025~2026 anyhow until finding Intel processors shipping with Advanced Performance Extensions support.