On Fri, May 10, 2019 at 09:42:47AM +0200, Richard Biener wrote:
> On Fri, May 10, 2019 at 9:25 AM Uros Bizjak <ubiz...@gmail.com> wrote:
> > > But IL semantic differences based on mode is even worse.  What happens
> > > if STV then substitues a vector register/op but you previously optimized
> > > with the assumption the count would be truncated since the shift was 
> > > SImode?

What is STV?

> But that's more a combine limitation than a reason going for the
> "hidden" IL semantic change.  But yes, if the and is used by
> non-masking insns then it's likely cheap enough to retain it.
> 
> If the masking were always in place (combined with the shift
> if a suitable insn exists) then STV handling should be possible,
> it just would need to split the insn to do the masking and then the shift
> (of course that might not be very profitable).

Why does the pattern with masking split?  It could just be a define_insn.
Combine will try to get rid of the masking, to simplify the RTL.  Going in the
other direction is probably not profitable :-/


Segher

Reply via email to