FWIW, here are some numbers comparing the times various --enable-checking=release versions of cc1plus take to compile a set of .ii inputs at -O2. The versions are:
(a) wide-int r205263, where the last merge was made (b) current wide-int with the patches I've posted applied on top (c) trunk r205261, the last wide-int merge point The .ii files were from the (c) version of fold-const.c, cp/parser.c and insn-recog.c. The times are means from 7 runs with the standard deviation in brackets. (The results seem too noisy to just quote the minimum.) fold-const.c cp/parser.c insn-recog.c (a) 5.9204 (0.04578) 4.8329 (0.05010) 28.0811 (0.29829) (b) 5.8783 (0.02788) 4.7865 (0.02841) 25.7909 (0.31766) (c) 5.8507 (0.03329) 4.7756 (0.03786) 25.8563 (0.30302) So (b) seems measurably faster than (a), but the differences between (b) and (c) are within 0.5% at face value and might just be noise. I can do another run once Kenny's finished the patches to shrink the size of widest_int. Thanks, Richard