什么是ICC中的-fp-model fast = 1的GCC / Clang等价物

时间:2016-04-08 13:58:27

标签: gcc floating-point clang icc

正如我在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最相似?

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中的内容并尝试将这些标志组合起来以达到预期的效果。