[llvm-bugs] [Bug 50709] New: i386 codegen can fail when doing multiples on v6i32 vectors

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Jun 14 17:36:45 PDT 2021


https://bugs.llvm.org/show_bug.cgi?id=50709

            Bug ID: 50709
           Summary: i386 codegen can fail when doing multiples on v6i32
                    vectors
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: release blocker
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: srj at google.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created attachment 24953
  --> https://bugs.llvm.org/attachment.cgi?id=24953&action=edit
sample for repro

(Appears to have been injected by https://reviews.llvm.org/D103881)

reduceVMULWidth() in X86ISelLowering.cpp assumes that a vector operand with an
even number of elements can be changed to a vector with the same number of
elements but with an element of type i16. This isn't always the case, though;
if the value in question is Simple, it will attempt to update the relevant MVT
value, and only certain combinations of those are legal. In the failure case
I'm uploading, the code is attempting to convert a v6i32 (which has a valid MVT
value as of the change above) into a v6i16 (which does not have a valid MVT
value).

To replicate:
- sync to LLVM commit 2c2d2922a24b7fa8a92f38d9043ab476d330210d or later
- be sure to compile with assertions enabled
- build llc
- llc --mcpu=k8 --mtriple=i386--linux-gnu -o - -O3 err_func.ll
- see assertion failure

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210615/49179907/attachment.html>


More information about the llvm-bugs mailing list