[CONFIRMED] gcc-4.8.1 tree-optimization regression
Posted: Sat Jul 27, 2013 6:49 pm
On fedora19 on my Core 2 Duo E7500, g++ throws an ICE if I set set -march=native -mtune=native and supply both -ffast-math and -ftree-parallelize-loops=2 (from setting CPU_SMP = 2).
As a temporary workaround, I have removed -ffast-math, which allows me to build trunk.
Klauss advised me to fill in a bug-report with gcc, but I doubt it's worth the hassle tbh.
As an aside, I noticed a few small issues in the root trunk/vegastrike/CMakeLists.txt file:
1./ -ffast-math implies -fassociative-math and -funsafe-math-optimizations, making the latter two redundant (from 'man gcc'):
2./ I can set CPUAMD_k10, but there's no actual optimization settings for that option? Note that the settings below have -ffast-math removed per the above.
As a temporary workaround, I have removed -ffast-math, which allows me to build trunk.
Code: Select all
[ermo@sheila vegastrike]$ gcc --version
gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1)
As an aside, I noticed a few small issues in the root trunk/vegastrike/CMakeLists.txt file:
1./ -ffast-math implies -fassociative-math and -funsafe-math-optimizations, making the latter two redundant (from 'man gcc'):
Code: Select all
-ffast-math
Sets -fno-math-errno, -funsafe-math-optimizations, -ffinite-math-only,
-fno-rounding-math, -fno-signaling-nans and -fcx-limited-range.
(...)
-funsafe-math-optimizations
Enables -fno-signed-zeros, -fno-trapping-math, -fassociative-math and -freciprocal-math.
Code: Select all
OPTION(CPUAMD_k10 "Enable AMD K10 optimizations (Athlon2)"
OFF )
(...)
IF(CPUAMD_k8)
SET(CPU_OPTS "-mtune=athlon64 -mfpmath=sse -msse2 -mmmx -m3dnow -ftree-vectorize -fprefetch-loop-arrays ")
ELSEIF(CPUAMD_K9)
SET(CPU_OPTS "-mtune=k8-sse3 -mfpmath=sse -msse3 -mmmx -m3dnow -ftree-vectorize -funroll-loops ")
ELSEIF(CPUINTEL_p4)
SET(CPU_OPTS "-mtune=pentium4 -mfpmath=sse -msse2 -mmmx -ftree-vectorize -funroll-loops ")
(...)