egcs-1.1.2-24 (Red Hat Linux 6.1) does not define the __i586__ or __i686__
preprocessor flags when the -march=i586 or -march=i686 command line
switches are used. They define the flags __pentium__/__pentiumpro__ in
stead. I think they should define both, as this can lead to miscompiled
kernels and other problems (see e.g. linux/include/linux/linkage.h).
assigned to jakub
gcc 2.95 and 2.96 behaves the same way and I think it is right, just all
programs should use __pentium__/__pentiumpro__/__k6__/__athlon__ defines
and their __tune_ variants. linux/linkage.h has been changed since then
in 2.4, btw.