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