<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - "shufflevector vscale" results in crash (code gen)"
   href="https://bugs.llvm.org/show_bug.cgi?id=48836">48836</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>"shufflevector vscale" results in crash (code gen)
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>unspecified
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>enhancement
          </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>loris.reiff@liblor.ch
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=24406" name="attach_24406" title="llc crash1.ll results in crash">attachment 24406</a> <a href="attachment.cgi?id=24406&action=edit" title="llc crash1.ll results in crash">[details]</a></span>
llc crash1.ll results in crash

Hi,

First of all, thanks for all the work on LLVM. It is an awesome project!

I think I stumbled upon a bug in the code generation process. The attached IR
code results in a crash.

How to reproduce:
llc crash1.ll

Also happens with other archs:
llc -mtriple=armv7 crash1.ll


Crash logs:
-----------

LLVM 11.0.0, x86_64 (Fedora 11.0.0-2.fc33)
```
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, useEVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, useEVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, useEVT::getVectorElementCount() instead
warning: Compiler has made implicit assumption that TypeSize is not scalable.
This may or may not lead to broken code.
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, useEVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, useEVT::getVectorElementCount() instead
warning: Compiler has made implicit assumption that TypeSize is not scalable.
This may or may not lead to broken code.
LLVM ERROR: Do not know how to split the result of this operator!

PLEASE submit a bug report to <a href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash
backtrace.
Stack dump:
0.      Program arguments: llc crash1.ll 
1.      Running pass 'Function Pass Manager' on module 'crash1.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@crash'
 #0 0x00007fdc6d5fb27a llvm::sys::PrintStackTrace(llvm::raw_ostream&)
(/lib64/libLLVM-11.so+0xa8b27a)
 #1 0x00007fdc6d5f94e4 llvm::sys::RunSignalHandlers()
(/lib64/libLLVM-11.so+0xa894e4)
 #2 0x00007fdc6d5f9676 (/lib64/libLLVM-11.so+0xa89676)
 #3 0x00007fdc6c7faa60 __restore_rt (/lib64/libc.so.6+0x3da60)
 #4 0x00007fdc6c7fa9d5 raise (/lib64/libc.so.6+0x3d9d5)
 #5 0x00007fdc6c7e38a4 abort (/lib64/libc.so.6+0x268a4)
 #6 0x00007fdc6d53e43a llvm::report_fatal_error(llvm::Twine const&, bool)
(/lib64/libLLVM-11.so+0x9ce43a)
 #7 0x00007fdc6d53e56a (/lib64/libLLVM-11.so+0x9ce56a)
 #8 0x00007fdc6dc2bc59 (/lib64/libLLVM-11.so+0x10bbc59)
 #9 0x00007fdc6dc0bcd0 (/lib64/libLLVM-11.so+0x109bcd0)
#10 0x00007fdc6dc0c331 llvm::SelectionDAG::LegalizeTypes()
(/lib64/libLLVM-11.so+0x109c331)
#11 0x00007fdc6dcfd831 llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(/lib64/libLLVM-11.so+0x118d831)
#12 0x00007fdc6dd01813
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(/lib64/libLLVM-11.so+0x1191813)
#13 0x00007fdc6dd0360c
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(/lib64/libLLVM-11.so+0x119360c)
#14 0x00007fdc6fa223f9 (/lib64/libLLVM-11.so+0x2eb23f9)
#15 0x00007fdc6d8ff637 (/lib64/libLLVM-11.so+0xd8f637)
#16 0x00007fdc6d7116d8 llvm::FPPassManager::runOnFunction(llvm::Function&)
(/lib64/libLLVM-11.so+0xba16d8)
#17 0x00007fdc6d711b23 llvm::FPPassManager::runOnModule(llvm::Module&)
(/lib64/libLLVM-11.so+0xba1b23)
#18 0x00007fdc6d71055d llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/lib64/libLLVM-11.so+0xba055d)
#19 0x00005570361ef73a (/usr/bin/llc+0x1373a)
#20 0x00005570361e8436 main (/usr/bin/llc+0xc436)
#21 0x00007fdc6c7e51e2 __libc_start_main (/lib64/libc.so.6+0x281e2)
#22 0x00005570361e854e _start (/usr/bin/llc+0xc54e)

```


LLVM 12, Ubuntu 18.04, x86_64 (installed with <a href="https://apt.llvm.org/llvm.sh">https://apt.llvm.org/llvm.sh</a>)
```
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
warning: Compiler has made implicit assumption that TypeSize is not scalable.
This may or may not lead to broken code.
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
warning: Compiler has made implicit assumption that TypeSize is not scalable.
This may or may not lead to broken code.
warning: Compiler has made implicit assumption that TypeSize is not scalable.
This may or may not lead to broken code.
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
warning: Possible incorrect use of EVT::getVectorNumElements() for scalable
vector. Scalable flag may be dropped, use
EVT::getVectorElementCount() instead
LLVM ERROR: Scalarization of scalable vectors is not supported.
PLEASE submit a bug report to <a href="https://bugs.llvm.org/">https://bugs.llvm.org/</a> and include the crash
backtrace.
Stack dump:
0.      Program arguments: llc-12 test.ll
1.      Running pass 'Function Pass Manager' on module 'test.ll'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@crash'
 #0 0x00007f3d60b013a3 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xb5c3a3)
 #1 0x00007f3d60aff6d0 llvm::sys::RunSignalHandlers()
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xb5a6d0)
 #2 0x00007f3d60b01a0f (/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xb5ca0f)
 #3 0x00007f3d5fd98980 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x12980)
 #4 0x00007f3d5f094fb7 raise
/build/glibc-S9d2JN/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0
 #5 0x00007f3d5f096921 abort /build/glibc-S9d2JN/glibc-2.27/stdlib/abort.c:81:0
 #6 0x00007f3d60a5ca79 (/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xab7a79)
 #7 0x00007f3d60a5c896 (/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xab7896)
 #8 0x00007f3d6110b2b8 (/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0x11662b8)
 #9 0x00007f3d6110f09b llvm::SelectionDAG::LegalizeTypes()
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0x116a09b)
#10 0x00007f3d611e82d6 llvm::SelectionDAGISel::CodeGenAndEmitDAG()
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0x12432d6)
#11 0x00007f3d611e7a7d
llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0x1242a7d)
#12 0x00007f3d611e5716
llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0x1240716)
#13 0x00007f3d62ce28b5 (/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0x2d3d8b5)
#14 0x00007f3d60e0b31e
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xe6631e)
#15 0x00007f3d60c28a1d llvm::FPPassManager::runOnFunction(llvm::Function&)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xc83a1d)
#16 0x00007f3d60c2e023 llvm::FPPassManager::runOnModule(llvm::Module&)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xc89023)
#17 0x00007f3d60c2909f llvm::legacy::PassManagerImpl::run(llvm::Module&)
(/usr/lib/x86_64-linux-gnu/libLLVM-12.so.1+0xc8409f)
#18 0x000000000040e920 main (/usr/lib/llvm-12/bin/llc+0x40e920)
#19 0x00007f3d5f077bf7 __libc_start_main
/build/glibc-S9d2JN/glibc-2.27/csu/../csu/libc-start.c:344:0
#20 0x000000000040c1aa _start (/usr/lib/llvm-12/bin/llc+0x40c1aa)
```

Cheers,
Loris</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>