<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jun 23, 2016, at 8:20 AM, Dangeti Tharun kumar 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="">Dear LLVM Community,</div><div class=""><br class=""></div><div class="">I am D Tharun Kumar, masters student at Indian Institute of Technology Hyderabad, working in a team to improve current vectorizer in LLVM. As an initial study, we are studying various benchmarks to analyze and compare vectorizing capabilities of LLVM, GCC and ICC. We found that vectorization remarks given by LLVM are vague and brief, comparatively GCC and ICC are giving detailed diagnostics. </div><div class=""><br class=""></div><div class=""><div class=""><ul class=""><li class="">I am interested to know why the LLVM diagnostics are brief and not intuitive (making them less helpful)? </li></ul><ul class=""><li class="">In our analysis we never seen llvm trying to vectorize outer loops. Is this well known? Is outer loop vectorization implemented in LLVM as in GCC? (<a href="http://dl.acm.org/citation.cfm?id=1454119" class="">http://dl.acm.org/citation.cfm?id=1454119</a>) If not, is someone working on it?</li></ul></div></div></div></div></blockquote><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><ul class=""><li class="">On the TSVC benchmark suite, out of a total of 151 loops, LLVM, GCC and ICC vectorized 70, 82 and 112 loops respectively. Is the cause for lag of LLVM the inability of LLVM’s vectorizer, or are there any (enabling) optimization passes running before GCC’s vectorizer that are helping GCC perform better?</li></ul></div></div></div></div></blockquote>Can you share your table with performance score per benchmark and the options you used for each compiler? Could you separate your results in integer and floating point loops? </div><div><br class=""></div><div>You might also want to compare the compilers on the code samples <a href="http://www.aartbik.com/SSE/code.html" class="">http://www.aartbik.com/SSE/code.html</a>. <br class=""><blockquote type="cite" class=""><div class=""><div dir="ltr" class=""><div class=""><div class=""><ul class=""><li class="">Loop peeling to enhance vectorization is present in GCC and ICC, but, the LLVM remarks don’t say anything about alignment. Does LLVM has this functionality and the vectorizer doesn’t remark about it, or it doesn’t it have the functionality at all?</li></ul></div><div class="">Finally, we appreciate suggestions and directions for improving the vectorization framework of LLVM.</div><div class=""><br class=""></div><div class="">I would also like to know if anyone worked or is working on improving vectorization remarks.</div></div><div class=""><br class=""></div><div class="">Regards,</div><div class=""><br class=""></div><div class="">Dangeti Tharun kumar</div><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr" class=""><div dir="ltr" class=""><div class="">M.TECH Computer Science</div><div class="">IIT Hyderabad</div></div></div></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=""></body></html>