[llvm-bugs] [Bug 49201] New: [LoopVectorizer] TTI query triggers assertion "Packing must reduce size of vector type."

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Feb 15 17:42:09 PST 2021


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

            Bug ID: 49201
           Summary: [LoopVectorizer]  TTI query triggers assertion
                    "Packing must reduce size of vector type."
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Loop Optimizer
          Assignee: unassignedbugs at nondot.org
          Reporter: paulsson at linux.vnet.ibm.com
                CC: llvm-bugs at lists.llvm.org

Created attachment 24535
  --> https://bugs.llvm.org/attachment.cgi?id=24535&action=edit
reduced testcase

LV handles this instruction:

%i16.lhs.trunc = trunc i32 %i12 to i8

by calling TTI.getCastInstrCost() for a

trunc <2 x i1> to <2 x i8>,

which is broken and causes an assert in SystemZTTIImpl to fail: "Packing must
reduce size of vector type."

The user of the trunc is an icmp, which may possibly explain the precence of
'i1'...

opt -mtriple=s390x-unknown-linux -mcpu=z14 -o out.opt.ll -O2 -S
tc_crash14_aftercreduce.ll

llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp:596: unsigned int
llvm::SystemZTTIImpl::getVectorTruncCost(llvm::Type*, llvm::Type*): Assertion
`SrcTy->getPrimitiveSizeInBits().getFixedSize() > DstTy
->getPrimitiveSizeInBits().getFixedSize() && "Packing must reduce size of
vector type."' failed.

-- 
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/20210216/fe1d12d4/attachment.html>


More information about the llvm-bugs mailing list