[llvm-bugs] [Bug 49551] New: Cannot handle this kind of promotion assertion in Mips backend when vector comprises illegal types

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Mar 11 15:00:18 PST 2021


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

            Bug ID: 49551
           Summary: Cannot handle this kind of promotion assertion in Mips
                    backend when vector comprises illegal types
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: MIPS
          Assignee: unassignedbugs at nondot.org
          Reporter: simonas+llvm.org at kazlauskas.me
                CC: llvm-bugs at lists.llvm.org

; RUN: llc -mtriple=mips
define <4 x i1> @test_srem_vec(<4 x i31> %X) nounwind {
  %srem = srem <4 x i31> %X, <i31 9, i31 9, i31 -9, i31 -9>
  %cmp = icmp ne <4 x i31> %srem, <i31 4, i31 -4, i31 4, i31 -4>
  ret <4 x i1> %cmp
}

Will result in the following output when LLVM with enabled assertions is used:

llc: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:420: llvm::SDValue
getCopyFromPartsVector(llvm::SelectionDAG&, const llvm::SDLoc&, const
llvm::SDValue*, unsigned int, llvm::MVT, llvm::EVT, const llvm::Value*,
llvm::Optional<unsigned int>): Assertion `PartEVT.getVectorElementCount() ==
ValueVT.getVectorElementCount() && "Cannot handle this kind of promotion"'
failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace.
Stack dump:
0.      Program arguments: ./build/bin/llc -mtriple=mips /tmp/sremtest.ll
1.      Running pass 'Function Pass Manager' on module '/tmp/sremtest.ll'.
2.      Running pass 'MIPS DAG->DAG Pattern Instruction Selection' on function
'@test_srem_vec'
 #0 0x0000000002cd023d llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(./build/bin/llc+0x2cd023d)
 #1 0x0000000002ccde44 llvm::sys::RunSignalHandlers()
(./build/bin/llc+0x2ccde44)
 #2 0x0000000002ccdfbb SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f1b450db700 __restore_rt
(/nix/store/3wa1xwnfv8ada1za1r8m4vmsiz1jifqq-glibc-2.32-35/lib/libpthread.so.0+0x13700)
 #4 0x00007f1b44be233a raise
(/nix/store/3wa1xwnfv8ada1za1r8m4vmsiz1jifqq-glibc-2.32-35/lib/libc.so.6+0x3c33a)
 #5 0x00007f1b44bcc523 abort
(/nix/store/3wa1xwnfv8ada1za1r8m4vmsiz1jifqq-glibc-2.32-35/lib/libc.so.6+0x26523)
 #6 0x00007f1b44bcc41f _nl_load_domain.cold.0
(/nix/store/3wa1xwnfv8ada1za1r8m4vmsiz1jifqq-glibc-2.32-35/lib/libc.so.6+0x2641f)
 #7 0x00007f1b44bdad92
(/nix/store/3wa1xwnfv8ada1za1r8m4vmsiz1jifqq-glibc-2.32-35/lib/libc.so.6+0x34d92)
 #8 0x0000000002a27aaa getCopyFromParts(llvm::SelectionDAG&, llvm::SDLoc
const&, llvm::SDValue const*, unsigned int, llvm::MVT, llvm::EVT, llvm::Value
const*, llvm::Optional<unsigned int>, llvm::Optional<llvm::ISD::NodeType>)
(.isra.0) SelectionDAGBuilder.cpp:0:0
 #9 0x0000000002a71552 llvm::SelectionDAGISel::LowerArguments(llvm::Function
const&) (./build/bin/llc+0x2a71552)
#10 0x0000000002ae2965
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(./build/bin/llc+0x2ae2965)
#11 0x0000000002ae3d54
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.0)
SelectionDAGISel.cpp:0:0
#12 0x000000000121d78b
llvm::MipsDAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(./build/bin/llc+0x121d78b)
#13 0x000000000200124c
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(./build/bin/llc+0x200124c)
#14 0x0000000002497b6d llvm::FPPassManager::runOnFunction(llvm::Function&)
(./build/bin/llc+0x2497b6d)
#15 0x00000000024986a1 llvm::FPPassManager::runOnModule(llvm::Module&)
(./build/bin/llc+0x24986a1)
#16 0x00000000024974c3 llvm::legacy::PassManagerImpl::run(llvm::Module&)
(./build/bin/llc+0x24974c3)
#17 0x000000000067b7a7 main (./build/bin/llc+0x67b7a7)

-- 
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/20210311/a341f1e5/attachment.html>


More information about the llvm-bugs mailing list