(root)/
glibc-2.38/
sysdeps/
x86_64/
tst-avx512mod.c
       1  /* Test case for x86-64 preserved AVX512 registers in dynamic linker.  */
       2  
       3  #ifdef __AVX512F__
       4  #include <stdlib.h>
       5  #include <string.h>
       6  #include <immintrin.h>
       7  
       8  __m512i
       9  avx512_test (__m512i x0, __m512i x1, __m512i x2, __m512i x3,
      10  	     __m512i x4, __m512i x5, __m512i x6, __m512i x7)
      11  {
      12    __m512i zmm;
      13  
      14    zmm = _mm512_set1_epi32 (0);
      15    if (memcmp (&zmm, &x0, sizeof (zmm)))
      16      abort ();
      17  
      18    zmm = _mm512_set1_epi32 (1);
      19    if (memcmp (&zmm, &x1, sizeof (zmm)))
      20      abort ();
      21  
      22    zmm = _mm512_set1_epi32 (2);
      23    if (memcmp (&zmm, &x2, sizeof (zmm)))
      24      abort ();
      25  
      26    zmm = _mm512_set1_epi32 (3);
      27    if (memcmp (&zmm, &x3, sizeof (zmm)))
      28      abort ();
      29  
      30    zmm = _mm512_set1_epi32 (4);
      31    if (memcmp (&zmm, &x4, sizeof (zmm)))
      32      abort ();
      33  
      34    zmm = _mm512_set1_epi32 (5);
      35    if (memcmp (&zmm, &x5, sizeof (zmm)))
      36      abort ();
      37  
      38    zmm = _mm512_set1_epi32 (6);
      39    if (memcmp (&zmm, &x6, sizeof (zmm)))
      40      abort ();
      41  
      42    zmm = _mm512_set1_epi32 (7);
      43    if (memcmp (&zmm, &x7, sizeof (zmm)))
      44      abort ();
      45  
      46    return _mm512_set1_epi32 (0x12349876);
      47  }
      48  #endif