This patch fix the following issues with visitExtractElementInst:
- Restrict VectorUtils::findScalarElement to fixed-length vector. For scalable type, the number of elements in shuffle mask is unknown at compile-time.
- Fix out-of-range calculation for fixed-length vector.
- Skip scalable type when analysis rely on fixed number of elements.
- Add unit tests to check functionality of extractelement for scalable type.
I think I'd prefer to avoid calling getMaskValue() and trying to compute LHSWidth for scalable vectors; it's not clear what it should mean.