<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/88227>88227</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[arm] `VSRI` is included in `mpe`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Validark
</td>
</tr>
</table>
<pre>
I happened to notice that the `cortex-a9` ISA does not have `mve`, which I care about today because I want to use `vsri`, which currently only resides in `arm.mve.vsri`.
https://github.com/llvm/llvm-project/blob/b0662a7a7d6d7a4a5339b95d3a20a53390636716/llvm/include/llvm/IR/IntrinsicsARM.td#L1089-L1090
However, according to [this documentation](https://developer.arm.com/documentation/ddi0409/i/instruction-timing/cortex-a9-neon-mpe-instructions?lang=en), the `cortex-a9` has `vsri`, because it (also) exists within `neon mpe`. So LLVM should probably understand that and allow me to use that instruction on that machine unless there is a good reason not to.
Thank you!
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUU0GP4ygT_TX4UoqFwcbxwYeeL4q-SD2X7lXfy1ATs4MhApxM_v0KZ3q7e7WXvYApqvCreu9hSvbsiUbWfWPdocI1zyGOb-iswfizmoK5jyeY8XIhTwZyAB-y1QR5xgx5JmCK6xAz_drhwBSH0-sTmECpJMKM1y1juRJTnIn_wW22eoYTaIwEOIU1Qw4G7zCRxjURnOCGvgShnJji1xTtl2K9xkg-uzsE7-4QKVlDCawv2RiXerlS_buqBsYPjD891jnnS2LyiYkjE8ezzfM61TosTBydu75vu0sMf5LOTBwnF6aycaUE9tgbZXpssZNymIbOSBR8O3AlVd-oj3es12419BE4vZTF52h9sjo9vXyvs2FCPjd8P-yeGz7wz0j_H250pViaRq1DNNafy0xY9y3PNoEJel3IZ8w2eNYdmNh_bc7QlVy4UKzLRB49fi0SR2Msb_lQ4G6QU46rLne7bBfrz0wc_6Z25yn43XKh3ae8xOTRoT8zeSDPxFDg_psmZkz_YPKdbZuBiT26FJgYgH7ZlBPcbJ4fbJafwnKhjcnXAM_Pb98hzWF1Bi4xTDi5O6zeUEwZvXmosnygc-EGC73raLv4hByCf8QW1LP1BKt3lFJBHwlsAoRzCAYiYQp-03IO9WeG_pjR_4R7WJloHpHKjNIMcsCKxqZvRC-kGmQ1j8gnpVSjxaR_iEHtm_aHlI2YSHXNNHS8sqPgouVtw3kr207WXPH90PZ9K1syqmlZy2lB6-qipjrEc2VTWmnc74XoK4cTubR5WAhPN9gumRDF0nHcND2t58Ra7sqAP17JNrvN_BgX1h3KyN9eX06FM1sctYnY_LbWg4dqjW78z0baECUmjhvivwIAAP__3D1tpg">