<html>
<head>
<base href="https://bugs.llvm.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [X86][SSE] Add modulo rotate support to LowerRotate"
href="https://bugs.llvm.org/show_bug.cgi?id=38243">38243</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[X86][SSE] Add modulo rotate support to LowerRotate
</td>
</tr>
<tr>
<th>Product</th>
<td>libraries
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>enhancement
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Backend: X86
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>llvm-dev@redking.me.uk
</td>
</tr>
<tr>
<th>CC</th>
<td>craig.topper@gmail.com, lebedev.ri@gmail.com, llvm-bugs@lists.llvm.org, spatel+llvm@rotateright.com
</td>
</tr>
<tr>
<th>Blocks</th>
<td>38152
</td>
</tr></table>
<p>
<div>
<pre>With the introduction of the funnelshift intrinsics, the intention is to
support lowering to rotation ISD ops. For this to work, LowerRotate must
correctly handle the fact that the rotation amount will need to be treated as a
modulo amount.
The AVX512 and XOP rotation instructions already exhibit modulo behaviour, and
the v16i8/v32i8 non-AVX512BWI case should be modulo safe as well.
But the remaining vXi16/vXi32 cases need to fixed.
An initial attempt at adding a mask to the rotation amount caused issues with
IsSplatValue() which needs remedying as well.
I haven't checked other targets or the rotation legalization code to see if
that needs adjustment.</pre>
</div>
</p>
<div id="referenced">
<hr style="border: 1px dashed #969696">
<b>Referenced Bugs:</b>
<ul>
<li>
[<a class="bz_bug_link
bz_status_NEW "
title="NEW - add intrinsics and backend support for rotate ops"
href="https://bugs.llvm.org/show_bug.cgi?id=38152">Bug 38152</a>] add intrinsics and backend support for rotate ops
</li>
</ul>
</div>
<br>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>