In http://gcc.gnu.org/ml/gcc-patches/2007-09/msg01702.html I describe tools to generate sets of GCC command-line options used to find combinations that don't work together. Using those tools and a setup to build and run (with short test input) individual tests from SPEC CPU2000, I've found the following 7 wrong-code failures and 15 ice-on-valid-code failures on powerpc64-linux. A few of them have several options, but many are just a single change from -O2 or -Os.
Before I start minimizing test cases and filing bugs I'd like some feedback about failures that aren't likely to be investigated so I can ignore those for now. There might be combinations that we'd want to disallow. ####################################################################### # Failures in SPEC CPU2000 tests on powerpc64-linux found by using # command lines generated by GENOPTS. #---------------------------------------------------------------------- # Run/miscompare failures (wrong-code) #---------------------------------------------------------------------- # gcc, perlbmk run fails; -m32 -O2 -ftrapv -Os -ftrapv # perlbmk run fails; -m32 # (documented as experimental) -O2 -fsched2-use-superblocks # perlbmk run fails; -m32 -O2 -fno-trapping-math -Os -fno-trapping-math # perlbmk run fails; -m32 -Os -funroll-all-loops # perlbmk run fails; -m32 -Os -funroll-loops -fno-tree-copyrename -fno-tree-dce # gap, gcc, vortex run fails; -m64 -fpack-struct # perlbmk run fails; -m64 -Os -fno-forward-propagate -fforce-addr -fpack-struct #---------------------------------------------------------------------- # Build failures (mostly ice-on-valid-code) #---------------------------------------------------------------------- # all tests fail with unrecognizable insn, segfault; -m32/-m64 -O2 -frtl-abstract-sequences -Os -frtl-abstract-sequences # all tests fail with ICE in verify_ssa; -m32/-m64 -O2 -fipa-pta -Os -fipa-pta # all tests fail with ICE in verify_curr_properties; -m32/-m64 -O2 -fno-tree-salias -Os -fno-tree-salias # all tests fail with ICE in verify_curr_properties; -m32/-m64 # (-ftree-scev-cprop is not documented) -O2 -fno-tree-ch -fno-tree-scev-cprop # almost all tests fail with ICE in verify_flow_info; m32/-m64 -O2 -fmodulo-sched -freorder-blocks-and-partition -Os -fmodulo-sched -freorder-blocks-and-partition # almost all tests fail with vector VEC index domain error; -m32/-m64 -O2 -fno-tree-ch -fno-tree-copy-prop -fno-tree-dominator-opts -fno-tree-store-copy-prop -fno-tree-vrp # ten tests fail with missing barrier after block with -O2; -m64 # fourteen tests fail with missing barrier after block with -Os; -m64 # (documented as experimental) # failures might be somewhat intermittent -O2 -fsched2-use-superblocks -Os -fsched2-use-superblocks # mesa fails with invalid rtl sharing; -m64 -O2 -fno-trapping-math -Os -fno-trapping-math # crafty fails with ICE in local_cprop_pass; -m32/-m64 -O2 -ftrapv -Os -ftrapv # crafty, vortex fail with multiple or missing defs; -m32/-m64 -O2 -fno-unit-at-a-time # gcc fails with ICE in verify_flow_info; -m32 -Os -fno-forward-propagate -fno-guess-branch-probability -fno-move-loop-invariants -fno-tree-dominator-opts -fno-tree-loop-optimize # gcc fails with missing defs; -m32 -Os -fno-unit-at-a-time # gzip fails with ICE in build_polynomial_chrec; -m32/-m64 -Os -fno-tree-ch -fno-tree-scev-cprop # ammp, gap, gcc, perlbmk, twolf, vortex fail with ICE in # vrp_evaluate_conditional_warnv; -m32/-m64 -Os -fno-tree-copy-prop -fno-tree-dce -fipa-cp # twolf fails with ICE (segfault); -m64 -Os -fsched-stalled-insns # eon build fails with (valid?) error; -m32/-m64 -fpack-struct #---------------------------------------------------------------------- Janis