<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - llc aborts with "Unknown mismatch!""
href="https://llvm.org/bugs/show_bug.cgi?id=26353">26353</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>llc aborts with "Unknown mismatch!"
</td>
</tr>
<tr>
<th>Product</th>
<td>new-bugs
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>new bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>snowkh@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=15738" name="attach_15738" title="IR code for crash">attachment 15738</a> <a href="attachment.cgi?id=15738&action=edit" title="IR code for crash">[details]</a></span>
IR code for crash
I found a crash in llc.
llvm version (HEAD on git as now):
commit e9abc8ca75bd65d7c25fc0e18a01daa5eaaf4d4b
Author: Simon Pilgrim <<a href="mailto:llvm-dev@redking.me.uk">llvm-dev@redking.me.uk</a>>
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: <a href="https://llvm.org/svn/llvm-project/llvm/trunk@259034">https://llvm.org/svn/llvm-project/llvm/trunk@259034</a>
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'</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are on the CC list for the bug.</li>
</ul>
</body>
</html>