From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7814) id 9888A3857C7C; Fri, 29 Oct 2021 22:19:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9888A3857C7C Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Fangrui Song To: glibc-cvs@sourceware.org Subject: [glibc/maskray/relr] x86_64: Add missing libmvec ABI tests X-Act-Checkin: glibc X-Git-Author: Sunil K Pandey X-Git-Refname: refs/heads/maskray/relr X-Git-Oldrev: 927246e1882e4aa0ac3abac1fc795be494c38141 X-Git-Newrev: 4f690aad9ee50ff54e94a7aac87c2a076d625f26 Message-Id: <20211029221943.9888A3857C7C@sourceware.org> Date: Fri, 29 Oct 2021 22:19:43 +0000 (GMT) X-BeenThere: glibc-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Glibc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Oct 2021 22:19:43 -0000 https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=4f690aad9ee50ff54e94a7aac87c2a076d625f26 commit 4f690aad9ee50ff54e94a7aac87c2a076d625f26 Author: Sunil K Pandey Date: Wed Oct 13 13:37:24 2021 -0700 x86_64: Add missing libmvec ABI tests Add vector ABI tests for cos, exp, log, pow and sin functions. Reviewed-by: H.J. Lu Diff: --- sysdeps/x86_64/fpu/Makeconfig | 11 ++---- sysdeps/x86_64/fpu/test-double-libmvec-cos-avx.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-cos-avx2.c | 1 + .../x86_64/fpu/test-double-libmvec-cos-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-cos.c | 3 ++ sysdeps/x86_64/fpu/test-double-libmvec-exp-avx.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-exp-avx2.c | 1 + .../x86_64/fpu/test-double-libmvec-exp-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-exp.c | 3 ++ sysdeps/x86_64/fpu/test-double-libmvec-log-avx.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-log-avx2.c | 1 + .../x86_64/fpu/test-double-libmvec-log-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-log.c | 3 ++ sysdeps/x86_64/fpu/test-double-libmvec-pow-avx.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-pow-avx2.c | 1 + .../x86_64/fpu/test-double-libmvec-pow-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-pow.c | 3 ++ sysdeps/x86_64/fpu/test-double-libmvec-sin-avx.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-sin-avx2.c | 1 + .../x86_64/fpu/test-double-libmvec-sin-avx512f.c | 1 + sysdeps/x86_64/fpu/test-double-libmvec-sin.c | 3 ++ sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx2.c | 1 + .../x86_64/fpu/test-float-libmvec-cosf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-cosf.c | 3 ++ sysdeps/x86_64/fpu/test-float-libmvec-expf-avx.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-expf-avx2.c | 1 + .../x86_64/fpu/test-float-libmvec-expf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-expf.c | 3 ++ sysdeps/x86_64/fpu/test-float-libmvec-logf-avx.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-logf-avx2.c | 1 + .../x86_64/fpu/test-float-libmvec-logf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-logf.c | 3 ++ sysdeps/x86_64/fpu/test-float-libmvec-powf-avx.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-powf-avx2.c | 1 + .../x86_64/fpu/test-float-libmvec-powf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-powf.c | 3 ++ sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx2.c | 1 + .../x86_64/fpu/test-float-libmvec-sinf-avx512f.c | 1 + sysdeps/x86_64/fpu/test-float-libmvec-sinf.c | 3 ++ sysdeps/x86_64/fpu/test-vector-abi-arg1.h | 43 ++++++++++++++++++++ sysdeps/x86_64/fpu/test-vector-abi-arg2.h | 46 ++++++++++++++++++++++ 43 files changed, 152 insertions(+), 8 deletions(-) diff --git a/sysdeps/x86_64/fpu/Makeconfig b/sysdeps/x86_64/fpu/Makeconfig index 0a9341cdd9..24aaee1a43 100644 --- a/sysdeps/x86_64/fpu/Makeconfig +++ b/sysdeps/x86_64/fpu/Makeconfig @@ -29,15 +29,10 @@ libmvec-funcs = \ sin \ sincos \ -# FIXME: Add ABI tests for all libmvec functions and replace -# libmvec-abi-funcs with libmvec-funcs. -libmvec-abi-funcs = \ - sincos - # The base libmvec ABI tests. libmvec-abi-func-tests = \ - $(addprefix test-double-libmvec-,$(libmvec-abi-funcs)) \ - $(addsuffix f,$(addprefix test-float-libmvec-,$(libmvec-abi-funcs))) + $(addprefix test-double-libmvec-,$(libmvec-funcs)) \ + $(addsuffix f,$(addprefix test-float-libmvec-,$(libmvec-funcs))) # The AVX libmvec ABI tests. libmvec-abi-func-avx-tests = \ @@ -62,7 +57,7 @@ $(common-objpfx)libmvec.mk: $(common-objpfx)config.make echo; \ done; \ done; \ - for t in $(libmvec-abi-funcs); do \ + for t in $(libmvec-funcs); do \ echo "CFLAGS-test-double-libmvec-$$t.c = \\"; \ echo " \$$(libmvec-abi-test-cflags)"; \ echo "CFLAGS-test-double-libmvec-$$t-avx.c = \\"; \ diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx.c new file mode 100644 index 0000000000..f2b3e8e883 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cos.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx2.c new file mode 100644 index 0000000000..f2b3e8e883 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cos.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx512f.c new file mode 100644 index 0000000000..f2b3e8e883 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cos-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-cos.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-cos.c b/sysdeps/x86_64/fpu/test-double-libmvec-cos.c new file mode 100644 index 0000000000..ebc688163e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-cos.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC cos +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx.c new file mode 100644 index 0000000000..fb485c3558 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx2.c new file mode 100644 index 0000000000..fb485c3558 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx512f.c new file mode 100644 index 0000000000..fb485c3558 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-exp.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-exp.c b/sysdeps/x86_64/fpu/test-double-libmvec-exp.c new file mode 100644 index 0000000000..fd8143aacc --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-exp.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC exp +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-log-avx.c new file mode 100644 index 0000000000..1acdf16a6e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-log-avx2.c new file mode 100644 index 0000000000..1acdf16a6e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-log-avx512f.c new file mode 100644 index 0000000000..1acdf16a6e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-log.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-log.c b/sysdeps/x86_64/fpu/test-double-libmvec-log.c new file mode 100644 index 0000000000..a17a02ca66 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-log.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC log +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx.c new file mode 100644 index 0000000000..7c921ccad5 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-pow.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx2.c new file mode 100644 index 0000000000..7c921ccad5 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-pow.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx512f.c new file mode 100644 index 0000000000..7c921ccad5 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-pow-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-pow.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-pow.c b/sysdeps/x86_64/fpu/test-double-libmvec-pow.c new file mode 100644 index 0000000000..c70e24b663 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-pow.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC pow +#include "test-vector-abi-arg2.h" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx.c b/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx.c new file mode 100644 index 0000000000..c785cd0445 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx.c @@ -0,0 +1 @@ +#include "test-double-libmvec-sin.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx2.c b/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx2.c new file mode 100644 index 0000000000..c785cd0445 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx2.c @@ -0,0 +1 @@ +#include "test-double-libmvec-sin.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx512f.c b/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx512f.c new file mode 100644 index 0000000000..c785cd0445 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sin-avx512f.c @@ -0,0 +1 @@ +#include "test-double-libmvec-sin.c" diff --git a/sysdeps/x86_64/fpu/test-double-libmvec-sin.c b/sysdeps/x86_64/fpu/test-double-libmvec-sin.c new file mode 100644 index 0000000000..bc2fb3c614 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-double-libmvec-sin.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE double +#define LIBMVEC_FUNC sin +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx.c new file mode 100644 index 0000000000..928f4b607b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-cosf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx2.c new file mode 100644 index 0000000000..928f4b607b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-cosf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx512f.c new file mode 100644 index 0000000000..928f4b607b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cosf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-cosf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-cosf.c b/sysdeps/x86_64/fpu/test-float-libmvec-cosf.c new file mode 100644 index 0000000000..d8ecea7e6a --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-cosf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC cosf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx.c new file mode 100644 index 0000000000..9e0b6d667c --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-expf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx2.c new file mode 100644 index 0000000000..9e0b6d667c --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-expf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx512f.c new file mode 100644 index 0000000000..9e0b6d667c --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-expf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-expf.c b/sysdeps/x86_64/fpu/test-float-libmvec-expf.c new file mode 100644 index 0000000000..0c21b9ae83 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-expf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC expf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx.c new file mode 100644 index 0000000000..92767c9462 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-logf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx2.c new file mode 100644 index 0000000000..92767c9462 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-logf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx512f.c new file mode 100644 index 0000000000..92767c9462 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-logf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-logf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-logf.c b/sysdeps/x86_64/fpu/test-float-libmvec-logf.c new file mode 100644 index 0000000000..964d869e72 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-logf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC logf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx.c new file mode 100644 index 0000000000..e00d4e73e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-powf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx2.c new file mode 100644 index 0000000000..e00d4e73e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-powf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx512f.c new file mode 100644 index 0000000000..e00d4e73e0 --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-powf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-powf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-powf.c b/sysdeps/x86_64/fpu/test-float-libmvec-powf.c new file mode 100644 index 0000000000..ef8559b0ca --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-powf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC powf +#include "test-vector-abi-arg2.h" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx.c new file mode 100644 index 0000000000..302886760e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx.c @@ -0,0 +1 @@ +#include "test-float-libmvec-sinf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx2.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx2.c new file mode 100644 index 0000000000..302886760e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx2.c @@ -0,0 +1 @@ +#include "test-float-libmvec-sinf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx512f.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx512f.c new file mode 100644 index 0000000000..302886760e --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinf-avx512f.c @@ -0,0 +1 @@ +#include "test-float-libmvec-sinf.c" diff --git a/sysdeps/x86_64/fpu/test-float-libmvec-sinf.c b/sysdeps/x86_64/fpu/test-float-libmvec-sinf.c new file mode 100644 index 0000000000..00d3255ccf --- /dev/null +++ b/sysdeps/x86_64/fpu/test-float-libmvec-sinf.c @@ -0,0 +1,3 @@ +#define LIBMVEC_TYPE float +#define LIBMVEC_FUNC sinf +#include "test-vector-abi-arg1.h" diff --git a/sysdeps/x86_64/fpu/test-vector-abi-arg1.h b/sysdeps/x86_64/fpu/test-vector-abi-arg1.h new file mode 100644 index 0000000000..962fafcd0b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-vector-abi-arg1.h @@ -0,0 +1,43 @@ +/* Test for vector ABI with a single argument. + Copyright (C) 2016-2021 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 + . */ + +#include +#include + +/* Since libsupport_nonshared.a is placed before test-libmvec*.o, which + defines do_test, reference support_test_main here to include it to + avoid undefined reference to support_test_main. The libmvec ABI test + doesn't need other symbols in libsupport_nonshared.a. */ +__typeof (support_test_main) *support_test_main_p = support_test_main; + +#define N 1000 +LIBMVEC_TYPE x[N], c[N]; + +int +test_vector_abi (void) +{ + int i; + for(i = 0; i < N; i++) + c[i] = i / 3; + +#pragma omp simd + for(i = 0; i < N; i++) + x[i] = LIBMVEC_FUNC (c[i]); + + return 0; +} diff --git a/sysdeps/x86_64/fpu/test-vector-abi-arg2.h b/sysdeps/x86_64/fpu/test-vector-abi-arg2.h new file mode 100644 index 0000000000..4b7e10d26b --- /dev/null +++ b/sysdeps/x86_64/fpu/test-vector-abi-arg2.h @@ -0,0 +1,46 @@ +/* Test for vector ABI with 2 arguments. + Copyright (C) 2016-2021 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 + . */ + +#include +#include + +/* Since libsupport_nonshared.a is placed before test-libmvec*.o, which + defines do_test, reference support_test_main here to include it to + avoid undefined reference to support_test_main. The libmvec ABI test + doesn't need other symbols in libsupport_nonshared.a. */ +__typeof (support_test_main) *support_test_main_p = support_test_main; + +#define N 1000 +LIBMVEC_TYPE x[N], s[N], c[N]; + +int +test_vector_abi (void) +{ + int i; + for(i = 0; i < N; i++) + { + c[i] = i / 3; + s[i] = c[i]; + } + +#pragma omp simd + for(i = 0; i < N; i++) + x[i] = LIBMVEC_FUNC (s[i], c[i]); + + return 0; +}