gcc的-ffast-math有bug??

[复制链接]
查看11 | 回复7 | 2021-1-29 05:13:14 | 显示全部楼层 |阅读模式
某程序用到一个函数,传递的参数在调用函数的地方看没问题,但一进入到函数那个参数就变成nan,汗
后来把编译时加的-ffast-math参数去了就一切正常,改用icc也一切正常……
PS:i686的gcc4.4.5
回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层

4.4.5发布一年多了。。。
现在是4.4.7
$gcc-vUsingbuilt-inspecs.Target:x86_64-w64-mingw32Configuredwith:../gcc-4.4/configure--prefix=/gcc--enable-threads--disable-nls--disable-win32-registry--disable-werror--disable-shared--disable-bootstrap--build=x86_64-w64-mingw32CC=gcc-svnCXX=g++-svnThreadmodel:win32gccversion4.4.720110901(prerelease)(GCC)
ILBSD (XMaster) 在 ta 的帖子中提到:某程序用到一个函数,传递的参数在调用函数的地方看没问题,但一进入到函数那个参数就变成nan,汗后来把编译时加的-ffast-math参数去了就一切正常,改用icc也一切正常……PS:i686的gcc4.4.5

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
嗯,哪天升级一下再试试看coolypf (CFC) 在 ta 的帖子中提到:4.4.5发布一年多了。。。现在是4.4.7$gcc-vUsingbuilt-inspecs.Target:x86_64-w64-mingw32Configuredwith:../gcc-4.4/configure--prefix=/gcc--enable-threads--disable-nls--disable-win32-registry--disable-werror--disable-shared--disable-bootstrap--build=x86_64-w64-mingw32CC=gcc-svnCXX=g++-svnThreadmodel:win32gccversion4.4.720110901(prerelease)(GCC)...........................

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
用4.5.3的路过……
ILBSD (XMaster) 在 ta 的帖子中提到:嗯,哪天升级一下再试试看

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
-ffast-math参数去掉了不爽啊,代码跑的时间多了N多倍当然用icc是既快又没问题的Casper (Ricercara6) 在 ta 的帖子中提到:用4.5.3的路过……

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
能弄出来一个最小的示例程序么?不一定是编译器的问题。ILBSD (XMaster) 在 ta 的帖子中提到:某程序用到一个函数,传递的参数在调用函数的地方看没问题,但一进入到函数那个参数就变成nan,汗后来把编译时加的-ffast-math参数去了就一切正常,改用icc也一切正常……PS:i686的gcc4.4.5

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
刚才再想重复这个问题然后发现死活也重现不了了……奇怪,可能我哪个地方SB掉了minux (Linux:20Years) 在 ta 的帖子中提到:能弄出来一个最小的示例程序么?不一定是编译器的问题。

回复

使用道具 举报

千问 | 2021-1-29 05:13:14 | 显示全部楼层
我觉得可能是程序做了不portable的假设了。。。ILBSD (XMaster) 在 ta 的帖子中提到:刚才再想重复这个问题然后发现死活也重现不了了……奇怪,可能我哪个地方SB掉了minux (Linux:20Years) 在 ta 的帖子中提到:能弄出来一个最小的示例程序么?不一定是编译器的问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行