16bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/*===---- avx512vlcdintrin.h - AVX512VL and AVX512CD intrinsics ---------------------------=== 26bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 36bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * Permission is hereby granted, free of charge, to any person obtaining a copy 46bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * of this software and associated documentation files (the "Software"), to deal 56bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * in the Software without restriction, including without limitation the rights 66bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 76bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * copies of the Software, and to permit persons to whom the Software is 86bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * furnished to do so, subject to the following conditions: 96bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * The above copyright notice and this permission notice shall be included in 116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * all copies or substantial portions of the Software. 126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * THE SOFTWARE. 206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * 216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *===-----------------------------------------------------------------------=== 226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker */ 236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifndef __IMMINTRIN_H 246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#error "Never use <avx512vlcdintrin.h> directly; include <immintrin.h> instead." 256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif 266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifndef __AVX512VLCDINTRIN_H 286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define __AVX512VLCDINTRIN_H 296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/* Define the default attributes for the functions in this file. */ 316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("avx512vl,avx512cd"))) 326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_broadcastmb_epi64 (__mmask8 __A) 366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_broadcastmb128 (__A); 386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_broadcastmb_epi64 (__mmask8 __A) 426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_broadcastmb256 (__A); 446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_broadcastmw_epi32 (__mmask16 __A) 486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_broadcastmw128 (__A); 506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_broadcastmw_epi32 (__mmask16 __A) 546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_broadcastmw256 (__A); 566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_conflict_epi64 (__m128i __A) 616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, 636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v2di) _mm_undefined_si128 (), 646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mask_conflict_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, 716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v2di) __W, 726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_maskz_conflict_epi64 (__mmask8 __U, __m128i __A) 776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vpconflictdi_128_mask ((__v2di) __A, 796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v2di) 806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm_setzero_di (), 816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_conflict_epi64 (__m256i __A) 866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, 886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4di) _mm256_undefined_si256 (), 896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_mask_conflict_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, 966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4di) __W, 976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 1016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_maskz_conflict_epi64 (__mmask8 __U, __m256i __A) 1026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vpconflictdi_256_mask ((__v4di) __A, 1046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4di) _mm256_setzero_si256 (), 1056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 1096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_conflict_epi32 (__m128i __A) 1106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, 1126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4si) _mm_undefined_si128 (), 1136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 1146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 1176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mask_conflict_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 1186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, 1206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4si) __W, 1216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 1256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_maskz_conflict_epi32 (__mmask8 __U, __m128i __A) 1266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vpconflictsi_128_mask ((__v4si) __A, 1286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4si) _mm_setzero_si128 (), 1296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 1336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_conflict_epi32 (__m256i __A) 1346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, 1366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v8si) _mm256_undefined_si256 (), 1376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 1386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 1416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_mask_conflict_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 1426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, 1446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v8si) __W, 1456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 1496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_maskz_conflict_epi32 (__mmask8 __U, __m256i __A) 1506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vpconflictsi_256_mask ((__v8si) __A, 1526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v8si) 1536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm256_setzero_si256 (), 1546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 1586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_lzcnt_epi32 (__m128i __A) 1596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, 1616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4si) 1626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm_setzero_si128 (), 1636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 1646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 1676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mask_lzcnt_epi32 (__m128i __W, __mmask8 __U, __m128i __A) 1686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, 1706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4si) __W, 1716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 1756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_maskz_lzcnt_epi32 (__mmask8 __U, __m128i __A) 1766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vplzcntd_128_mask ((__v4si) __A, 1786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4si) 1796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm_setzero_si128 (), 1806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 1846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_lzcnt_epi32 (__m256i __A) 1856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, 1876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v8si) 1886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm256_setzero_si256 (), 1896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 1906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 1926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 1936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_mask_lzcnt_epi32 (__m256i __W, __mmask8 __U, __m256i __A) 1946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 1956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, 1966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v8si) __W, 1976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 1986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 1996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 2016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_maskz_lzcnt_epi32 (__mmask8 __U, __m256i __A) 2026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vplzcntd_256_mask ((__v8si) __A, 2046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v8si) 2056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm256_setzero_si256 (), 2066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 2076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 2106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_lzcnt_epi64 (__m128i __A) 2116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, 2136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v2di) 2146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm_setzero_di (), 2156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 2166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 2196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mask_lzcnt_epi64 (__m128i __W, __mmask8 __U, __m128i __A) 2206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, 2226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v2di) __W, 2236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 2246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS 2276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_maskz_lzcnt_epi64 (__mmask8 __U, __m128i __A) 2286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m128i) __builtin_ia32_vplzcntq_128_mask ((__v2di) __A, 2306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v2di) 2316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm_setzero_di (), 2326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 2336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 2366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_lzcnt_epi64 (__m256i __A) 2376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, 2396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4di) 2406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm256_setzero_si256 (), 2416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) -1); 2426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 2456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_mask_lzcnt_epi64 (__m256i __W, __mmask8 __U, __m256i __A) 2466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, 2486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4di) __W, 2496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 2506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m256i __DEFAULT_FN_ATTRS 2536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm256_maskz_lzcnt_epi64 (__mmask8 __U, __m256i __A) 2546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{ 2556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker return (__m256i) __builtin_ia32_vplzcntq_256_mask ((__v4di) __A, 2566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__v4di) 2576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker _mm256_setzero_si256 (), 2586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker (__mmask8) __U); 2596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker} 2606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#undef __DEFAULT_FN_ATTRS 2626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker 2636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif /* __AVX512VLCDINTRIN_H */ 264