Currently in LoopVectorize we avoid tail-folding if we can

prove the trip count is always a multiple of the maximum

fixed-width VF. This works because we know the vectoriser

only ever chooses a VF that is a power of 2. However, if

we are also considering scalable VFs then we conservatively

bail out of the optimisation because we don't know the value

of vscale, which could be an odd or prime number, etc.

This patch tries to enable the same optimisation for scalable

VFs by asking if vscale is known to be a power of 2. If so,

we can then query the maximum value of vscale and use the same

logic as we do for fixed-width VFs. I've also added a new TTI

hook called isVScaleKnownToBeAPowerOfTwo that does the same

thing as the existing TargetLowering hook.