<html>
<head>
<base href="http://llvm.org/bugs/" />
</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 --- - llc handles shuffles incorrectly, linux, trunk, regression from version 3.4"
href="http://llvm.org/bugs/show_bug.cgi?id=20087">20087</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>llc handles shuffles incorrectly, linux, trunk, regression from version 3.4
</td>
</tr>
<tr>
<th>Product</th>
<td>tools
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</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>llc
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>ili.filippov@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvmbugs@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=12683" name="attach_12683" title="Reproducer">attachment 12683</a> <a href="attachment.cgi?id=12683&action=edit" title="Reproducer">[details]</a></span>
Reproducer
In this test we have complex data structure. We assign "7" to one field of this
structure then shuffle it and try to read "7" but the result is "0". In
LLVM_3_4 everything is ok.
To reproduce:
bin-trunk/bin/llc e.ll -mattr=+avx
clang test.cpp e.s -m32
./a.out
0.000000
bin-3.4/bin/llc e.ll -mattr=+avx
clang test.cpp e.s -m32
./a.out
7.000000
test.cpp:
#include <stdio.h>
extern "C" {
extern void f_fu(float *result);
}
int main(int argc, char *argv[]) {
float returned_result;
f_fu(&returned_result);
printf("%f\n", returned_result);
return 0;
}
e.ll is attached
llc from trunk and 3_4 generates very similar asm files except some number of
commands.</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>