1/* Test case for x86-64 preserved registers in dynamic linker. */
2
3#include <stdlib.h>
4#include <string.h>
5#include <emmintrin.h>
6
7__m128i
8audit_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 (i: 1);
14 if (memcmp (&xmm, &x0, sizeof (xmm)))
15 abort ();
16
17 xmm = _mm_set1_epi32 (i: 2);
18 if (memcmp (&xmm, &x1, sizeof (xmm)))
19 abort ();
20
21 xmm = _mm_set1_epi32 (i: 3);
22 if (memcmp (&xmm, &x2, sizeof (xmm)))
23 abort ();
24
25 xmm = _mm_set1_epi32 (i: 4);
26 if (memcmp (&xmm, &x3, sizeof (xmm)))
27 abort ();
28
29 xmm = _mm_set1_epi32 (i: 5);
30 if (memcmp (&xmm, &x4, sizeof (xmm)))
31 abort ();
32
33 xmm = _mm_set1_epi32 (i: 6);
34 if (memcmp (&xmm, &x5, sizeof (xmm)))
35 abort ();
36
37 xmm = _mm_set1_epi32 (i: 7);
38 if (memcmp (&xmm, &x6, sizeof (xmm)))
39 abort ();
40
41 xmm = _mm_set1_epi32 (i: 8);
42 if (memcmp (&xmm, &x7, sizeof (xmm)))
43 abort ();
44
45 return _mm_setzero_si128 ();
46}
47

source code of glibc/sysdeps/x86_64/tst-auditmod5a.c