<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/152461>152461</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang][X86] Replace __builtin_ia32_vfmaddps/d/h/bf16 for __builtin_elementwise_fma
</td>
</tr>
<tr>
<th>Labels</th>
<td>
good first issue,
backend:X86,
clang:frontend,
clang:headers
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
RKSimon
</td>
</tr>
</table>
<pre>
There doesn't appear to be any reason to have these when the generic __builtin_elementwise_fma is the same (and EmitX86BuiltinExpr just lowers to it directly).
A stretch goal would be to remove __builtin_ia32_vfmaddss/d (the old FMA4 intrinsics) as well.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0kkFvnDAQhX-NuYyyggEDe-BAsuFS9ZL2kNtqwAM4NTayzW7z7yto1FaVcrL1Zkbv05uhEPRkmRshH4W8JLTF2fnm5cs3vTib9E69N99n9gzKcbACqwi0rkweooOegew7eKbg7C7MdGOIMweG-8x2_8LElr0e4HrtN22itlc2vLCNdx34Oi4EOhyNgRYGgTVZBc-Ljq91-fh74vnn6uFtCxGMu7MPu5WOoLTnIZp3geeTSFuRti2E6DkOM0yODNzdZtROGR14XtyN_6HQlOP1Ni6kVAgCO7V77xzOKOi-tgVoG722QQ9B4BkowJ2NOSWqydU5P1PCTVbJQsoqSzGZmzHPqSqrosJxRFVX5ZhVrFRJfUE0ZDLRDaYo0zqt0lrWiKcyK6koFVc4nFH2oyhSXkibkzG35eT8lOgQNm4yiUWZJYZ6NuFYFeLknIJR-xDhaBKIAp8EYk_DD7ZK5O1rXf5RB0N2Enk7emfjXv6_MDMp9mHX5SXxzY7w0G9TEEVqdIjhL1TU0RwX83TMyouQj7uXvMALr4aGT2Jej5gFdrPArh-zEkbnP7-LZPOmmWNcg8hbgZ3AbtJx3vrT4BaB3c7z8Tys3r3xEAV2Rxi70UdotwZ_BQAA__-lovNw">