<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/154279>154279</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Headers][X86] Update AVX512CD lzcnt intrinsics to use __builtin_elementwise_ctlz and support constexpr
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            good first issue,
            backend:X86,
            clang:frontend,
            clang:headers,
            constexpr
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          RKSimon
      </td>
    </tr>
</table>

<pre>
    Once #154113 / #131995 has landed the AVX512CD lzcnt intrinsics should be updated to use the generic elementwise builtin and test added for constexpr coverage

- [ ] Convert _mm_lzcnt_epi32 etc. (inc mask/maskz variants) to use __builtin_elementwise_ctlz 
- [ ] Remove builtin_ia32_vplzcnt builtins
- [ ] Add constexpr test coverage
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyEkk-PnDgQxT-NuZSmZQrc3Rw4MNNCK-1hpVntam7I2NXgjLGRbUgynz6C9PzLITkZnv_U71U9GaMZHFHNxD0Tl0wuafShfvz7XzN5l_Vef6__cYqAYZGLMs8LYNjuf0VeVQJGGcFKp0lDGgma_59Ejg8XsC_KJTAuBeOiURHi6BeroSdYZi3Tdt7DEmm_NpCjYBSQpYlc-moiQb8Ym4wD6TQkigmk3qpcfQDlXUz0bd6-VgpyIMYbxps7YOIemLjAg3crhQTdNHU7SkezKRAoqQMwPBunYJLxmWG7LS-wymCkS5Fh9QrWdTeE7gNWp5J9gU-1Hmny6xtvZ2SB3Tr_bMBNjJ8uNFp_sLB7e_WR6brQVVHJjOr8JIQ4V0d-zsZalUhlVUh-VeWp4kgqRyoKLI-94lVeZaZGjoKf84qfymN5PvCzQJ5XJ4lK8LzUrOQ0SWMP1q7TwYchMzEuVOeixFOVWdmTjXsOEAfvNVxNiAn2QwyR4QND7KV6JqdZ0Tydj2-qstINrGiuwbu0bf-6MZLUFOK7_up-U8QlC_UGddcvQ2Qltyam-I6ZTLJ7QP-6vSIuTNxv9cUF_tvD9Jvc_XmYW8DiMs8-pPexZEuw9ZjSHFnRMGwZtoNJ49IflJ8Ythvdbbmbg_9CKjFs92ZFhu2tqWuNPwIAAP__jj0aQg">