<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/78298>78298</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [SLPVectorizer] Assertion `GEP->getNumIndices() == 1 && !isa<Constant>(GEPIdx)' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            llvm:SLPVectorizer,
            llvm:crash
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          danilaml
      </td>
    </tr>
</table>

<pre>
    `opt -passes=slp-vectorizer` crashes on the following example:
```llvm
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"

define void @foo(i64 %0) {
entry:
  %1 = or i64 0, 0
  %2 = insertelement <8 x i64> zeroinitializer, i64 %1, i64 0
  %3 = getelementptr i32, ptr addrspace(1) null, i64 %1
  %4 = getelementptr i32, ptr addrspace(1) null, i64 %0
 ret void
}
```
with
```
SLPVectorizer.cpp:16275: bool llvm::SLPVectorizerPass::vectorizeGEPIndices(llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&): Assertion `GEP->getNumIndices() == 1 && !isa<Constant>(GEPIdx)' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
```

Exposed after https://github.com/llvm/llvm-project/pull/76660
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VFuL6zYQ_jXjF-Egj3zLgx-8uRwKhxJY2tci24qjriIZSd7Nnl9fJOeyKeelLRQSZTT3-fRluHNy1EI0ULxAsU347E_GNgPXUvGzSjozfDZQUjN5kk7cOeGAbZ2a0nfRe2PlD2GhpKS33J2EI0YTfxLkaJQyH1KPRFz4eVICWAt0C7SFki4fpd7Pi8pzOwpPBu654p9m9gTYlgCiSM_AWpFOWFFgLcN4hGv2fA1SmccjlXchwxpYm2GdHmt6lXRUlbfwMk9fo1oGdTrhzVBfvwwXGwLiU7feykmJW6eXuvyjzNNZv2nzoVMl9XxJRz3fo5ZzEEepBXk3ciCQ06MxgLUscwJYUMA1gepl8RTa2887aCQ4ZLGYsSQEUMANoV-sGK1SO2G9UOIsdIBxU5MLiYjsyA9hjdTSS67iq-GGXEtnN_lrQhYTjuKWbfKWSIbBNYh8GKybeC8A6yy0rmelnnI-UuX_LdWtKyt8hO6KaLX9G6OW64f0p58aXr8ffr9zdtVPU2QCVgWwlnTGKBIpyVpgz74H7tyivnP-2-7wix5kLxxg_Qh74U72L8r0b4BtmOBhcmr68o9ZvM1v0-v3A2AJuA5NtC68njSaQEm_7Q4psN0o_K_z-VEssoRtA6AZiaElAcyk48A2G6Od59oD2wHWocnhEnJjRY5cKjGsFigO33ft6464uTtLTzjp5pFYMRnriTfk5P0UB8Y94H6U_jR3q96cAfdxnuUnnaz5U_QecC-dm0Nze8L1QKTu1TyIuAfiWiAd79-85b1Y_fRhlnN3mYwTA-FHL-w_72GKnNlXZVnSZGjYsGZrnogmq2iRI6V5npyavmd1ORSsL7riWA_VwPJerAu2Xue0GPoskQ1SzGmWlVmRV5ivCopZzfNs3fdVx5FCTsWZS7UK5VfGjkkcvqlqXNeJ4p1QLu5SxOvbP1Ep7APcPIwRn6Astolt4kjdPDrIqZLOu0cVL72KS_o5XbH9P0iTzFY1_54VEZu_AgAA__-aHd_d">