<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 - llvm.get.active.lane.mask crashes for vl=64"
   href="https://bugs.llvm.org/show_bug.cgi?id=47299">47299</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>llvm.get.active.lane.mask crashes for vl=64
          </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>ajcbik@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Given

declare <16 x i1> @llvm.get.active.lane.mask.v16i1.i64(i64, i64)

define <16 x i1> @create_mask64(i64 %0, i64 %1) {
  %3 = call <16 x i1> @llvm.get.active.lane.mask.v16i1.i64(i64 %0, i64 %1)
  ret <16 x i1> %3
}

and compiling this for avx512 yields the following code without issues

        vpbroadcastq    zmm0, rsi
        vpbroadcastq    zmm1, rdi
        vpaddq  zmm2, zmm1, zmmword ptr [rip + .LCPI0_0]
        vpcmpleuq       k0, zmm2, zmm0
        vpaddq  zmm3, zmm1, zmmword ptr [rip + .LCPI0_1]
        vpcmpleuq       k1, zmm3, zmm0
        kunpckbw        k0, k1, k0
        vpcmpltuq       k1, zmm2, zmm1
        vpcmpltuq       k2, zmm3, zmm1
        kunpckbw        k1, k2, k1
        kandnw  k0, k1, k0
        vpmovm2b        xmm0, k0
        vzeroupper
        ret

However, using a longer vector length, like 64, crashes the backend

declare <64 x i1> @llvm.get.active.lane.mask.v64i1.i64(i64, i64)

define <64 x i1> @create_mask64(i64 %0, i64 %1) {
  %3 = call <64 x i1> @llvm.get.active.lane.mask.v64i1.i64(i64 %0, i64 %1)
  ret <64 x i1> %3
}

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: PATH/llvm/llvm-project/build/bin/llc -O3
--x86-asm-syntax=intel -mtriple=x86_64-grtev4-linux-gnu -march=x86-64
-mcpu=skylake-avx512 -mattr=fma,avx512f 
1.      Running pass 'Function Pass Manager' on module '<stdin>'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function
'@create_mask64'
 #0 0x00005581034306a6 llvm::sys::PrintStackTrace(llvm::raw_ostream&)
PATH/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:563:22
 #1 0x0000558103430739 PrintStackTraceSignalHandler(void*)
PATH/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:624:1
 #2 0x000055810342e806 llvm::sys::RunSignalHandlers()
PATH/llvm/llvm-project/llvm/lib/Support/Signals.cpp:70:20
 #3 0x00005581034300f0 SignalHandler(int)
PATH/llvm/llvm-project/llvm/lib/Support/Unix/Signals.inc:405:1
 #4 0x00007f956d292110 __restore_rt
(/lib/x86_64-linux-gnu/libpthread.so.0+0x14110)
 #5 0x0000558100bf3d9e llvm::Type::getTypeID() const
PATH/llvm/llvm-project/llvm/include/llvm/IR/Type.h:135:37
 #6 0x0000558100bfa344 llvm::Type::isVectorTy() const
PATH/llvm/llvm-project/llvm/include/llvm/IR/Type.h:232:46
 #7 0x000055810292fb34 llvm::EVT::isExtendedVector() const
PATH/llvm/llvm-project/llvm/lib/CodeGen/ValueTypes.cpp:75:1
 #8 0x000055810292fe16 llvm::EVT::isExtendedScalableVector() const
PATH/llvm/llvm-project/llvm/lib/CodeGen/ValueTypes.cpp:114:29
 #9 0x0000558100cc0710 llvm::EVT::isScalableVector() const
PATH/llvm/llvm-project/llvm/include/llvm/CodeGen/ValueTypes.h:163:74
#10 0x00005581031faae0 FoldBUILD_VECTOR(llvm::SDLoc const&, llvm::EVT,
llvm::ArrayRef<llvm::SDValue>, llvm::SelectionDAG&)
PATH/llvm/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:4296:3
#11 0x000055810321010b llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc
const&, llvm::EVT, llvm::ArrayRef<llvm::SDValue>, llvm::SDNodeFlags)
PATH/llvm/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7512:56
#12 0x0000558100d32f32 llvm::SelectionDAG::getBuildVector(llvm::EVT,
llvm::SDLoc const&, llvm::ArrayRef<llvm::SDValue>)
PATH/llvm/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h:775:50
#13 0x00005581031b6d2f
llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned
int)
PATH/llvm/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:6911:65
....</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>