https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116398
--- Comment #24 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So, I've retried the #c10 testing with the #c18 patch modified to do - int limit = i2_unchanged ? 1200 : INT_MAX; + int limit = i2_unchanged ? (getenv ("COMBLIM") ? atoi (getenv ("COMBLIM")) : 1200) : INT_MAX; $ for i in 0 10 100 200 400 600 800 1000 1200 10000; do echo COMBLIM=$i time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w; COMBLIM=$i time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w; done COMBLIM=0 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 13.60user 0.15system 0:13.80elapsed 99%CPU (0avgtext+0avgdata 320656maxresident)k 0inputs+776outputs (0major+106035minor)pagefaults 0swaps COMBLIM=10 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 13.75user 0.13system 0:13.92elapsed 99%CPU (0avgtext+0avgdata 320776maxresident)k 0inputs+784outputs (0major+106049minor)pagefaults 0swaps COMBLIM=100 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 14.38user 0.14system 0:14.58elapsed 99%CPU (0avgtext+0avgdata 323032maxresident)k 0inputs+808outputs (0major+106701minor)pagefaults 0swaps COMBLIM=200 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 13.61user 0.13system 0:13.78elapsed 99%CPU (0avgtext+0avgdata 323060maxresident)k 0inputs+816outputs (0major+106960minor)pagefaults 0swaps COMBLIM=400 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 13.66user 0.15system 0:13.88elapsed 99%CPU (0avgtext+0avgdata 323224maxresident)k 0inputs+816outputs (0major+106994minor)pagefaults 0swaps COMBLIM=600 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 14.30user 0.13system 0:14.47elapsed 99%CPU (0avgtext+0avgdata 323208maxresident)k 0inputs+832outputs (0major+107229minor)pagefaults 0swaps COMBLIM=800 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 13.51user 0.13system 0:13.71elapsed 99%CPU (0avgtext+0avgdata 322008maxresident)k 0inputs+832outputs (0major+107302minor)pagefaults 0swaps COMBLIM=1000 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 14.04user 0.13system 0:14.22elapsed 99%CPU (0avgtext+0avgdata 318300maxresident)k 0inputs+840outputs (0major+106301minor)pagefaults 0swaps COMBLIM=1200 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 13.87user 0.13system 0:14.06elapsed 99%CPU (0avgtext+0avgdata 315260maxresident)k 0inputs+824outputs (0major+106158minor)pagefaults 0swaps COMBLIM=10000 time ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w 20.57user 0.15system 0:20.79elapsed 99%CPU (0avgtext+0avgdata 334344maxresident)k 0inputs+912outputs (0major+114533minor)pagefaults 0swaps $ rm pr101523.ii.*; COMBLIM=0 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 22689 merges: 21761 extras: 5225 successes: 201 two-insn combine: 200 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=10 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 22702 merges: 21774 extras: 5238 successes: 214 two-insn combine: 213 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=100 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 23581 merges: 22653 extras: 5930 successes: 820 two-insn combine: 819 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=200 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 25041 merges: 24113 extras: 6775 successes: 1467 two-insn combine: 1466 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=400 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 26794 merges: 25853 extras: 7798 successes: 2229 two-insn combine: 2228 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=600 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 28891 merges: 27950 extras: 8673 successes: 2724 two-insn combine: 2723 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=800 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 30524 merges: 29577 extras: 9486 successes: 3312 two-insn combine: 3311 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=1000 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 40752 merges: 39805 extras: 12155 successes: 3837 two-insn combine: 3836 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=1200 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 44399 merges: 43446 extras: 13218 successes: 4142 two-insn combine: 4141 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0 $ rm pr101523.ii.*; COMBLIM=10000 ./cc1plus -quiet -nostdinc -O2 pr101523.ii -mlong-double-128 -march=z196 -fpreprocessed -w -fdump-rtl-combine-stats; awk '/^attempts:/{attempts+=$2}/^merges:/{merges+=$2}/^extras:/{extras+=$2}/^successes/{successes+=$2}/^two-insn combine:/{two+=$3}/^three-insn combine:/{three+=$3}/^four-insn combine:/{four+=$3}/^insn-with-note combine/{note+=$3}END{printf "attempts: %d\nmerges: %d\nextras: %d\nsuccesses: %d\ntwo-insn combine: %d\nthree-insn combine: %d\nfour-insn combine: %d\ninsn-with-note combine: %d\n", attempts, merges, extras, successes, two, three, four, note}' pr101523.ii.*combine* attempts: 204792 merges: 203800 extras: 52585 successes: 8924 two-insn combine: 8923 three-insn combine: 1 four-insn combine: 0 insn-with-note combine: 0