<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>