<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/145512>145512</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[VectorCombine] Expand Intrinsic::vector_insert calls into shufflevectors
</td>
</tr>
<tr>
<th>Labels</th>
<td>
good first issue,
llvm::vectorcombine
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
RKSimon
</td>
</tr>
</table>
<pre>
This is already performed in InstCombinerImpl.visitCallInst - but this occurs AFTER vector-combine has run, so further cost driven vector-combine shuffle folds are missed.
We should only need to handle vector_insert calls with FixedVectorTypes and there might not be any reason for a cost check, but we must ensure the shuffle are added back to the worklist to allow further expansion.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJxcUs1u2zwQfBrqsrAgrSQ7Pujgz4mA4LulQXssKHJlsaZIg0va8dsXtN305yQIw5mdmV3JbA6OqBfdf6J7LmSKsw_92_9fzOJdMXp97d9nw2AYpA0k9RVOFCYfFtJgHLw6jnu_jMZReF1OtjwbNnEvrc0IrGBMEWJW8EqlwLAb3l_e4Ewq-rBSdybMkiEkJ3AP7GFKIc4UQHmOoIM5k_uXwHOaJksweasZZCBYDDPpUlQ7Ue2-5Rc-WQ3e2Ss4Ig3RwyydtvTQ-m4cU4igpLUMFxNnGMwH6a839P16IgbpNGQrWf4wR3A-wkgg3RUCSfYOJh9A3p2qmdQxR8iRLwRL4gjkOAXKIp-es1upNWkYpTpmXxm9-HC0hmP-l9b6y2cN9HGSjo13ZaH7Rm-brSyorzddtdng07op5r6tG91WFU24Htdr3NaqqZsatxJ1U623qjA9VthVa2zrpt20TVlP7dNTM06IuKloo0Vb0SKNLa09L6UPh8IwJ-rrtutqLKwcyfLtShAP3muYTOAIt0cCUeBeIGauaHai2d0rfmwr491zEfqMr8Z0YNFWOSv_nhZNtLcrvNf_OCnRPcNLjq_h1cVgHBv154C_d2hc9L9avuNcpGD7OcYTZxoOAoeDiXMaS-UXgcPN8f2zOgX_g1QUONxSscDhkf7c488AAAD__xOiFW8">