/* Test case for x86-64 preserved registers in dynamic linker. */ #ifdef __AVX__ #include #include #include __m256i audit_test (__m256i x0, __m256i x1, __m256i x2, __m256i x3, __m256i x4, __m256i x5, __m256i x6, __m256i x7) { __m256i ymm; ymm = _mm256_set1_epi32 (1); if (memcmp (&ymm, &x0, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (2); if (memcmp (&ymm, &x1, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (3); if (memcmp (&ymm, &x2, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (4); if (memcmp (&ymm, &x3, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (5); if (memcmp (&ymm, &x4, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (6); if (memcmp (&ymm, &x5, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (7); if (memcmp (&ymm, &x6, sizeof (ymm))) abort (); ymm = _mm256_set1_epi32 (8); if (memcmp (&ymm, &x7, sizeof (ymm))) abort (); return _mm256_setzero_si256 (); } #endif