This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.23-497-gdf2258c


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  df2258c6cb4250e53f12b59785987c338b5cf396 (commit)
      from  58ec4fb881719d0b69989f9a4955290fca531831 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=df2258c6cb4250e53f12b59785987c338b5cf396

commit df2258c6cb4250e53f12b59785987c338b5cf396
Author: Andrew Senkevich <andrew.senkevich@intel.com>
Date:   Mon Jun 20 21:15:50 2016 +0300

    Added tests to ensure linkage through libmvec *_finite aliases which are
    defined in libmvec_nonshared.a (bug 19654).
    
        [BZ #19654]
        * sysdeps/x86_64/fpu/Makefile: Added new tests.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c: New.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-double-libmvec-alias.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c: Likewise.
        * sysdeps/x86_64/fpu/test-float-libmvec-alias.c: Likewise.
        * sysdeps/x86_64/fpu/test-libmvec-alias-mod.c: Likewise.

diff --git a/ChangeLog b/ChangeLog
index 4ed597b..2d794d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2016-06-20  Andrew Senkevich  <andrew.senkevich@intel.com>
+
+	[BZ #19654]
+	* sysdeps/x86_64/fpu/Makefile: Added new tests.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c: New.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-double-libmvec-alias.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c: Likewise.
+	* sysdeps/x86_64/fpu/test-float-libmvec-alias.c: Likewise.
+	* sysdeps/x86_64/fpu/test-libmvec-alias-mod.c: Likewise.
+
 2016-06-20  Wilco Dijkstra  <wdijkstr@arm.com>
 
 	* sysdeps/aarch64/rawmemchr.S (__rawmemchr): New file.
diff --git a/sysdeps/x86_64/fpu/Makefile b/sysdeps/x86_64/fpu/Makefile
index 88742fa..36c4ae9 100644
--- a/sysdeps/x86_64/fpu/Makefile
+++ b/sysdeps/x86_64/fpu/Makefile
@@ -30,9 +30,109 @@ ifeq ($(subdir),math)
 ifeq ($(build-mathvec),yes)
 libmvec-tests += double-vlen2 double-vlen4 double-vlen4-avx2 \
 		 float-vlen4 float-vlen8 float-vlen8-avx2
+tests += test-double-libmvec-alias test-double-libmvec-alias-avx \
+	 test-double-libmvec-alias-avx2 test-double-libmvec-alias-main \
+	 test-double-libmvec-alias-avx-main test-double-libmvec-alias-avx2-main \
+	 test-float-libmvec-alias test-float-libmvec-alias-avx \
+	 test-float-libmvec-alias-avx2 test-float-libmvec-alias-main \
+	 test-float-libmvec-alias-avx-main test-float-libmvec-alias-avx2-main
+
+modules-names += test-double-libmvec-alias-mod \
+		 test-double-libmvec-alias-avx-mod \
+		 test-double-libmvec-alias-avx2-mod \
+		 test-float-libmvec-alias-mod \
+		 test-float-libmvec-alias-avx-mod \
+		 test-float-libmvec-alias-avx2-mod
+
+test-double-libmvec-alias-mod.so-no-z-defs = yes
+test-double-libmvec-alias-avx-mod.so-no-z-defs = yes
+test-double-libmvec-alias-avx2-mod.so-no-z-defs = yes
+test-float-libmvec-alias-mod.so-no-z-defs = yes
+test-float-libmvec-alias-avx-mod.so-no-z-defs = yes
+test-float-libmvec-alias-avx2-mod.so-no-z-defs = yes
+
+$(objpfx)test-double-libmvec-alias: \
+  $(objpfx)test-double-libmvec-alias-mod.so
+$(objpfx)test-double-libmvec-alias-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-double-libmvec-alias-avx: \
+  $(objpfx)test-double-libmvec-alias-avx-mod.so
+$(objpfx)test-double-libmvec-alias-avx-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-double-libmvec-alias-avx2: \
+  $(objpfx)test-double-libmvec-alias-avx2-mod.so
+$(objpfx)test-double-libmvec-alias-avx2-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-double-libmvec-alias-main: \
+  $(objpfx)test-double-libmvec-alias-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-double-libmvec-alias-avx-main: \
+  $(objpfx)test-double-libmvec-alias-avx-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-double-libmvec-alias-avx2-main: \
+  $(objpfx)test-double-libmvec-alias-avx2-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias: \
+  $(objpfx)test-float-libmvec-alias-mod.so
+$(objpfx)test-float-libmvec-alias-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-avx: \
+  $(objpfx)test-float-libmvec-alias-avx-mod.so
+$(objpfx)test-float-libmvec-alias-avx-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-avx2: \
+  $(objpfx)test-float-libmvec-alias-avx2-mod.so
+$(objpfx)test-float-libmvec-alias-avx2-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-main: \
+  $(objpfx)test-float-libmvec-alias-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-avx-main: \
+  $(objpfx)test-float-libmvec-alias-avx-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-avx2-main: \
+  $(objpfx)test-float-libmvec-alias-avx2-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
 
 ifeq (yes,$(config-cflags-avx512))
 libmvec-tests += double-vlen8 float-vlen16
+tests += test-double-libmvec-alias-avx512 \
+	 test-float-libmvec-alias-avx512 \
+	 test-double-libmvec-alias-avx512-main \
+	 test-float-libmvec-alias-avx512-main
+modules-names += test-double-libmvec-alias-avx512-mod \
+		 test-float-libmvec-alias-avx512-mod
+test-double-libmvec-alias-avx512-mod.so-no-z-defs = yes
+test-float-libmvec-alias-avx512-mod.so-no-z-defs = yes
+
+$(objpfx)test-double-libmvec-alias-avx512: \
+  $(objpfx)test-double-libmvec-alias-avx512-mod.so
+$(objpfx)test-double-libmvec-alias-avx512-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-double-libmvec-alias-avx512-main: \
+  $(objpfx)test-double-libmvec-alias-avx512-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-avx512: \
+  $(objpfx)test-float-libmvec-alias-avx512-mod.so
+$(objpfx)test-float-libmvec-alias-avx512-mod.so: \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
+
+$(objpfx)test-float-libmvec-alias-avx512-main: \
+  $(objpfx)test-float-libmvec-alias-avx512-mod.os \
+  $(objpfx)../mathvec/libmvec_nonshared.a $(libmvec)
 endif
 
 double-vlen4-arch-ext-cflags = -mavx
@@ -43,6 +143,19 @@ float-vlen8-arch-ext-cflags = -mavx
 float-vlen8-arch-ext2-cflags = -mavx2
 float-vlen16-arch-ext-cflags = -mavx512f
 
+libmvec-alias-cflags = $(libm-test-fast-math-cflags) -fno-inline -fopenmp \
+		       -ffloat-store -Wno-unknown-pragmas -ffinite-math-only
+
+CFLAGS-test-double-libmvec-alias-mod.c = $(libmvec-alias-cflags)
+CFLAGS-test-double-libmvec-alias-avx-mod.c = $(double-vlen4-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX
+CFLAGS-test-double-libmvec-alias-avx2-mod.c = $(double-vlen4-arch-ext2-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX2
+CFLAGS-test-double-libmvec-alias-avx512-mod.c = $(double-vlen8-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX512F
+
+CFLAGS-test-float-libmvec-alias-mod.c = $(libmvec-alias-cflags)
+CFLAGS-test-float-libmvec-alias-avx-mod.c = $(double-vlen4-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX
+CFLAGS-test-float-libmvec-alias-avx2-mod.c = $(double-vlen4-arch-ext2-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX2
+CFLAGS-test-float-libmvec-alias-avx512-mod.c = $(double-vlen8-arch-ext-cflags) $(libmvec-alias-cflags) -DREQUIRE_AVX512F
+
 CFLAGS-test-double-vlen4-avx2.c = $(libm-test-vec-cflags)
 CFLAGS-test-double-vlen4-avx2-wrappers.c = $(double-vlen4-arch-ext2-cflags)
 
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c
new file mode 100644
index 0000000..514883d
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c
new file mode 100644
index 0000000..514883d
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c
new file mode 100644
index 0000000..514883d
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c
new file mode 100644
index 0000000..43914ef
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c
@@ -0,0 +1 @@
+#include "test-double-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c
new file mode 100644
index 0000000..bae5190
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c
@@ -0,0 +1,25 @@
+/* Part of test to build shared library to ensure link against
+   *_finite aliases from libmvec.
+   Copyright (C) 2016 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <stdlib.h>
+#include <math-tests-arch.h>
+
+#include "test-double.h"
+#include "test-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-alias.c b/sysdeps/x86_64/fpu/test-double-libmvec-alias.c
new file mode 100644
index 0000000..73e97f7
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-double-libmvec-alias.c
@@ -0,0 +1,29 @@
+/* Part of test to ensure link against *_finite aliases from libmvec.
+   Copyright (C) 2016 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+extern int
+test_finite_alias (void);
+
+static int
+do_test (void)
+{
+  return test_finite_alias ();
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../../../test-skeleton.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c
new file mode 100644
index 0000000..7fc3d8a
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c
new file mode 100644
index 0000000..7fc3d8a
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c
new file mode 100644
index 0000000..7fc3d8a
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c
new file mode 100644
index 0000000..f3691cc
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c
@@ -0,0 +1 @@
+#include "test-float-libmvec-alias.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c
new file mode 100644
index 0000000..4376576
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c
@@ -0,0 +1,25 @@
+/* Part of test to build shared library to ensure link against
+   *_finite aliases from libmvec.
+   Copyright (C) 2016 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+#include <stdlib.h>
+#include <math-tests-arch.h>
+
+#include "test-float.h"
+#include "test-libmvec-alias-mod.c"
diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-alias.c b/sysdeps/x86_64/fpu/test-float-libmvec-alias.c
new file mode 100644
index 0000000..73e97f7
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-float-libmvec-alias.c
@@ -0,0 +1,29 @@
+/* Part of test to ensure link against *_finite aliases from libmvec.
+   Copyright (C) 2016 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+extern int
+test_finite_alias (void);
+
+static int
+do_test (void)
+{
+  return test_finite_alias ();
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../../../test-skeleton.c"
diff --git a/sysdeps/x86_64/fpu/test-libmvec-alias-mod.c b/sysdeps/x86_64/fpu/test-libmvec-alias-mod.c
new file mode 100644
index 0000000..ee265ba
--- /dev/null
+++ b/sysdeps/x86_64/fpu/test-libmvec-alias-mod.c
@@ -0,0 +1,66 @@
+/* Part of test to build shared library to ensure link against
+   *_finite aliases from libmvec.
+   Copyright (C) 2016 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#define N 4000
+FLOAT log_arg[N];
+FLOAT exp_arg[N];
+FLOAT log_res[N];
+FLOAT exp_res[N];
+FLOAT pow_res[N];
+int arch_check = 1;
+
+static void
+init_arg (void)
+{
+  int i;
+
+  CHECK_ARCH_EXT;
+
+  arch_check = 0;
+
+  for (i = 0; i < N; i += 1)
+    {
+      log_arg[i] = 1.0;
+      exp_arg[i] = 0.0;
+    }
+}
+
+int
+test_finite_alias (void)
+{
+  int i;
+
+  init_arg ();
+
+  if (arch_check) return 77;
+
+#pragma omp simd
+  for (i = 0; i < N; i += 1)
+    {
+      log_res[i] = FUNC (log) (log_arg[i]);
+      exp_res[i] = FUNC (exp) (exp_arg[i]);
+      pow_res[i] = FUNC (pow) (log_arg[i], log_arg[i]);
+    }
+
+  if (log_res[0] != 0.0) return 1;
+  if (exp_res[0] != 1.0) return 1;
+  if (pow_res[0] != 1.0) return 1;
+
+  return 0;
+}

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   30 +++++
 sysdeps/x86_64/fpu/Makefile                        |  113 ++++++++++++++++++++
 .../fpu/test-double-libmvec-alias-avx-main.c       |    1 +
 .../x86_64/fpu/test-double-libmvec-alias-avx-mod.c |    1 +
 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c |    1 +
 .../fpu/test-double-libmvec-alias-avx2-main.c      |    1 +
 .../fpu/test-double-libmvec-alias-avx2-mod.c       |    1 +
 .../x86_64/fpu/test-double-libmvec-alias-avx2.c    |    1 +
 .../fpu/test-double-libmvec-alias-avx512-main.c    |    1 +
 .../fpu/test-double-libmvec-alias-avx512-mod.c     |    1 +
 .../x86_64/fpu/test-double-libmvec-alias-avx512.c  |    1 +
 .../x86_64/fpu/test-double-libmvec-alias-main.c    |    1 +
 sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c |   25 +++++
 sysdeps/x86_64/fpu/test-double-libmvec-alias.c     |   29 +++++
 .../x86_64/fpu/test-float-libmvec-alias-avx-main.c |    1 +
 .../x86_64/fpu/test-float-libmvec-alias-avx-mod.c  |    1 +
 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c  |    1 +
 .../fpu/test-float-libmvec-alias-avx2-main.c       |    1 +
 .../x86_64/fpu/test-float-libmvec-alias-avx2-mod.c |    1 +
 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c |    1 +
 .../fpu/test-float-libmvec-alias-avx512-main.c     |    1 +
 .../fpu/test-float-libmvec-alias-avx512-mod.c      |    1 +
 .../x86_64/fpu/test-float-libmvec-alias-avx512.c   |    1 +
 sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c |    1 +
 sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c  |   25 +++++
 sysdeps/x86_64/fpu/test-float-libmvec-alias.c      |   29 +++++
 sysdeps/x86_64/fpu/test-libmvec-alias-mod.c        |   66 ++++++++++++
 27 files changed, 337 insertions(+), 0 deletions(-)
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx2.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-avx512.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-double-libmvec-alias.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx2.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-avx512.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-main.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias-mod.c
 create mode 100644 sysdeps/x86_64/fpu/test-float-libmvec-alias.c
 create mode 100644 sysdeps/x86_64/fpu/test-libmvec-alias-mod.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]