<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">