http://llvm.org/bugs/show_bug.cgi?id=20113
Bug ID: 20113
Summary: Assert failure in Combine redundant instructions pass.
Product: new-bugs
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Classification: Unclassified
$cat test.ll
define <4 x i32> @func(<4 x i16> %a, <4 x i16> %b) #0 {
%vmovl.i.i726 = zext <4 x i16> %a to <4 x i32>
%vmovl.i.i712 = zext <4 x i16> %b to <4 x i32>
%mul.i703 = mul <4 x i32> %vmovl.i.i712, %vmovl.i.i726
%tmp = icmp sge <4 x i32> %mul.i703, zeroinitializer
%vcgez.i = sext <4 x i1> %tmp to <4 x i32>
ret <4 x i32> %vcgez.i
}
$opt -O3 <test.ll
opt:
/home/kevin/llvm_trunk/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp:2047:
llvm::Instruction* ProcessUMulZExtIdiom(llvm::ICmpInst&, llvm::Value*,
llvm::Value*, llvm::InstCombiner&): Assertion
`isa<IntegerType>(MulVal->getType())' failed.
Highly suspect this is caused by below commit:
r206137 - Recognize test for overflow in integer multiplication.
If revert this commit, test can pass.
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs