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,rs6000] disable mfcr pattern for TARGET_ISEL


On Wed, Jul 21, 2010 at 12:34:17PM -0400, David Edelsohn wrote:
> On Wed, Jul 21, 2010 at 11:51 AM, Nathan Froyd <froydnj@codesourcery.com> wrote:
> > 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
> > TARGET_MFCRF as well.  Will !TARGET_ISEL || TARGET_MFCRF DTRT?
> 
> 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.

Whoops, yes.

Is there a way we can move this forward?

-Nathan


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