<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">I’d recommend using pass-remarks (add -pass-remarks=loop-vectorize to your opt invocation) - it might give some hints.</div><div class=""><br class=""></div><div class="">Michael</div><div class=""><br class=""></div><div class="">PS: For me it’s vectorized independently on using -m32:</div><div class=""><br class=""></div><div class=""><div class=""><font face="Menlo" class="">> bin/clang -emit-llvm       -c -O0 1.c -o -  | bin/opt -mem2reg -loops -loop-simplify -loop-rotate -loop-vectorize -o /dev/null -pass-remarks=loop-vectorize</font></div><div class=""><font face="Menlo" class="">remark: <unknown>:0:0: vectorized loop (vectorization width: 4, interleaved count: 2)</font></div><div class=""><font face="Menlo" class="">remark: <unknown>:0:0: vectorized loop (vectorization width: 4, interleaved count: 2)</font></div><div class=""><font face="Menlo" class=""><br class=""></font></div><div class=""><font face="Menlo" class="">> bin/clang -emit-llvm -m32  -c -O0 1.c -o -  | bin/opt -mem2reg -loops -loop-simplify -loop-rotate -loop-vectorize -o /dev/null -pass-remarks=loop-vectorize</font></div><div class=""><font face="Menlo" class="">remark: <unknown>:0:0: vectorized loop (vectorization width: 4, interleaved count: 2)</font></div><div class=""><font face="Menlo" class="">remark: <unknown>:0:0: vectorized loop (vectorization width: 4, interleaved count: 2)</font></div></div><div class=""><div class=""><font face="Menlo" class=""><br class=""></font></div><div class=""><font face="Menlo" class="">> bin/clang -v</font></div><div class=""><font face="Menlo" class="">clang version 4.0.0 (trunk 278549) (llvm/trunk 278569)</font></div><div class=""><font face="Menlo" class="">Target: x86_64-apple-darwin15.6.0</font></div><div class=""><font face="Menlo" class="">Thread model: posix</font></div></div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jul 7, 2017, at 9:16 AM, Anastasiya Ruzhanskaya via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class=""><div class=""><div class="">Hello,<br class=""><br class=""></div>I have a simple loop,<br class="">#include <stdio.h><br class="">#define N 200<br class=""><br class="">int array[N];<br class=""><br class="">int main() {<br class="">    int result = 0;<br class="">    int a, b, c;<br class="">    for (b = 0; b < N; b++)<br class="">        array[b] = b%3;<br class=""><br class="">#pragma clang loop vectorize(enable)<br class="">    for (a = 0; a < N; a++) {<br class="">        result += array[a];<br class="">    }<br class=""><br class="">    return result;<br class="">}<br class=""><br class=""><br class=""></div><div class="">I compile it like this:</div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class="">clang -emit-llvm -m32 -c -O0 myarray2.c -o myarray2.s<br class="">opt -mem2reg -loops -loop-simplify -loop-rotate -loop-vectorize -S myarray2.s -o opt.s<br class=""><br class=""></div><div class="">and I don't see any effect of vectorization. When I delete m32 flag, vectorization is applied, Why does this happen?<br class=""></div></div>
_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev<br class=""></div></blockquote></div><br class=""></div></body></html>