This is the mail archive of the gcc@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: How to implement pattens with more that 30 alternatives


On Mon, 2009-12-21 at 18:44 +0000, Paul Brook wrote:
> > > > I am doing a port in GCC 4.4.0 for a 32 bit target. As a part of
> > > > scheduling framework i have to write the move patterns with more
> > > > clarity, so that i could control the scheduling with the help of
> > > > attributes. Re-writting the pattern resulted in movsi pattern with 41
> > > > alternatives :(
> > >
> > > Use rtl expressions instead of alternatives. e.g. arm.md:arith_shiftsi
> > 
> > Or use the more modern iterators approach.
> 
> Aren't iterators for generating multiple insns (e.g. movsi and movdi) from the 
> same pattern, whereas in this case we have a single insn  that needs to accept 
> many different operand combinartions?

Yes, but that is often better, I suspect, than having too fancy a
pattern that breaks the optimization simplifications that genrecog does.

Note that the attributes that were requested could be made part of the
iterator as well, using a mode_attribute.

R.


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