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
audit_test(__m128i x0,__m128i x1,__m128i x2,__m128i x3,__m128i x4,__m128i x5,__m128i x6,__m128i x7)8 audit_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 (0x100);
14 if (memcmp (&xmm, &x0, sizeof (xmm)))
15 abort ();
16
17 xmm = _mm_set1_epi32 (0x101);
18 if (memcmp (&xmm, &x1, sizeof (xmm)))
19 abort ();
20
21 xmm = _mm_set1_epi32 (0x102);
22 if (memcmp (&xmm, &x2, sizeof (xmm)))
23 abort ();
24
25 xmm = _mm_set1_epi32 (0x103);
26 if (memcmp (&xmm, &x3, sizeof (xmm)))
27 abort ();
28
29 xmm = _mm_set1_epi32 (0x104);
30 if (memcmp (&xmm, &x4, sizeof (xmm)))
31 abort ();
32
33 xmm = _mm_set1_epi32 (0x105);
34 if (memcmp (&xmm, &x5, sizeof (xmm)))
35 abort ();
36
37 xmm = _mm_set1_epi32 (0x106);
38 if (memcmp (&xmm, &x6, sizeof (xmm)))
39 abort ();
40
41 xmm = _mm_set1_epi32 (0x107);
42 if (memcmp (&xmm, &x7, sizeof (xmm)))
43 abort ();
44
45 return _mm_setzero_si128 ();
46 }
47