This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, i386]: Implement SImode/DImode setcc insn patterns


On Mon, Oct 12, 2009 at 9:57 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
>
>>>>>> ?/* X86_TUNE_PARTIAL_FLAG_REG_STALL */
>>>>>> ?m_CORE2 | m_GENERIC,
>>>>>
>>>>> This flag was added by H.J., let's ask him.
>>>>>
>>>>
>>>> I added this for Core 2. We can leave Pentium Pro out.
>>>
>>> Yeah, but why? Doesn't ppro have partial flag register stalls as well?
>>
>> It is a new optimization for Core 2. I don't remember it was recommended
>> for Pentium Pro.
>
> I remember Agner Fog's optimization guide mentioning (years before Core 2)
> that PPro is slow on code such as this:
>
> xxx:
> ? ? ? ?...
> ? ? ? ?sub eax,1 ? ? ? ; touches all
> ? ? ? ?inc edx ? ? ? ? ; touches zf, not cf
> ? ? ? ?jae xxx ? ? ? ? ; jumps based on cf
>
> I'm not sure how often this happens in GCC-produced code.
>

If it helps, I don't have a problem adding m_PPro  to it.

-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]