http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49104
--- Comment #2 from Reinhard Foerster <rfo at gmx dot de> 2011-05-22 11:18:42 UTC --- init_vectorized_lexer() is in libcpp/lex.c which is compiled in stage2 by: /home/rf11/src/build1/./prev-gcc/xgcc -B/home/rf11/src/build1/./prev-gcc/ -B/usr/pkg/gcc-4.6/i586-pc-linux-gnu/bin/ -B/usr/pkg/gcc-4.6/i586-pc-linux-gnu/bin/ -B/usr/pkg/gcc-4.6/i586-pc-linux-gnu/lib/ -isystem /usr/pkg/gcc-4.6/i586-pc-linux-gnu/include -isystem /usr/pkg/gcc-4.6/i586-pc-linux-gnu/sys-include -I../../gcc-4.6-20110520/libcpp -I. -I../../gcc-4.6-20110520/libcpp/../include -I../../gcc-4.6-20110520/libcpp/include -g -O2 -fomit-frame-pointer -gtoggle -W -Wall -Wwrite-strings -Wmissing-format-attribute -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wc++-compat -pedantic -Wno-long-long -I../../gcc-4.6-20110520/libcpp -I. -I../../gcc-4.6-20110520/libcpp/../include -I../../gcc-4.6-20110520/libcpp/include -c -o lex.o -MT lex.o -MMD -MP -MF .deps/lex.Tpo ../../gcc-4.6-20110520/libcpp/lex.c Adding "-Q --help=target|grep arch" to the command i get "-march=pentium". Seems to be ok on my i586-linux target. The compiler should not generate cmov* instructions. I get 14 cmov* in the whole file. Adding -march=i386 or -march=i486 doesn't help. Without -O2 most but not all (13 of 14) cmov* go away.