<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 - clang should have the ability to generate roundps to implement std::round"
href="https://bugs.llvm.org/show_bug.cgi?id=38153">38153</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>clang should have the ability to generate roundps to implement std::round
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</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>LLVM Codegen
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>brucedawson@chromium.org
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr></table>
<p>
<div>
<pre>As reported in crbug.com/863135, std::round() ends up consuming most of the CPU
time in Chrome's ComputeThumbnailScore. This is because of the overhead of the
function call plus what appears to be an inefficient implementation.
We could optimize every call site based on floating-point tricks that work in
particular circumstances or llvm/clang-cl could generate the SSE 4.1 roundss or
roundps instruction:
<a href="http://www.info.univ-angers.fr/~richer/ens/l3info/ao/intel_sse4.pdf">http://www.info.univ-angers.fr/~richer/ens/l3info/ao/intel_sse4.pdf</a>
std::round has showed up as a performance problem in Chrome before
(crbug.com/617365) and it would be good to solve it generically rather than
just in specific cases.</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>