<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/117030>117030</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[NFC] Update `isVectorIntrinsicWith...` functions to consider `TargetTransformInfo`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
inbelic
</td>
</tr>
</table>
<pre>
The functions `isVectorIntrinsicWithScalarOpAtArg` and `isVectorIntrinsicWithStructReturnOverloadAtField` are unable to consider target specific intrinsics. This issue is resolved when these functions appropriately use the TTI impl when possible.
Essentially we want consistent behaviour with the changes here: https://github.com/llvm/llvm-project/pull/114849
AC:
- [ ] Update `isVectorIntrinsicWithScalarOpAtArg` and `isVectorIntrinsicWithStructReturnOverloadAtField` to have a third parameter of `TargetTransformInfo` and to use this implementation when there is a target specific intrinsic. Update comment description of functions to include the new parameter
- [ ] Update all uses-cases to pass in this argument
- [ ] Remove the scalarizer functionality of `isVectorIntrinsicWithScalarOpAtArg` in `Scalarizer.cpp`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8VMGOpEYM_ZriYi0CumGaA4fenbQ0l6y020nOpjCNo6KqVDbdmnx9BD0zO1lppOSSCyBhPz-_ZxtF-OKJOlN_NvVjhotOIXXse3Jssz4Mz915IhgXb5WDFzBNwfI7WQ3pyWtiL2z_YJ2-W3SYvsajHtPFNAWgHz4O1rRY_Ua6JP_1SskFHI56YnLDlpoIFo-9I9AANnjhgRIopgspSCTLI1vgV0jJ4TyxAIssBCyQSIK70gC3iTzoRPK-BYwxhZgYldwzLEJrBJzPT8BzdPecGES4d5Sb4tEUx_vzFxHyyujcM9wIbuj1zk6UvEJPE145LAlurNMGaif0FxKYKJHZHWFSjWJ2R1OdTHW6sE5Ln9swm-rk3PX19Smm8CdZNdUpLs6Z6lSW-8O-fc_l-GWF2T4_gak_g6kfAX6LAyr9LyZpgAmvBAg6cRogYsKZlBKEccU8b26dE3oZQ5qf_BheK2p4UX31bI6OZvKKqzlvhqXNR_zY8_y1VxvmNR0GEps4bihhfGe3BmBv3TLcffZ0-8H1ZwFfMNG5laF8sii0IUQUAfZ3zpguy1rz5-xvNIfrvYpsSvNflN6YoGN9fhHn37nDfo39_gaV2xhNU2RDtxvaXYsZdeXDriqrtq7rbOpaOw77FgmrGse2Gfumrg-HCktrD9jWTcZdVVT7sqyKsi3qus7Htmweih0OdGjKZr8z-4JmZJevY5iHdMm2nerK8qHYFZnDnpxsx6KqViG3v6aq1tuRum12--UiZl84FpUfMMrqtivz6-nLO6E_kiLP81WAf5j4dgc-HK5sSa77zyu29SDbkm1NXrvq7wAAAP__kaK-ZA">