On 03/16/2010 10:08 PM, H.J. Lu wrote: > I don't think it is a good idea to change the meaning of the macros years >> after they have been introduced. >> You could add a different macro if you want. >> Why should be __i686 special? i686 does have __i586 features too, should it >> define also __i586, __i486? Should __core2 define __pentium4? Etc., etc. >> >> > I don't think we should add those at all. > About i586 & co, I see now that you are right.
To recapitulate my point, it just seemed strange to me, that, before and after the recent changes, __i386 is defined, whereas __i686 is defined only if I pass -march=i686. On the other hand, after the recent changes, which essentially change the default subtarget to -march=i686, __i686 is not defined by default. Paolo.