Improve how MaxVF is computed while taking into account that MaxVF should not be larger than the loop's trip count.
Other than saving on compile-time by pruning the possible MaxVF candidates, this patch fixes pr34438 which exposed the following flow:
- Short trip count identified -> Don't bail out, set OptForSize:=True to avoid tail-loop and runtime checks.
- Compute MaxVF returned 16 on a target supporting AVX512.
- OptForSize -> choose VF:=MaxVF.
- Bail out because TripCount = 8, VF = 16, TripCount % VF !=0 means we need a tail loop.
With this patch step 2. will choose MaxVF=8 based on TripCount.
Can you please test the output directly instead of testing the debug output? We generally test debug output when there's no other effective way to write a test. It's better to have non-asserts-requiring tests.