[LLVMbugs] [Bug 13220] New: lshr <8 x i96> followed by trunc to <8 x i32> gives incorrect results with AVX

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jun 27 06:21:51 PDT 2012


http://llvm.org/bugs/show_bug.cgi?id=13220

             Bug #: 13220
           Summary: lshr <8 x i96> followed by trunc to <8 x i32> gives
                    incorrect results with AVX
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: ben.langmuir at intel.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 8771
  --> http://llvm.org/bugs/attachment.cgi?id=8771
Test case in LLVM assembly

%a = lshr <8 x i96> <i96 4, i96 4, i96 4, i96 4, i96 4, i96 4, i96 4, i96 4>,
                    <i96 1, i96 1, i96 1, i96 1, i96 1, i96 1, i96 1, i96 1>
%b = trunc <8 x i96> %a to <8 x i32>

Using the latest trunk, I expect that the attached test case will print
2 2 2 2 2 2 2 2

but it actually prints.
2 0 2 0 2 0 2 0



Details:

command: llc -mcpu=corei7-avx -mattr=+avx -filetype=obj test.ll

OS: Ubuntu 12.04
CPU: Intel Core i7-2700K (with AVX)
tested revisions: 159210, 3.1 release

Note that this test works as expected if any of the following changes are made:
1) change i96 to another type such as i33, or i128
2) use vector width 4
3) -mattr=-avx

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list