This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, MIPS] Merge seb/seh into regular sign-extend pattern
Richard Sandiford writes:
> It just seems to me that you're overloading one alternative to mean two
> very different things: a single instruction of type "signext" that
> doesn't need any splitter handling and a double instruction of type
> "shift_shift" that does.
Fair enough. As I said I just used the EXTS example where we do the same
thing: single-instruction exts and the splitter in the same alternative. But
apparently we're doing away with that:
> *extenddi_truncate<mode> is an interesting example, because it looks
> like we wrongly give it length 4 and type "arith" on !ISA_HAS_EXTS targets,
> whereas it ought to have length 8 and type "shift_shift". And TBH,
> my preferred fix would be to split it into two...
because now we would have the same complex logic in the attribute section. I
can prepare a patch to fix this unless you want to.
Adam