is there a way to convince the Intel compiler to (auto-)vectorize the
following?
double a[N], b[N];
int c[2N];
for(int i=0; i<N; i++) {
a[i] = b[c[i*2]];
}
It does not vectorize presumably because c[] is a different data type than
a[] and b[].
Any help greatly appreciated!
Wolf
Are my eyes failing in my old age, or is that identical to the OP's code
except for the addition of two blank lines? What is that supposed to
accomplish?
double a[N], b[N];
int c[2N];
for(int i=0; i<N; i++) {
tmp = c[i*2]; // All now are integers
a[i] = b[tmp];
}
Please try this..
But for knowing
I tryed your code on turbo c++ 4.5 . It was running..
That wasn't what OP was asking. To the OP, you're better off asking in
a group dedicated to your compiler -- ISO/IEC 14882:2003 doesn't discuss
vectorization at all.