To ensure correct code, the compiler treats an assumed dependence as a proven dependence, which results in additional checks using heavy conflict detection instructions. However, there were no real vector dependencies detected and "ivdep" pragma may be used to override the compiler's decision. To fix: Tell the compiler it is safe to vectorize without resolving dependencies using the directive #pragma ivdep. Note that it may potentially be unsafe on other input parameters.
#pragma ivdep ...#pragma ivdep
for (i = 0; i < n; i++)
{
a[index[i]] = b[i] * c;
}