<div dir="ltr"><div><div>Hello,<br><br></div>I have a simple loop,<br>#include <stdio.h><br>#define N 200<br><br>int array[N];<br><br>int main() {<br>    int result = 0;<br>    int a, b, c;<br>    for (b = 0; b < N; b++)<br>        array[b] = b%3;<br><br>#pragma clang loop vectorize(enable)<br>    for (a = 0; a < N; a++) {<br>        result += array[a];<br>    }<br><br>    return result;<br>}<br><br><br></div><div>I compile it like this:<br>clang -emit-llvm -m32 -c -O0 myarray2.c -o myarray2.s<br>opt -mem2reg -loops -loop-simplify -loop-rotate -loop-vectorize -S myarray2.s -o opt.s<br><br></div><div>and I don't see any effect of vectorization. When I delete m32 flag, vectorization is applied, Why does this happen?<br></div></div>