> Am 23.12.2024 um 10:57 schrieb Robin Dapp <rdapp....@gmail.com>:
> 
> 
>> 
>> 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.

And that pattern is the Reduction stmt only?


> 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?

Unless the stmt needs not be predicated yes (but most reduction stmts are 
covered in their vectorizable_* routines)

Richard 

> 
> --
> Regards
> Robin
> 

Reply via email to