<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/55021>55021</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Assertion in file SelectionDAG.cpp:1454 `when trying to lower @llvm.masked.scatter on X86
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
fhahn
</td>
</tr>
</table>
<pre>
`llc` triggers the following assertion for the code below: https://llvm.godbolt.org/z/jME9oYrbh
```
SelectionDAG.cpp:1454: llvm::SDValue llvm::SelectionDAG::getConstant(uint64_t, const llvm::SDLoc&, llvm::EVT, bool, bool): Assertion `(EltVT.getSizeInBits() >= 64 || (uint64_t)((int64_t)Val >> EltVT.getSizeInBits()) + 1 < 2) && "getConstant with a uint64_t value that doesn't fit in the type!"' failed
```
```
define void @crash(ptr %result, <4 x i64>* %idx.ptr, <4 x i1>* %mask.ptr) #0 {
entry:
%idx = load <4 x i64>, <4 x i64>* %idx.ptr
%mask = load <4 x i1>, <4 x i1>* %mask.ptr
%0 = getelementptr inbounds [512 x double], ptr %result, <4 x i64> %idx
call void @llvm.masked.scatter.v4f64.v4p0(<4 x double> zeroinitializer, <4 x ptr> %0, i32 0, <4 x i1> %mask)
ret void
}
; Function Attrs: nocallback nofree nosync nounwind willreturn writeonly
declare void @llvm.masked.scatter.v4f64.v4p0(<4 x double>, <4 x ptr>, i32 immarg, <4 x i1>) #1
attributes #0 = { "target-cpu"="skylake-avx512" }
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJydVU1v4zYQ_TXyZRBBoj5sHXSwY6co0J6yCNrTghLHFjc0aZBUHOfXd0jLayeb7KGALIoz8ntvPjjqjDi1SZ0p1dMdvJW7HVoHfkDYGqXMUeodcOfQemk02Wz09UYgdEj-pFjC4P3B0UPCHuhS6mWf7ozojPKpsTsyvdHvx9-bxvxruyHJ1km2nO51Nl1x-4gK-0C0Xv6R9ocDYeZlVQaOgBooiuXj-omrEW8tN387W3bo7412nmufsMUota_L7_R4T8rJ_A7tL9MnrA6-q3Xz9C0YOmPUdW2CjuXPXATVbLFR_ulbSnyP8g3_1CvpHVnpZUiKTVKsoS4hmd_TBe-UNPGtxXVPQZ3_soEvMSMsW0FOb94DO29Jek0Lu4kZjtIPwOFCBy8xY37gHoRBpxM297CVHqSO9fSnAyYsJxTywJZLheLTCn1qFLiVGuHFSAFJmfWWu4EEH7wlXZVFN6qYexJdwivIugyBsmXwSvGa0ou37vzq3XP3fHaHSIuMUrk6c6L29hSKFXcwQUHIuDJcfOT6PfkVIxD-CpJ_wPhM4RUjiwBUDmrLPekMeZC6M6MWDpJqVeWMQIQZO4VJtQ7Av0_VJPVC0XOlfiY7nrYgAkXqeu492vSl3NYl3Q-hQSekiY7A3tAaqaWXXFF73WY-hHFmy4JVFgyyj2FfYg7dOOmx6KOcqTfm63etUqzgYdTxeMLSexsGBWgTguh4_0yPW4tIizvpnpZR08wR1MFKEfBoNRyt9Gi0Ol26rVfc4v_PwC8RX4KV-z0P8-pjoWPv5bdREYuV3ejRTW1JBafWDMfQEwT6u_4whtNUUHmZez4p_ox3_OWVak8GuCbpcpJmoi1EUzR85qVX2F7nDB1ROqoK4YvpGAbRcUA6yPYUprU31LxHtF_kBgjyn0U9G61q3w_uHQ2NsUt7s5-m-LTcHaz5Qcy0lc6NSMPooaoyls-GtsaGbRcN5g3Ocya4wKwp-xwbzDJRVWymOH0mXEttT3FrPEKECKmp1jPZsoyxrGR5Ps_mbJ5m5SIvm0U_R96Ivm8oBNzTNEpjIPQxmdk2SurGnQvxSefd1UkfKrnTiJGO8PnoB2Pb7cAHPYvEbRT-H2AJDkk">