> > 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.