<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">