cpu_avx512_knm.c 415 B

1234567891011121314151617
  1. #include <immintrin.h>
  2. int main(void)
  3. {
  4. __m512i a = _mm512_setzero_si512();
  5. __m512 b = _mm512_setzero_ps();
  6. /* 4FMAPS */
  7. b = _mm512_4fmadd_ps(b, b, b, b, b, NULL);
  8. /* 4VNNIW */
  9. a = _mm512_4dpwssd_epi32(a, a, a, a, a, NULL);
  10. /* VPOPCNTDQ */
  11. a = _mm512_popcnt_epi64(a);
  12. a = _mm512_add_epi32(a, _mm512_castps_si512(b));
  13. return _mm_cvtsi128_si32(_mm512_castsi512_si128(a));
  14. }