http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52066
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-31 14:54:32 UTC --- Created attachment 26535 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26535 i386 patch Incremental patch to speed up i386 *CLASS_P macros. I agree it isn't as clean as defining them using the subsets (now used just in rtl checking during initialization), but seems to be faster. Timing with both patches: ~/timing --drop 20 -c 2500 ./cc1 empty.c -quiet Strip out best and worst 500 realtime results minimum: 0.006076317 sec real / 0.000018264 sec CPU maximum: 0.034520375 sec real / 0.000205298 sec CPU average: 0.006284155 sec real / 0.000036616 sec CPU stdev : 0.000048897 sec real / 0.000004400 sec CPU [12] .text PROGBITS 00000000004b21a0 0b21a0 78e774 00 AX 0 0 16 (i.e. it completely undoes all the code growth by the first patch).