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

    <tr>
        <th>Summary</th>
        <td>
            Failure to scalarize vp.strided.load
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:RISC-V
      </td>
    </tr>

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

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

<pre>
    We currently fail when trying to scalarize a fixed vector vp.strided.load.  This was found via mutation testing of IR input to LLC (i.e. bugpoint), and to my knowledge does not correspond to a crash reachable from a C input.  Note that the IR was generated expecting "V" to be enabled, but the IR doesn't have "V" enabled.  

```
$ cat strided-load-crash.ll 
target datalayout = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
target triple = "riscv64-unknown-unknown"

define void @test(ptr %p, i32 %stride) {
entry:
  %v = tail call <4 x i8> @llvm.experimental.vp.strided.load.v4i8.p0.i64(ptr %p, i64 32, <4 x i1> splat (i1 true), i32 4)
  store <4 x i8> %v, ptr %p
  ret void
}

$ ./llc < strided-load-crash.ll
        .attribute      4, 16
        .attribute      5, "rv64i2p1"
        .file   "<stdin>"
ScalarizeVectorResult #0: t26: v1i8,ch = experimental_vp_strided_load<(load unknown-size, align 1)> t0, t25, undef:i64, Constant:i64<32>, t17, Constant:i64<1>

LLVM ERROR: Do not know how to scalarize the result of this operator!

```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxsVFFvozgQ_jXOyygIbELggYds2kgr9e6k9NR7rAwMwbeOjeyBNvvrT0OS7m1VCWHLHn_-5pv5rGM0J4dYi803sXlY6YkGH-oxoD5jXDW-u9T_ILRTCOjIXqDXxsLbgA4oXIw7AXmIrbY6mJ8IGnrzjh3M2JIPMI9JpGA67BLrdZcA_D2YCG86Qu8n18FsNJwn0mS8A8JIjOh7-H4E48aJGP3paQ9ClibBBJrpNHrjSMhKyD1o13HE-QI_nH-z2J0QOo8RnCdofQgYR3-N0dAGHQcIqNtBNxahD_4MGvbXmxKAPz0h0KAJaECmwDxP6DBowg7wfcR2ISikfBFSMmyDgI7hOubTTB9nmYYTcksw6Bk_jtyCEwCR7vgr0tuX7oTModUEN8nWLNl6YZ1Yy_GkwwkJOk3a6oufCIR6YGhcn4Xa4XoUalfky29tPiaZLIXaZbJcOyWva8-8JuUvTApmtHjHCya2c5GvJ8e6uvt4PSHSXYe9cQizNx2IPOXCCVmOFEDIzchKGCV5fk1FyArE9ptId-goXIRiDOD9ebmRuKdazUmqfQ7vYEqhHhnZ2vmcsPDBnNGRtsnnlppzUyZjmnC6nygUOSjJsztqxqhxtJqWhsqAwoS3VmLCOc-ZWSQf8BMZuZk57uMGjgtIiwisyvbhVlGZQyLkwdqWEb6u5hJaJZoomGYiFGmVM3pWfLGzWXKQMsxFbuSY3ctQJb2xHMALah-pM06ox-v2892TL4sVjxgny2mrVKgdkCx4mDNTCrlvh6UM_9f5dR5fb8xfmblQeyFLnsG9KaL5iYsJrTk5yFg79QiU8hrJhfTkOuyF2i3F2cPeu0ja0W1F7bkdH5f4bPtlAFfsKuvT08sf8Hg8_nVk4g9-sTgTgcG__f4IsQPDNV_fA_GL40c2sQ9CZp98t-pq1VWq0iuss63alHlRSLka6lZ1fbHJsctSWZV92qZts1UlNtscC7WRK1PLVG7SLJVZpbapTKoy19W2lUXVFKrsU5GneNbGJksX-3BamRgnrDOZbbLtyuoGbVweXikb3f5A1wm1O35_3q_5reDnONR8dt1Mp8huMJHiLzQyZLE-aGOngL9L8MklqynYeiAaI3tPHoQ8nAwNU5O0_rz06nwf1mPw_2JLQh4WtlHIw43wXMv_AgAA___eXuaU">