This is the mail archive of the 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,rs6000] disable mfcr pattern for TARGET_ISEL

On Wed, Jul 21, 2010 at 11:51 AM, Nathan Froyd <> wrote:

>> Do processors with TARGET_ISEL also implement MFCRF? ?mfcrf does not
>> have the same expense as mfcr. ?There may be other reasons to use ISEL
>> more aggressively, but I am surprised that this would be a problem on
>> embedded processors with ISEL. ?Is this for old processors with ISEL
>> or did new processors not enable TARGET_MFCRF in GCC?
> The motivation was for some newer embedded processors. ?Older processors
> with ISEL do not implement MFCRF; they can still benefit from using ISEL
> instead of MFCR. ?Some newer embedded processors do implement MFCRF, but
> MFCRF on those implementations carries the same synchronization
> penalties as MFCR, so it's beneficial to use ISEL there as well.

Someone implemented mfcrf as inefficiently as mfcr?  Sigh.

> I see now that the pattern cleverly uses 'Q' so that it works for

I'm not sure what you are trying to capture with the new final
constraint, unless you now are saying that the pattern *is* a good
idea for TARGET_ISEL processors with TARGET_MFCRF, which sort of
contradicts your statement above.

Thanks, David

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