<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Loop unrolling doesn't take into account whether it will decrease or increase performance"
href="https://bugs.freedesktop.org/show_bug.cgi?id=83658">83658</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>idr@freedesktop.org
</td>
</tr>
<tr>
<th>Blocks</th>
<td>77547
</td>
</tr>
<tr>
<th>Summary</th>
<td>Loop unrolling doesn't take into account whether it will decrease or increase performance
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Reporter</th>
<td>eero.t.tamminen@intel.com
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/DRI/i965
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr></table>
<p>
<div>
<pre>Currently loop unrolling is done in frontend. This is done based on
heuristics, not on actual data from backend whether and how much unrolling
makes sense for given HW: will unrolling run out of registers for SIMD16, how
many instructions fit into cache...
Backend should provide this kind of information for unrolling and frontend
should utilize it (either before unrolling, to control how much to do it, or
after unrolling to revert it).
(Frontend probably should be fixed to push loop invariant code outside of loop
before devoting time to improving unrolling itself.)</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>