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.
Would be good to restrict MaxVF to TC even if we're not OptForSize, although it's probably less likely to have a known TC that is larger than Tiny but smaller than current MaxVF.