https://llvm.org/bugs/show_bug.cgi?id=26353
Bug ID: 26353 Summary: llc aborts with "Unknown mismatch!" Product: new-bugs Version: trunk Hardware: PC OS: All Status: NEW Severity: normal Priority: P Component: new bugs Assignee: unassignedb...@nondot.org Reporter: sno...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified Created attachment 15738 --> https://llvm.org/bugs/attachment.cgi?id=15738&action=edit IR code for crash I found a crash in llc. llvm version (HEAD on git as now): commit e9abc8ca75bd65d7c25fc0e18a01daa5eaaf4d4b Author: Simon Pilgrim <llvm-...@redking.me.uk> Date: Thu Jan 28 09:45:01 2016 +0000 [X86][SSE] Move setTargetShuffleZeroElements closer to getTargetShuffleMask. NFCI. Keep target shuffle mask helper functions closer together. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@259034 91177308-0d34-0410-b5e6-96231b3b80d8 minimal reproducible case: /* compiled with `clang -target powerpc-unknown-eabispe -ffreestanding -c -nostdinc -fno-builtin -mcpu=e500v2 -emit-llvm fail.c` . clang not crashes, but `llc fail.bc` crashes. */ typedef union { struct { unsigned int hi; unsigned int lo; } i; double d; // float d; } hexdouble; void foo(){ hexdouble fpscr; asm volatile ("mfspr %0, 512": "=r"(fpscr.d)); /* SPRN_SPEFSCR */ if (fpscr.i.lo & (1<<28)) { fpscr.i.lo = fpscr.i.lo & !(1<<28); } } stdout (with `llc fail.bc`): Unknown mismatch! UNREACHABLE executed at /home/khwon/tmp/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:236! 0 llc 0x0000000002476f8d llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 44 1 llc 0x00000000024772a2 2 llc 0x00000000024759ba llvm::sys::RunSignalHandlers() + 118 3 llc 0x0000000002476ab4 4 libpthread.so.0 0x00007fc9a6d60340 5 libc.so.6 0x00007fc9a61a1cc9 gsignal + 57 6 libc.so.6 0x00007fc9a61a50d8 abort + 328 7 llc 0x0000000002414cb1 8 llc 0x000000000229721c 9 llc 0x000000000229b157 llvm::RegsForValue::getCopyFromRegs(llvm::SelectionDAG&, llvm::FunctionLoweringInfo&, llvm::SDLoc, llvm::SDValue&, llvm::SDValue*, llvm::Value const*) const + 4209 10 llc 0x00000000022c4b6a llvm::SelectionDAGBuilder::visitInlineAsm(llvm::ImmutableCallSite) + 11012 11 llc 0x00000000022c0d53 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 109 12 llc 0x000000000229d260 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) + 1376 13 llc 0x000000000229cc5c llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 140 14 llc 0x000000000232e731 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 69 15 llc 0x0000000002331966 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 2888 16 llc 0x000000000232d763 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 1533 17 llc 0x000000000161e530 18 llc 0x0000000001cfc72b llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 95 19 llc 0x0000000001ff3c26 llvm::FPPassManager::runOnFunction(llvm::Function&) + 290 20 llc 0x0000000001ff3db9 llvm::FPPassManager::runOnModule(llvm::Module&) + 97 21 llc 0x0000000001ff4154 22 llc 0x0000000001ff48a4 llvm::legacy::PassManagerImpl::run(llvm::Module&) + 256 23 llc 0x0000000001ff4ae5 llvm::legacy::PassManager::run(llvm::Module&) + 39 24 llc 0x0000000000d614d7 25 llc 0x0000000000d602aa main + 242 26 libc.so.6 0x00007fc9a618cec5 __libc_start_main + 245 27 llc 0x0000000000d5eb79 Stack dump: 0. Program arguments: ./llc fail.bc 1. Running pass 'Function Pass Manager' on module 'fail.bc'. 2. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@foo' -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs