https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87218
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |10.0 Status|NEW |RESOLVED Known to fail| |9.5.0 Resolution|--- |FIXED Known to work| |10.1.0, 13.2.1, 14.0 --- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Seems to be good now. Trunk at -O2 takes 2.5s for me. -O1 is slower at 18s with dead store elim1 : 8.44 ( 47%) 0.00 ( 0%) 8.44 ( 46%) 1991k ( 1%) combiner : 6.97 ( 39%) 0.00 ( 0%) 6.96 ( 38%) 16M ( 12%) with -O0 we take 0.5s Quite likely we optimize this too well now to trigger the original behavior (but I do remember some cfgleanup compile-time fixes). -O2 times 11.4: 9s 10.5: 12.7s 9.5: 464s so fixed for GCC 10.