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