Haswell FMA指令生成非正规数

roh*_*san 3 simd fma

我正在使用Intel Haswell CPU的FMA指令来优化某些计算.

但是,我发现即使我将MXCSR寄存器设置为DNZ和FTZ模式,这些指令也会生成非正规数.

如何强制这些FMA指令生成0而不是非正规?

我正在使用单精度浮点数据.

Ste*_*non 5

只是为在这个问题上发生的任何人提供一个明确的答案:

就目前所知,FMA指令确实尊重DAZ和FTZ.提问者实际上得到了NaN结果,但由于对表示的字节顺序的混淆而将它们误解为非正规.