Intel文档里的幽灵指令vfmaddrnd231pd
Who Is Vfmaddrnd231pd?
我在Intel软件开发者手册中发现了一条名为vfmaddrnd231pd的FMA指令,它号称能实现逐指令的舍入控制,理论上能让算法快得惊人。然而,当尝试在GNU汇编器中调用它时,编译器直接报错;在Haswell处理器上实际运行,更是触发了#UD(未定义指令)异常。更诡异的是,这条指令在2024版手册中赫然在列,却在2026版中彻底消失。这看起来不像简单的文档笔误,因为手册中甚至包含了专属的伪代码和表格。我推测Intel可能曾计划推出vfmaddrnd*指令集,却在最后一刻因故取消,却忘了完全清理文档。这条“幽灵指令”究竟是怎么回事?
如果这条指令真的存在,它本可以让任何算术运算都拥有可控的舍入模式,而无需AVX-512,从而使依赖舍入的算法速度变得极快。