<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 - error caused by inlining function while compiling with -O3."
href="https://bugs.llvm.org/show_bug.cgi?id=51085">51085</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>error caused by inlining function while compiling with -O3.
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>10.0
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>C
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>xin.liu@compiler-dev.com
</td>
</tr>
<tr>
<th>CC</th>
<td>blitzrakete@gmail.com, dgregor@apple.com, erik.pilkington@gmail.com, llvm-bugs@lists.llvm.org, richard-llvm@metafoo.co.uk
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=25021" name="attach_25021" title="Integer128 division">attachment 25021</a> <a href="attachment.cgi?id=25021&action=edit" title="Integer128 division">[details]</a></span>
Integer128 division
In attachment, The program is used to achieve the division with integer128.
Tested compiler was:
clang version 10.0.1
Target: aarch64-unknown-linux-gnu
Thread model: posix
When the dividend number is the minimum value of a negative number, the divisor
number is -1 and use the command 'clang -O3 div128.c', the result is 0, but the
expected value is the minimum value of negative number.When Compiling with O0
under clang or Compiling with O3 under gcc, the result is the expected value.
According to the assemble codes,I found that int128_count_leading_zeros()
function is inlined and the return value is 1 but expected as 0. And then I try
to add the noinline attribute for int128_count_leading_zeros() function, the
result is what I expected.
Therefore, I suspect that there is some problems with clang while handling of
inline optimization.Please confirm whether it is a clang problem.</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>