> 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