我正在使用 Intel Haswell CPU 的 FMA 指令来优化一些计算。
但是,我发现即使我将 MXCSR 寄存器设置为 DNZ 和 FTZ 模式,这些指令也会生成异常。
我如何强制这些 FMA 指令生成 0 而不是非正规值?
我正在处理单精度 float 据。
最佳答案
只是为遇到这个问题的任何人提供一个明确的答案:
据了解,FMA 指令确实遵守 DAZ 和 FTZ。提问者实际上得到了 NaN
结果,但由于对表示的字节序的混淆,将它们误解为非规范化。
关于simd - Haswell FMA 指令生成异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32657390/