On 03/16/2010 08:53 PM, H.J. Lu wrote: > The question is what processor macros should "-march=x86-64" define. There > is > > {"x86-64", PROCESSOR_K8, CPU_K8, > PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_NO_SAHF}, > > For -march=x86-64, __k8 is defined. However, real K8 supports: > > {"k8", PROCESSOR_K8, CPU_K8, > PTA_64BIT | PTA_MMX | PTA_3DNOW | PTA_3DNOW_A | PTA_SSE > | PTA_SSE2 | PTA_NO_SAHF}, > > It isn't an issue in i386.c since PROCESSOR_K8 isn't used to check > ISAs. But using __k8 to check ISAs is a problem. > I'm not sure to follow the gory details of your reply, but to me, it seems *really* strange that *now*, on x86_64, "-m32" is not the same as "-m32 -march=-i686" as far as __i686 is concerned...
Paolo.