https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110897

--- Comment #12 from rsandifo at gcc dot gnu.org <rsandifo at gcc dot gnu.org> 
---
(In reply to JuzheZhong from comment #11)
> You can see "_9 = _5 >> _8;". We should vectorize SImode instead of HImode.
> The correct follow should be first extend HI -> SImode, Then vectorize
> logical shift right for SImode, and finally truncate SImode to HImode.
The point of vect_recog_over_widening_pattern is to avoid the extension and
truncation.  So this is working as expected.  The question is why doing the
optimisation prevents vectorisation, given that the target apparently provides
HImode shifts right.

Reply via email to