> I don't quite understand - you are checking loop_vinfo->vector_mode, but
> how can you be sure no chosen vector uses a !VECTOR_MODE_P?  It seems
> fragile to rely on (it might work in this case), instead when any
> !VECTOR_MODE_P needs a 'len' we should reject it - so why does this
> not happen here?

It appears we detect an over-widening pattern and set the initial ("natural"?)
vector mode there to DImode.  Afterwards we find a vectorizable_reduction that
does not check for partial vector usage (no single def-use cycle nor fold-left
reduction).

As there are no loads/stores we never reach
check_load_store_for_partial_vectors which disables partial vectors.
Should the check then rather be in vectorizable_reduction?

-- 
Regards
 Robin

Reply via email to