Browse Source

Merge pull request #101 from xianyi/develop

rebase
tags/v0.3.11^2
Martin Kroeker GitHub 5 years ago
parent
commit
25907e672b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 44 additions and 2 deletions
  1. +16
    -0
      Makefile.x86
  2. +9
    -0
      cmake/cc.cmake
  3. +12
    -0
      cmake/system.cmake
  4. +4
    -1
      kernel/Makefile
  5. +1
    -1
      kernel/setparam-ref.c
  6. +2
    -0
      kernel/x86_64/iamax_sse.S

+ 16
- 0
Makefile.x86 View File

@@ -54,3 +54,19 @@ LIBATLAS = -L$(ATLASPATH)/32 -lcblas -lf77blas -latlas -lm
else else
LIBATLAS = -L$(ATLASPATH)/32 -lptf77blas -lptatlas -lpthread -lm LIBATLAS = -L$(ATLASPATH)/32 -lptf77blas -lptatlas -lpthread -lm
endif endif

ifdef HAVE_SSE3
ifndef DYNAMIC_ARCH
CCOMMON_OPT += -msse3
FCOMMON_OPT += -msse3
ifdef HAVE_SSSE3
CCOMMON_OPT += -mssse3
FCOMMON_OPT += -mssse3
endif
ifdef HAVE_SSE4_1
CCOMMON_OPT += -msse4.1
FCOMMON_OPT += -msse4.1
endif
endif
endif


+ 9
- 0
cmake/cc.cmake View File

@@ -124,10 +124,19 @@ if (NOT DYNAMIC_ARCH)
if (HAVE_AVX) if (HAVE_AVX)
set (CCOMMON_OPT "${CCOMMON_OPT} -mavx") set (CCOMMON_OPT "${CCOMMON_OPT} -mavx")
endif () endif ()
if (HAVE_SSE)
set (CCOMMON_OPT "${CCOMMON_OPT} -msse")
endif ()
if (HAVE_SSE2)
set (CCOMMON_OPT "${CCOMMON_OPT} -msse2")
endif ()
if (HAVE_SSE3) if (HAVE_SSE3)
set (CCOMMON_OPT "${CCOMMON_OPT} -msse3") set (CCOMMON_OPT "${CCOMMON_OPT} -msse3")
endif () endif ()
if (HAVE_SSSE3) if (HAVE_SSSE3)
set (CCOMMON_OPT "${CCOMMON_OPT} -mssse3") set (CCOMMON_OPT "${CCOMMON_OPT} -mssse3")
endif () endif ()
if (HAVE_SSE4_1)
set (CCOMMON_OPT "${CCOMMON_OPT} -msse4.1")
endif ()
endif() endif()

+ 12
- 0
cmake/system.cmake View File

@@ -70,9 +70,21 @@ if (DEFINED TARGET)
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2") set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
endif() endif()
endif() endif()
if (DEFINED HAVE_SSE)
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse")
endif()
if (DEFINED HAVE_SSE2)
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse2")
endif()
if (DEFINED HAVE_SSE3) if (DEFINED HAVE_SSE3)
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3") set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
endif() endif()
if (DEFINED HAVE_SSSE3)
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mssse3")
endif()
if (DEFINED HAVE_SSE4_1)
set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse4.1")
endif()
endif() endif()


if (DEFINED TARGET) if (DEFINED TARGET)


+ 4
- 1
kernel/Makefile View File

@@ -45,7 +45,10 @@ endif


ifdef TARGET_CORE ifdef TARGET_CORE
ifeq ($(TARGET_CORE), $(filter $(TARGET_CORE),PRESCOTT CORE2 PENRYN DUNNINGTON ATOM NANO SANDYBRIDGE HASWELL NEHALEM ZEN BARCELONA BOBCAT BULLDOZER PILEDRIVER EXCAVATOR STEAMROLLER OPTERON_SSE3)) ifeq ($(TARGET_CORE), $(filter $(TARGET_CORE),PRESCOTT CORE2 PENRYN DUNNINGTON ATOM NANO SANDYBRIDGE HASWELL NEHALEM ZEN BARCELONA BOBCAT BULLDOZER PILEDRIVER EXCAVATOR STEAMROLLER OPTERON_SSE3))
override CFLAGS += -msse3 -mssse3 -msse4.1
override CFLAGS += -msse -msse2 -msse3 -mssse3 -msse4.1
endif
ifeq ($(TARGET_CORE), $(filter $(TARGET_CORE),KATMAI COPPERMINE BANIAS NORTHWOOD ATHLON OPTERON))
override CFLAGS += -msse -msse2
endif endif
ifeq ($(TARGET_CORE), COOPERLAKE) ifeq ($(TARGET_CORE), COOPERLAKE)
override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE) override CFLAGS += -DBUILD_KERNEL -DTABLE_NAME=gotoblas_$(TARGET_CORE)


+ 1
- 1
kernel/setparam-ref.c View File

@@ -1164,7 +1164,7 @@ static void init_parameter(void) {
TABLE_NAME.xgemm3m_q = QGEMM_DEFAULT_Q; TABLE_NAME.xgemm3m_q = QGEMM_DEFAULT_Q;
#endif #endif


#if (CORE_KATMAI) || (CORE_COPPERMINE) || (CORE_BANIAS) || (CORE_YONAH) || (CORE_ATHLON)
#if defined(CORE_KATMAI) || defined(CORE_COPPERMINE) || defined(CORE_BANIAS) || defined(CORE_YONAH) || defined(CORE_ATHLON)


#ifdef DEBUG #ifdef DEBUG
fprintf(stderr, "Katmai, Coppermine, Banias, Athlon\n"); fprintf(stderr, "Katmai, Coppermine, Banias, Athlon\n");


+ 2
- 0
kernel/x86_64/iamax_sse.S View File

@@ -51,6 +51,8 @@
#define MAXPS maxps #define MAXPS maxps
#define MAXSS maxss #define MAXSS maxss
#ifdef USE_MIN #ifdef USE_MIN
#undef MAXPS
#undef MAXSS
#define MAXPS minps #define MAXPS minps
#define MAXSS minss #define MAXSS minss
#endif #endif


Loading…
Cancel
Save