Auto vectorization of loops

Hi! I’m trying to understand why do I get loop unrolling instead of vectorization in this code (Compiler Explorer)? I definitely know that this C code will be vectorized:

void sqr(const int* restrict src, int* restrict dest, unsigned int len) {
  for(int i = 0; i < len; i++){
    dest[i] = src[i] * src[i];
  }
}

Could somebody explain where am I wrong, please?

1 Like

Loop-Vectorization-Disabled-to-Work-Around-Regression

2 Likes

Thank you!