<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Sounds very reasonable to me.</div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> llvm-dev <llvm-dev-bounces@lists.llvm.org> on behalf of Bardia Mahjour via llvm-dev <llvm-dev@lists.llvm.org><br>
<b>Sent:</b> 13 April 2021 22:11<br>
<b>To:</b> llvm-dev@lists.llvm.org <llvm-dev@lists.llvm.org><br>
<b>Subject:</b> [llvm-dev] Should `llvm.loop.unroll.disable` disable interleaving?</font>
<div> </div>
</div>
<div>
<p><font size="2">Hi,</font><br>
<br>
<font size="2">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>
<br>
<font size="2">> cat tmp.c</font><br>
<font size="2">void foo(int n, int * A)</font><br>
<font size="2">{</font><br>
<font size="2">#pragma clang loop unroll(disable)</font><br>
<font size="2">for (int i = 0; i < n; i++)</font><br>
<font size="2">A[i] = i;</font><br>
<font size="2">}</font><br>
<font size="2">> clang -O3 tmp.c -S -emit-llvm -mllvm -debug-only=loop-vectorize 2>&1 | grep -i interleave</font><br>
<font size="2">LV: Interleave Count is 12</font><br>
<br>
<br>
<font size="2">Bardia Mahjour<br>
Compiler Optimizations<br>
IBM Toronto Software Lab<br>
</font><br>
</p>
</div>
</body>
</html>