On Tue, Mar 16, 2010 at 1:58 PM, Jakub Jelinek <ja...@redhat.com> wrote: > On Tue, Mar 16, 2010 at 09:53:30PM +0100, Paolo Carlini wrote: >> On 03/16/2010 09:40 PM, H.J. Lu wrote: >> > We never defined __i686 for -m32 by default on x86_64. Here is >> > a patch to define __i686 for -m32 if the processor supports it. >> > >> If I understand correctly the logic underlying the recent work in this >> area, I think we certainly want your patch, because otherwise we have >> kind of an inconsistent situation: the i686 facilites *are* available, >> but __i686 is undefined. >> >> Maybe the patch should go to gcc-patches to... > > 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. i386.c has /* For sane SSE instruction set generation we need fcomi instruction. It is safe to enable all CMOVE instructions. */ if (TARGET_SSE) TARGET_CMOVE = 1; Why not check __SSE__ or __SSE2__? -- H.J.