This is an updated set of patches for the SIMD ABI on aarch64. I have updated all of them to apply to ToT. The first two have no functional changes from the last submittal. The last two are a reworking of what used to be a single patch. I split it up into two parts and reworked it to address comments by Richard Sandiford.
Code that does not use SIMD functions should not be affected by these patches. Patch 1 implements the ABI and Patch 2 allows for vectorization of loops with SIMD functions. Patch 3 allows for optimization of SIMD functions by recognizing that some registers that need to be caller saved by normal functions do not need to be saved when calling a SIMD function. Patch 4 allows for optimization of SIMD functions by recognizing that some registers that are partially clobbered by normal functions are not partially clobbered by SIMD functions and do not need to be saved by the caller. Steve Ellcey sell...@cavium.com