diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 18:56:13 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 18:57:13 +0000 |
commit | 82dd75a7f436a19047325d62182590c9f9e23a78 (patch) | |
tree | 60ca20c8cf2b0d178d84725c0715471f76df97e1 /sysdeps/x86_64/tst-audit10.c | |
parent | 0bbb676a2342367c4e52b35e890f24667dabb348 (diff) | |
parent | 963c37d5c0eb62b38f8764b23931c0dcdd497a13 (diff) |
Merge commit 'refs/top-bases/t/tls' into t/tls
Diffstat (limited to 'sysdeps/x86_64/tst-audit10.c')
-rw-r--r-- | sysdeps/x86_64/tst-audit10.c | 38 |
1 files changed, 11 insertions, 27 deletions
diff --git a/sysdeps/x86_64/tst-audit10.c b/sysdeps/x86_64/tst-audit10.c index d104341be8..568011cb96 100644 --- a/sysdeps/x86_64/tst-audit10.c +++ b/sysdeps/x86_64/tst-audit10.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2012-2016 Free Software Foundation, Inc. +/* Test case for preserved AVX512 registers in dynamic linker. + Copyright (C) 2012-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -15,17 +16,14 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -/* Test case for x86-64 preserved registers in dynamic linker. */ - -#ifdef __AVX512F__ -#include <stdlib.h> -#include <string.h> #include <cpuid.h> -#include <immintrin.h> + +int tst_audit10_aux (void); static int avx512_enabled (void) { +#ifdef bit_AVX512F unsigned int eax, ebx, ecx, edx; if (__get_cpuid (1, &eax, &ebx, &ecx, &edx) == 0 @@ -40,34 +38,20 @@ avx512_enabled (void) /* Verify that ZMM, YMM and XMM states are enabled. */ return (eax & 0xe6) == 0xe6; +#else + return 0; +#endif } - -extern __m512i audit_test (__m512i, __m512i, __m512i, __m512i, - __m512i, __m512i, __m512i, __m512i); static int do_test (void) { /* Run AVX512 test only if AVX512 is supported. */ if (avx512_enabled ()) - { - __m512i zmm = _mm512_setzero_si512 (); - __m512i ret = audit_test (zmm, zmm, zmm, zmm, zmm, zmm, zmm, zmm); - - zmm = _mm512_set1_epi64 (0x12349876); - - if (memcmp (&zmm, &ret, sizeof (ret))) - abort (); - } - return 0; -} -#else -static int -do_test (void) -{ - return 0; + return tst_audit10_aux (); + else + return 77; } -#endif #define TEST_FUNCTION do_test () #include "../../test-skeleton.c" |