https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86423
Bug ID: 86423 Summary: Omnetpp is slower on PowerPC using -ffast-math than not using -ffast-math Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: meissner at gcc dot gnu.org Target Milestone: --- I did some Spec 2006 runs, and one of the runs I was comparing normal speed with -ffast-math. As expected a lot of SpecFP benchmarks were faster using the -ffast-math option. However, 3 of the benchmarks were slower, including omnetpp. In particular, cMessageHeap::shiftup(int) [clone .part.16], which is the hotest function took 2,442,614 cycles when compiled with -ffast-math, and 2,378,917 cycles when compiled without -ffast-math. Looking at the profile within the function, we see: The C++ name is cMessageHeap::shiftup(int) [clone .part.16]. Percent Percent | Samples Samples | Line # Filename slowmath fastmath | slowmath fastmath | Line # Filename -------- -------- | -------- -------- | ------ ----------- 39.3521% 40.3151% | 936,158 984,740 | 198 cmsgheap.cc 17.4123% 10.5189% | 414,223 256,938 | 200 cmsgheap.cc 4.6070% 16.3806% | 109,595 400,114 | 43 cmsgheap.cc 14.2110% 14.2290% | 338,071 347,561 | 199 cmsgheap.cc 9.0102% 7.1333% | 214,345 174,237 | 45 cmsgheap.cc 7.4063% 1.8450% | 176,191 45,066 | 44 cmsgheap.cc 3.4912% 4.9701% | 83,054 121,401 | 196 cmsgheap.cc 2.3383% 2.3092% | 55,627 56,405 | 204 cmsgheap.cc 2.1165% 2.2862% | 50,347 55,841 | 46 cmsgheap.cc