All:
The scalar and array reduction patterns can be identified if the result of
commutative updates
Is applied to the same scalar or array variables on the LHS with +, *, Min or
Max. Thus the reduction pattern identified with
the commutative update help in vectorization or parallelization.
For the following code
For(j = 0; j <= N;j++)
{
y = d[j];
For( I = 0 ; I <8 ; i++)
X(a[i]) = X(a[i]) + c[i] * y;
}
Fig(1).
For the above code with the reduction pattern on X with respect to the outer
loop exhibits the commutative updates on + can be identified
In gcc as reduction pattern with respect to outer loops. I wondering whether
this can be identified as reduction pattern which can reduce to vectorized
Code because of the X is indexed by another array as thus the access of X is
not affine expression.
Does the above code can be identified as reduction pattern and transform to the
vectorized or parallelize code.
Thoughts?
Thanks & Regards
Ajit