[LLVMbugs] [Bug 11370] New: AVX2 vpxor instruction generated with AVX1 target

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Nov 14 06:40:33 PST 2011


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

             Bug #: 11370
           Summary: AVX2 vpxor instruction generated with AVX1 target
           Product: new-bugs
           Version: trunk
          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 7608
  --> http://llvm.org/bugs/attachment.cgi?id=7608
test case

With the attached test case, an AVX2 vpxor instruction is generated even if
just the AVX1 target is specified:

% llc -mattr=+avx x.ll -o - | grep xor
    vxorps    %xmm2, %xmm2, %xmm2
    vpxor    %ymm3, %ymm2, %ymm2
%

This causes the illegal instruction trap that one would expect on an AVX1
system.

Some archaeology indicates that this bug was introduced in this commit:

commit b80ada98c50df226e210eabc9547101c5dee2181
Author: Craig Topper <craig.topper at gmail.com>
Date:   Wed Nov 9 09:37:21 2011 +0000

    Enable execution dependency fix pass for YMM registers when AVX2 is
enabled. Add AVX2 logical operations to list of replaceable instructions.

    git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144179
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