[LoopVectorize][SVE] Add tests for vectorising conditional loads of invariant addresses
For loops of the form: void foo(int *a, int *cond, short *inv, long long n) { for (long long i=0; i<n; ++i) { if (cond[i]) a[i] = *inv; } } we can vectorise for SVE using masked gather loads where the array of pointers is simply a vector splat of 'inv' and the mask comes from the condition 'cond[i] != 0'. This patch simply adds tests upstream to defend this capability. Differential Revision: https://reviews.llvm.org/D98043
Loading
Please sign in to comment