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

    <tr>
        <th>Summary</th>
        <td>
            [SelectionDAG] Crash during initial selection DAG construction for get.active.lane.mask
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            backend:AArch64,
            SVE
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
            paulwalker-arm
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          paulwalker-arm
      </td>
    </tr>
</table>

<pre>
    When using "large" scalable vectors we encounter a situation where the compiler asserts during code generation because a code path requires MVT.changeVectorElementType() to return an EVT, which is not possible.

```
define <vscale x 64 x i1> @lane_mask_nxv64i1_i64(i64 %index, i64 %TC) {
  %active.lane.mask = call <vscale x 64 x i1> @llvm.get.active.lane.mask.nxv64i1.i64(i64 %index, i64 %TC)
  ret <vscale x 64 x i1> %active.lane.mask
}
```


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEU02PozoQ_DXNpTUIjCHkwCGTjzm900R5x1FjOuA3jp1nmyTz71ckjFa7O7srISO76arqokwh6N4yN1A-gxBnGs2VzDv7J_InEALKTUJjHJxvfqwlres-mn8HtjgGbXsEIQz5nkEIDIoMtYbxwio6H_DKyFa50Ub2SBh0HClqZ_E6sGeMA6Nyp7M2UzkE9jFgN_oJV7mOsWfL_tHRsqIxMNKjcqY4oOf_R-054D-HfaoGsj0f7sxbwye2cf9xZhA1iCVGh57j6C2Sxe1hD2KN10GrAXVA6yKeXQi6NZxCtoFsNa9VNj_3bcdHbRmhWF-mURlvWEm8oc6h2CLIzJDltxOF9zd7u1RS52-6kiBqXUkEUWrb8W1invf79SQNFs8PeJzOSEV94XRCSickhGKDioz5E625nNKeY_pzczrLSP8u41OC5_hbpl_VzTYtNl_69ViTrim6ZbGkhJu8WuZlVtSZTIbm2OUd17KjdiGqXC6oVbJeqqpmVYpW5YluRCaKrM7qXOZZJtOsk7I6LqjIS7koVQ4y4xNpk94dcL5PdAgjN5UsiyIx1LIJc8RbUu9sOyhWq5VXw-SHALEGIV4P2znxvplwntqxD5OrOsTwHTnqaO735ZUNqymTm9ULlBtcewrDZ2y11VGTwfD5EW5WL6icDdGPj4Oj8_jVz0pGb5ohxnOAYgViB2LX6ziMbarcCcRuUjK_ns7e_ccqgtjdBw4gdveZvwUAAP__na81Jw">