正如我在Intel's website上所读到的那样:
英特尔编译器使用/ fp-model fast = 1作为默认值。这种优化 有利于速度超过标准合规性。您可以使用编译器选项 -mieee-fp获得兼容代码。
我对国际刑事法院fp-model选项的理解是(如果我错了,请纠正我):
precise
对应于GCC和Clang中的默认设置,fast=2
类似于-ffast-math
,fast=1
介于两者之间。 GCC或Clang中的哪些选项会使浮点数学与英特尔的默认-fp-model fast=1
最相似?
答案 0 :(得分:2)
从GCC的set_fast_math_flags函数开始,ffast-math
选项(至少在GCC 5.2中)相当于
(1)不安全的选择组:
-fno-trapping-math
-fassociative_math
-fno-signed-zeros
-freciprocal-math
(2)其他人:
-ffinite-math-only
-fno-errno-math
-fno-signaling-nans
-fno-rounding-math
-fcx-limited-range
第一组缩写为-funsafe_math_optimizations
。
你应该弄清楚ICC中的内容并尝试将这些标志组合起来以达到预期的效果。