This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: msp430 port
- From: DJ Delorie <dj at redhat dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: nickc at redhat dot com, law at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Wed, 31 Jul 2013 13:08:56 -0400
- Subject: Re: msp430 port
- References: <51E700D1 dot 702 at redhat dot com> <201307232208 dot r6NM8QpY018297 at greed dot delorie dot com> <51F81F81 dot 4070303 at redhat dot com> <201307310324 dot r6V3OkjY005420 at greed dot delorie dot com> <51F94042 dot 7060903 at redhat dot com>
> > The first doesn't have a clobber, though...
>
> Hmm. Missed that. So the only reason you'd care to include the bic
> in the regular and pattern is if it were a smaller encoding than the
> regular r/0/i alternative.
It is, but the separate pattern picks that out just fine.
> You need to implement the "return" pattern as well as "simple_return".
> They don't actually have to be different, implementation-wise. See
> the i386 version, where both named patterns expand to the same insn.
How is this an advantage from just building the return from the epilog
expander?
> It depends on your requirements. Is it strictly 1, 2, 4 registers? In
> which case it's easiest to use HI, SI, DImode with one output.
It's an arbitrary number of registers, used only by the epilogue
expander.
> If you only need them post-reload, follow the lead of the s390 port.
> See the "load_multiple" and "store_multiple" expanders, and their
> associated insns. In this case, everything folds nicely down with
> a match_parallel.
Will do.