This series adds support for ARM's Scalable Vector Extension. More details on SVE can be found here:
https://developer.arm.com/products/architecture/a-profile/docs/arm-architecture-reference-manual-supplement-armv8-a There are four parts for ease of review, but it probably makes sense to commit them as one patch. The series plugs SVE into the current vectorisation framework without adding any new features to the framework itself. This means for example that vector loops still handle full vectors, with a scalar epilogue loop being needed for the rest. Later patches add support for other features like fully-predicated loops. The patches build on top of the various series that I've already posted. Sorry that there were so many, and thanks again for all the reviews. Tested on aarch64-linux-gnu without SVE and aarch64-linux-gnu with SVE (in the default vector-length agnostic mode). Also tested with -msve-vector-bits=256 and -msve-vector-bits=512 to select 256-bit and 512-bit SVE registers. Thanks, Richard