<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] Remove shift-by-immediate llvm x86 intrinsics"
href="https://bugs.llvm.org/show_bug.cgi?id=40203">40203</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[X86][SSE] Remove shift-by-immediate llvm x86 intrinsics
</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, llvm-bugs@lists.llvm.org, llvm-dev@redking.me.uk, spatel+llvm@rotateright.com
</td>
</tr></table>
<p>
<div>
<pre>The SSE SLLI/SRLI/SRAI vector uniform shift by immediate intrinsics still exist
due to a gcc compatibility issue requiring us to support non-immediate values
in the '_mm_slli_epi32' style C/C++ intrinsics.
What would be better is if CGBuiltin could promote the non-immediate cases to
use the uniform variable equivalent intrinsics (__builtin_ia32_pslldi128 ->
__builtin_ia32_pslld128 etc.) and the 'normal' cases replaced with generic
shifts (or zero for out of range logical shifts).
This would allow us to remove all the existing slli intrinsics and their
handling.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>