Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

[LoopVectorizer] Assertion "Both operands to ICmp instruction are not of the same type!" failed. #44913

Open Quuxplusone opened 4 years ago

Quuxplusone commented 4 years ago
Bugzilla Link PR45943
Status NEW
Importance P enhancement
Reported by Jonas Paulsson (paulsson@linux.vnet.ibm.com)
Reported on 2020-05-15 06:26:38 -0700
Last modified on 2021-07-05 11:29:15 -0700
Version trunk
Hardware PC Linux
CC benny.kra@gmail.com, florian_hahn@apple.com, llvm-bugs@lists.llvm.org, paulsson@linux.vnet.ibm.com, sjoerd.meijer@arm.com
Fixed by commit(s)
Attachments tc_loopvec_icmpops.ll (1692 bytes, text/plain)
Blocks
Blocked by
See also PR50988
Created attachment 23492
reduced testcase

opt -mtriple=systemz-unknown -mcpu=z13 -O3 -force-vector-interleave=2 -unroll-
full-max-count=1 -o out.opt.ll tc_loopvec_icmpops.ll

llvm-project/llvm/include/llvm/IR/Instructions.h:1136: void
llvm::ICmpInst::AssertOK(): Assertion `getOperand(0)->getType() ==
getOperand(1)->getType() && "Both operands to ICmp instruction are not of the
same type!"' failed.
...
#12 0x000002aa3f0e6364 llvm::LoopVectorizationPlanner::executePlan
Quuxplusone commented 4 years ago

Attached tc_loopvec_icmpops.ll (1692 bytes, text/plain): reduced testcase

Quuxplusone commented 4 years ago

This should be fixed by https://reviews.llvm.org/D79976