<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>