This commit is contained in:
Martin Reinecke 2019-01-21 11:30:05 +01:00
parent e231a0e184
commit 7ef585e3bb
8 changed files with 20 additions and 55 deletions

View file

@ -18,11 +18,11 @@ libsharp_la_SOURCES = \
libsharp/sharp_vecsupport.h \
libsharp/sharp_ylmgen_c.h
libavx_la_SOURCES = libsharp/sharp_core_avx.c
libavx2_la_SOURCES = libsharp/sharp_core_avx2.c
libfma_la_SOURCES = libsharp/sharp_core_fma.c
libfma4_la_SOURCES = libsharp/sharp_core_fma4.c
libavx512f_la_SOURCES = libsharp/sharp_core_avx512f.c
libavx_la_SOURCES = libsharp/sharp_core_inc.c
libavx2_la_SOURCES = libsharp/sharp_core_inc.c
libfma_la_SOURCES = libsharp/sharp_core_inc.c
libfma4_la_SOURCES = libsharp/sharp_core_inc.c
libavx512f_la_SOURCES = libsharp/sharp_core_inc.c
noinst_LTLIBRARIES = libavx.la libavx2.la libfma.la libfma4.la libavx512f.la
@ -35,7 +35,6 @@ include_HEADERS = \
libsharp/sharp_cxx.h
EXTRA_DIST = \
libsharp/sharp_core_inc.c \
runtest.sh
check_PROGRAMS = sharp_testsuite
@ -46,11 +45,11 @@ TESTS = runtest.sh
AM_CFLAGS = -I$(top_srcdir)/c_utils -I$(top_srcdir)/libsharp @AM_CFLAGS@
libavx_la_CFLAGS = ${AM_CFLAGS} -mavx
libavx2_la_CFLAGS = ${AM_CFLAGS} -mavx2
libfma_la_CFLAGS = ${AM_CFLAGS} -mfma
libfma4_la_CFLAGS = ${AM_CFLAGS} -mfma4
libavx512f_la_CFLAGS = ${AM_CFLAGS} -mavx512f
libavx_la_CFLAGS = ${AM_CFLAGS} -mavx -DARCH=avx
libavx2_la_CFLAGS = ${AM_CFLAGS} -mavx2 -DARCH=avx2
libfma_la_CFLAGS = ${AM_CFLAGS} -mfma -DARCH=fma
libfma4_la_CFLAGS = ${AM_CFLAGS} -mfma4 -DARCH=fma4
libavx512f_la_CFLAGS = ${AM_CFLAGS} -mavx512f -DARCH=avx512f
pkgconfigdir = $(libdir)/pkgconfig
nodist_pkgconfig_DATA = @PACKAGE_NAME@.pc

View file

@ -1,9 +1,7 @@
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#define ARCH default
#define GENERIC_ARCH
#include "sharp_core_inc.c"
#undef GENERIC_ARCH
#undef ARCH
typedef void (*t_inner_loop) (sharp_job *job, const int *ispair,

View file

@ -1,8 +0,0 @@
#ifdef MULTIARCH
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#define ARCH avx
#include "sharp_core_inc.c"
#endif

View file

@ -1,8 +0,0 @@
#ifdef MULTIARCH
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#define ARCH avx2
#include "sharp_core_inc.c"
#endif

View file

@ -1,8 +0,0 @@
#ifdef MULTIARCH
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#define ARCH avx512f
#include "sharp_core_inc.c"
#endif

View file

@ -1,8 +0,0 @@
#ifdef MULTIARCH
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#define ARCH fma
#include "sharp_core_inc.c"
#endif

View file

@ -1,8 +0,0 @@
#ifdef MULTIARCH
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#define ARCH fma4
#include "sharp_core_inc.c"
#endif

View file

@ -29,6 +29,12 @@
* \author Martin Reinecke
*/
#if (defined(MULTIARCH) || defined(GENERIC_ARCH))
#define XCONCATX(a,b) a##_##b
#define XCONCATX2(a,b) XCONCATX(a,b)
#define XARCH(a) XCONCATX2(a,ARCH)
#include <complex.h>
#include <math.h>
#include <string.h>
@ -1179,3 +1185,5 @@ const char *XARCH(sharp_architecture)(void)
{
return xstr(ARCH);
}
#endif