This is the mail archive of the
mailing list for the GCC project.
Re: patterns for HImode with predec/preinc on ARM
On Fri, 2004-11-12 at 17:12, Nicolas Pitre wrote:
> On Fri, 12 Nov 2004, Richard Earnshaw wrote:
> > On Thu, 2004-11-11 at 21:23, Nicolas Pitre wrote:
> > > This patch adds HImode with predec/preinc and writeback addressing for
> > > ARM. This is particularly useful to have with some audio processing
> > > algorithms for example. Currently there are patterns for SImode and
> > > QImode but HImode were missing. Asking permission to commit.
> > >
> > > [date] Nicolas Pitre <email@example.com>
> > >
> > > * config/arm/arm.md (strhi_preinc, strhi_predec, loadhi_preinc,
> > > loadhi_predec, loadhisi_preinc, loadhisi_predec): New patterns.
> > I'd rather not. There shouldn't be any need for special patterns for
> > these sorts of cases now that the compiler knows about pre/post_modify.
> > Instead you should check that arm_legitimate_address accepts these cases
> > and handle them there.
> After inspection of arm_legitimate_address it appears that it should
> already handle those cases.
> Also if I delete loadsi_preinc for example, then preincrement with
> writeback on a ldr isn't generated anymore either.
> What am I missing?
For the cases you are seeing it may be necessary to teach combine how to
Currently there are only a limited number of passes in the compiler that
can generate these types of expressions.