[PATCH] D147243: [X86] MatchVectorAllZeroTest - add support for icmp(bitcast(icmp_ne(X,Y)),0) vector reduction patterns
Alexander Kornienko via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 5 10:34:43 PDT 2023
alexfh added a comment.
This is an llvm-reduce'd test case:
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
define i1 @q(<4 x i256> %0) {
entry:
%1 = icmp ne <4 x i256> %0, zeroinitializer
%2 = bitcast <4 x i1> %1 to i4
%3 = icmp eq i4 %2, 0
br i1 %3, label %l2, label %l1
l1: ; preds = %entry
ret i1 false
l2: ; preds = %entry
ret i1 false
}
$ clang -c reduced.ll
assert.h assertion failed at llvm/include/llvm/CodeGen/ValueTypes.h:434 in EVT llvm::EVT::getHalfNumVectorElementsVT(LLVMContext &) const: EltCnt.isKnownEven() && "Splitting vector, but not in half!"
*** Check failure stack trace: ***
@ 0x55fb590ae6a4 __assert_fail
@ 0x55fb5633411d llvm::EVT::getHalfNumVectorElementsVT()
@ 0x55fb57abc892 llvm::SelectionDAG::GetSplitDestVTs()
@ 0x55fb5715222d LowerVectorAllEqual()
@ 0x55fb570aab19 MatchVectorAllEqualTest()
@ 0x55fb5713d07b combineSetCC()
@ 0x55fb571141e2 llvm::X86TargetLowering::PerformDAGCombine()
@ 0x55fb579a7e98 (anonymous namespace)::DAGCombiner::combine()
@ 0x55fb579a55ed llvm::SelectionDAG::Combine()
@ 0x55fb57b2534e llvm::SelectionDAGISel::CodeGenAndEmitDAG()
@ 0x55fb57b240dc llvm::SelectionDAGISel::SelectAllBasicBlocks()
@ 0x55fb57b20b0e llvm::SelectionDAGISel::runOnMachineFunction()
@ 0x55fb572d357e (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction()
@ 0x55fb577a8e45 llvm::MachineFunctionPass::runOnFunction()
@ 0x55fb58d7585d llvm::FPPassManager::runOnFunction()
@ 0x55fb58d7d844 llvm::FPPassManager::runOnModule()
@ 0x55fb58d75fec llvm::legacy::PassManagerImpl::run()
@ 0x55fb53ee8265 clang::EmitBackendOutput()
@ 0x55fb53ee3355 clang::CodeGenAction::ExecuteAction()
@ 0x55fb54b21863 clang::FrontendAction::Execute()
@ 0x55fb54a953cd clang::CompilerInstance::ExecuteAction()
@ 0x55fb53ac0768 clang::ExecuteCompilerInvocation()
@ 0x55fb53ab4611 cc1_main()
@ 0x55fb53ab0908 ExecuteCC1Tool()
@ 0x55fb53aaf66e clang_main()
@ 0x55fb53aac9c4 main
@ 0x7f2387986633 __libc_start_main
@ 0x55fb53aac92a _start
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147243/new/
https://reviews.llvm.org/D147243
More information about the llvm-commits
mailing list