https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113396
--- Comment #15 from David Binderman <dcb314 at hotmail dot com> --- (In reply to Jakub Jelinek from comment #14) > So, that is -O2 -fgcse-after-reload -fipa-cp-clone -floop-interchange > -floop-unroll-and-jam -fpeel-loops -fpredictive-commoning -fsplit-loops > -fsplit-paths -ftree-loop-distribution -ftree-partial-pre -funswitch-loops > -fvect-cost-model=dynamic -fversion-loops-for-strides > --param=max-inline-insns-auto=30 --param=early-inlining-insns=14 > --param=inline-heuristics-hint-percent=600 --param=inline-min-speedup=15 > --param=max-inline-insns-single=200 Thanks for that. None of the -f flags seems to affect anything. foundBugs $ cat flag.list --param=early-inlining-insns=14 --param=inline-heuristics-hint-percent=600 --param=inline-min-speedup=15 --param=max-inline-insns-auto=30 --param=max-inline-insns-single=200 -O2 foundBugs $ ~/gcc/results/bin/gcc -w -O2 bug998.c && ./a.out checksum = 77A231E6 foundBugs $ ~/gcc/results/bin/gcc -w `cat flag.list` bug998.c && ./a.out checksum = 130B5204 foundBugs $ So it looks like one or more of the --param flags is to blame.