开源 LLVM 编译器今天放弃了对 AMD 早已遗忘的 3DNow!指令的支持!这种SIMD 扩展已经废弃了大约十五年,它最早诞生于 K6-2 时代。从 Bulldozer 时代开始,AMD 处理器上就再也没有出现过 3DNow!
2011 年的 AMD A8-3870K 是最后一款支持 3DNow 指令的处理器。
对于那些真正迎合老式 AMD 处理器的用户,Assembly 代码(包括使用 LLVM 的内联 Assembly 代码)仍然支持 3DNow!但是,3DNow!宏和选项已被移除,相关的头文件也已废弃,所有 3DNow 固有函数都已与编译器内置函数一起被清除。
经典的K6-2处理器
LLVM 19 Git 在过去一小时内的这次提交删除了 3DNow!
"这组指令仅在 AMD K6-2 芯片(1998 年推出)和"推土机"系列(2011 年推出)之前支持。这是全面取消 MMX 寄存器使用的前奏。由于几乎没有人使用 3DNow 内核,甚至没有现代硬件实现它们,因此简单移除似乎是最好的选择。"
这项工作是 LLVM 计划的一部分,LLVM 计划用 SSE 等价物实现 MMX 本征,进而从 LLVM IR 和 LLVM 后端移除 MMX 类型/本征。
作为下一个稳定的 LLVM 编译器版本,LLVM 19 将于 9 月至 10 月间发布,现在 AMD 3DNow! 支持已被移除。