[LLVMbugs] [Bug 11586] New: [AVX] incorrect code generated with blending (regression)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu Dec 15 10:42:23 PST 2011


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

             Bug #: 11586
           Summary: [AVX] incorrect code generated with blending
                    (regression)
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: matt at pharr.org
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Created attachment 7743
  --> http://llvm.org/bugs/attachment.cgi?id=7743
test case

The attached short program loads a value from memory, does two calls to the AVX
blendv.ps intrinsic to compute what turns out to be the vector value
<0,2,0,4,0,6,0,8>, and stores the result back to the original location.  With
top of tree, if generates a vector of 7 0s and then a garbage value:

% llc -mattr=+avx bug.ll -o bug.s && clang bug.cpp bug.s && ./a.out
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
-256541003186488763470434762634106503168.000000
%

git bisect reports that this is the commit that introduced this bug:

Author: Craig Topper <craig.topper at gmail.com>
Date:   Wed Dec 7 08:30:53 2011 +0000

    Fix a bunch of SSE/AVX patterns to use proper memop types. In particular,
not using integer loads other than v2i64/v4i64 since the others are all
promoted.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146031
91177308-0d34-0410-b5e6-96231b3b80d8

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