This is the mail archive of the gcc-patches@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: [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


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