On Tue, Mar 16, 2010 at 1:14 PM, Paolo Carlini <paolo.carl...@oracle.com> wrote:
> 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.
>

That is not true. The new -m32 default ISA on x86-64 is i686 + MMX + SSE + SSE2.
It is Pentium 4, not i686.  For historical reason, we define __k8
instead of __pentium4.


-- 
H.J.

Reply via email to