<html><body><p><font size="2">Thanks for your feedback.</font><br><font size="2">I've put together the following patch to address this issue: </font><a href="https://reviews.llvm.org/D101374"><font size="2">https://reviews.llvm.org/D101374</font></a><font size="2">.</font><br><br><br><font size="2">Bardia Mahjour<br>Compiler Optimizations<br>IBM Toronto Software Lab<br></font><br><br><img width="16" height="16" src="cid:1__=8FBB0C57DFCAFFB28f9e8a93df938690918c8FB@" border="0" alt="Inactive hide details for Sjoerd Meijer ---2021/04/14 09:31:50 AM---Sounds very reasonable to me. _____________________________"><font size="2" color="#424282">Sjoerd Meijer ---2021/04/14 09:31:50 AM---Sounds very reasonable to me. ________________________________</font><br><br><font size="2" color="#5F5F5F">From:        </font><font size="2">Sjoerd Meijer <Sjoerd.Meijer@arm.com></font><br><font size="2" color="#5F5F5F">To:        </font><font size="2">"llvm-dev@lists.llvm.org" <llvm-dev@lists.llvm.org>, Bardia Mahjour <bmahjour@ca.ibm.com></font><br><font size="2" color="#5F5F5F">Date:        </font><font size="2">2021/04/14 09:31 AM</font><br><font size="2" color="#5F5F5F">Subject:        </font><font size="2">[EXTERNAL] Re: [llvm-dev] Should `llvm.loop.unroll.disable` disable interleaving?</font><br><hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br><br><br><font size="1" color="#FFFFFF">Sounds very reasonable to me. From: llvm-dev <llvm-dev-bounces@lists.llvm.org> on behalf of Bardia Mahjour via llvm-dev <llvm-dev@lists.llvm.org> Sent: 13 April 2021 22:11 To: llvm-dev@lists.llvm.org <llvm-dev@lists.llvm.org> </font><br><font face="Arial">Sounds very reasonable to me.</font><br><br><hr width="100%" size="2" align="left"><br><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> on behalf of Bardia Mahjour via llvm-dev <llvm-dev@lists.llvm.org><b><br>Sent:</b> 13 April 2021 22:11<b><br>To:</b> llvm-dev@lists.llvm.org <llvm-dev@lists.llvm.org><b><br>Subject:</b> [llvm-dev] Should `llvm.loop.unroll.disable` disable interleaving? <br> <br><font size="2">Hi,</font><br><font size="2"><br>Currently the `#pragma clang loop unroll(disable)` directive has no impact on loop vectorizer's decision to interleave or not. I think it would make sense to avoid interleaving when the user specifically asked for no unrolling. I'm just wondering what people think about having `#pragma clang loop unroll(disable)` or `#pragma clang loop unroll_count(1)` imply `#pragma clang loop interleave(disable)`?</font><br><font size="2"><br>> cat tmp.c<br>void foo(int n, int * A)<br>{<br>#pragma clang loop unroll(disable)<br>for (int i = 0; i < n; i++)<br>A[i] = i;<br>}<br>> clang -O3 tmp.c -S -emit-llvm -mllvm -debug-only=loop-vectorize 2>&1 | grep -i interleave<br>LV: Interleave Count is 12</font><br><br><font size="2"><br>Bardia Mahjour<br>Compiler Optimizations<br>IBM Toronto Software Lab</font><br><br><br><BR>
</body></html>