]> sourceware.org Git - glibc.git/commitdiff
Added runtime check for AVX vector math tests.
authorAndrew Senkevich <andrew.senkevich@intel.com>
Wed, 29 Jul 2015 16:47:29 +0000 (19:47 +0300)
committerAndrew Senkevich <andrew.senkevich@intel.com>
Wed, 29 Jul 2015 16:47:29 +0000 (19:47 +0300)
    [BZ #18731]
    * sysdeps/x86_64/fpu/math-tests-arch.h: Added AVX runtime check.
    * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise.
    * sysdeps/x86_64/fpu/test-float-vlen8.c: Likewise.

ChangeLog
sysdeps/x86_64/fpu/math-tests-arch.h
sysdeps/x86_64/fpu/test-double-vlen4.c
sysdeps/x86_64/fpu/test-float-vlen8.c

index c753d5c000d4988548c00aaf9e15eb74b53fd416..9a5e489d86298cd2534320a605d9fe22fdd53cf1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-07-29  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+       [BZ #18731]
+       * sysdeps/x86_64/fpu/math-tests-arch.h: Added AVX runtime check.
+       * sysdeps/x86_64/fpu/test-double-vlen4.c: Likewise.
+       * sysdeps/x86_64/fpu/test-float-vlen8.c: Likewise.
+
 2015-07-27  Mike Frysinger  <vapier@gentoo.org>
 
        * sysdeps/unix/sysv/linux/ia64/localplt.data: Delete __tls_get_addr.
index 56714f51422534fda3828740ae0fb218817ee8a8..e8833bfe0ae574fc8ee73f7e8b5bebbd0dd48110 100644 (file)
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if defined REQUIRE_AVX2
+#if defined REQUIRE_AVX
+# include <init-arch.h>
+
+/* Set to 1 if AVX supported.  */
+static int avx_usable;
+
+# define INIT_ARCH_EXT                                         \
+  do                                                           \
+    {                                                          \
+      __init_cpu_features ();                                  \
+      avx_usable = __cpu_features.feature[index_AVX_Usable]    \
+                   & bit_AVX_Usable;                           \
+    }                                                          \
+  while (0)
+
+# define CHECK_ARCH_EXT                                        \
+  do                                                           \
+    {                                                          \
+      if (!avx_usable) return;                                 \
+    }                                                          \
+  while (0)
+
+#elif defined REQUIRE_AVX2
 # include <init-arch.h>
 
   /* Set to 1 if AVX2 supported.  */
index 679397fa207b0b65736d848a3ea44f87089c80e8..f0813437b4f0fb3f3f11a93364e2cbcb751c34e5 100644 (file)
@@ -25,4 +25,6 @@
 #define TEST_VECTOR_exp 1
 #define TEST_VECTOR_pow 1
 
+#define REQUIRE_AVX
+
 #include "libm-test.c"
index 581cbdec16988031d71d5fdd24b5fe27b33090e5..891e58ff8875bb3695816bd5ad6e591793792564 100644 (file)
@@ -25,4 +25,6 @@
 #define TEST_VECTOR_expf 1
 #define TEST_VECTOR_powf 1
 
+#define REQUIRE_AVX
+
 #include "libm-test.c"
This page took 0.114253 seconds and 5 git commands to generate.