Skip to content

Commit 2a1911c

Browse files
authored
Merge pull request #6 from xianyi/develop
update to current develop
2 parents 256fc15 + 9f7a9a3 commit 2a1911c

19 files changed

+1603
-45
lines changed

appveyor.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ environment:
3838
- COMPILER: MinGW64-gcc-7.2.0-mingw
3939
DYNAMIC_ARCH: OFF
4040
WITH_FORTRAN: ignore
41-
- COMPILER: MinGW64-gcc-7.2.0
41+
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
42+
COMPILER: MinGW-gcc-6.3.0-32
4243
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
4344
COMPILER: MinGW-gcc-5.3.0
4445
WITH_FORTRAN: ignore
@@ -62,10 +63,10 @@ before_build:
6263
- set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
6364
- if [%COMPILER%]==[MinGW-gcc-5.3.0] set PATH=C:\MinGW\bin;C:\msys64\usr\bin;C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
6465
- if [%COMPILER%]==[MinGW64-gcc-7.2.0-mingw] set PATH=C:\MinGW\bin;C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
65-
- if [%COMPILER%]==[MinGW64-gcc-7.2.0] set PATH=C:\msys64\usr\bin;C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin;%PATH%
66+
- if [%COMPILER%]==[MinGW-gcc-6.3.0-32] set PATH=C:\msys64\usr\bin;C:\mingw-w64\i686-6.3.0-posix-dwarf-rt_v5-rev1\mingw64\bin;%PATH%
6667
- if [%COMPILER%]==[cl] cmake -G "Visual Studio 15 2017 Win64" ..
6768
- if [%COMPILER%]==[MinGW64-gcc-7.2.0-mingw] cmake -G "MinGW Makefiles" -DNOFORTRAN=1 ..
68-
- if [%COMPILER%]==[MinGW64-gcc-7.2.0] cmake -G "MSYS Makefiles" -DBINARY=32 -DNOFORTRAN=1 ..
69+
- if [%COMPILER%]==[MinGW-gcc-6.3.0-32] cmake -G "MSYS Makefiles" -DNOFORTRAN=1 ..
6970
- if [%COMPILER%]==[MinGW-gcc-5.3.0] cmake -G "MSYS Makefiles" -DNOFORTRAN=1 ..
7071
- if [%WITH_FORTRAN%]==[no] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DMSVC_STATIC_CRT=ON ..
7172
- if [%WITH_FORTRAN%]==[yes] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DCMAKE_Fortran_COMPILER=flang -DBUILD_WITHOUT_LAPACK=no -DNOFORTRAN=0 ..

cmake/cc.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
## Description: Ported from portion of OpenBLAS/Makefile.system
44
## Sets C related variables.
55

6-
if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_C_COMPILER} STREQUAL "Clang")
6+
if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LSB" OR ${CMAKE_C_COMPILER_ID} MATCHES "Clang")
77

88
set(CCOMMON_OPT "${CCOMMON_OPT} -Wall")
99
set(COMMON_PROF "${COMMON_PROF} -fno-inline")
@@ -43,23 +43,23 @@ if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR
4343
endif ()
4444
endif ()
4545

46-
if (${CMAKE_C_COMPILER} STREQUAL "PGI")
46+
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI")
4747
if (BINARY64)
4848
set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7-64")
4949
else ()
5050
set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7")
5151
endif ()
5252
endif ()
5353

54-
if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE")
54+
if (${CMAKE_C_COMPILER_ID} STREQUAL "PATHSCALE")
5555
if (BINARY64)
5656
set(CCOMMON_OPT "${CCOMMON_OPT} -m64")
5757
else ()
5858
set(CCOMMON_OPT "${CCOMMON_OPT} -m32")
5959
endif ()
6060
endif ()
6161

62-
if (${CMAKE_C_COMPILER} STREQUAL "OPEN64")
62+
if (${CMAKE_C_COMPILER_ID} STREQUAL "OPEN64")
6363

6464
if (MIPS64)
6565

@@ -87,7 +87,7 @@ if (${CMAKE_C_COMPILER} STREQUAL "OPEN64")
8787
endif ()
8888
endif ()
8989

90-
if (${CMAKE_C_COMPILER} STREQUAL "SUN")
90+
if (${CMAKE_C_COMPILER_ID} STREQUAL "SUN")
9191
set(CCOMMON_OPT "${CCOMMON_OPT} -w")
9292
if (X86)
9393
set(CCOMMON_OPT "${CCOMMON_OPT} -m32")

cmake/prebuild.cmake

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
105105
# Perhaps this should be inside a different file as it grows larger
106106
file(APPEND ${TARGET_CONF_TEMP}
107107
"#define ${TCORE}\n"
108+
"#define CORE_${TCORE}\n"
108109
"#define CHAR_CORENAME \"${TCORE}\"\n")
109110
if ("${TCORE}" STREQUAL "CORE2")
110111
file(APPEND ${TARGET_CONF_TEMP}
@@ -119,15 +120,23 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
119120
"#define HAVE_SSE\n"
120121
"#define HAVE_SSE2\n"
121122
"#define HAVE_SSE3\n"
122-
"#define HAVE_SSSE3\n")
123+
"#define HAVE_SSSE3\n"
124+
"#define SLOCAL_BUFFER_SIZE\t16384\n"
125+
"#define DLOCAL_BUFFER_SIZE\t16384\n"
126+
"#define CLOCAL_BUFFER_SIZE\t16384\n"
127+
"#define ZLOCAL_BUFFER_SIZE\t16384\n")
123128
set(SGEMM_UNROLL_M 8)
124129
set(SGEMM_UNROLL_N 4)
125130
set(DGEMM_UNROLL_M 4)
126131
set(DGEMM_UNROLL_N 4)
127-
set(CGEMM_DEFAULT_UNROLL_M 4)
128-
set(CGEMM_DEFAULT_UNROLL_N 2)
129-
set(ZGEMM_DEFAULT_UNROLL_M 2)
130-
set(ZGEMM_DEFAULT_UNROLL_N 2)
132+
set(CGEMM_UNROLL_M 4)
133+
set(CGEMM_UNROLL_N 2)
134+
set(ZGEMM_UNROLL_M 2)
135+
set(ZGEMM_UNROLL_N 2)
136+
set(CGEMM3M_UNROLL_M 8)
137+
set(CGEMM3M_UNROLL_N 4)
138+
set(ZGEMM3M_UNROLL_M 4)
139+
set(ZGEMM3M_UNROLL_N 4)
131140
elseif ("${TCORE}" STREQUAL "ARMV7")
132141
file(APPEND ${TARGET_CONF_TEMP}
133142
"#define L1_DATA_SIZE\t65536\n"
@@ -143,6 +152,10 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS
143152
set(SGEMM_UNROLL_N 4)
144153
set(DGEMM_UNROLL_M 4)
145154
set(DGEMM_UNROLL_N 4)
155+
set(CGEMM_UNROLL_M 2)
156+
set(CGEMM_UNROLL_N 2)
157+
set(ZGEMM_UNROLL_M 2)
158+
set(ZGEMM_UNROLL_N 2)
146159
elseif ("${TCORE}" STREQUAL "ARMV8")
147160
file(APPEND ${TARGET_CONF_TEMP}
148161
"#define L1_DATA_SIZE\t32768\n"
@@ -331,6 +344,9 @@ else(NOT CMAKE_CROSSCOMPILING)
331344
set(GETARCH_FLAGS ${GETARCH_FLAGS} -DFORCE_GENERIC)
332345
else()
333346
list(APPEND GETARCH_SRC ${PROJECT_SOURCE_DIR}/cpuid.S)
347+
if (DEFINED TARGET_CORE)
348+
set(GETARCH_FLAGS ${GETARCH_FLAGS} -DFORCE_${TARGET_CORE})
349+
endif ()
334350
endif ()
335351

336352
if ("${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")

cmake/system_check.cmake

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,18 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc.*|power.*|Power.*")
3939
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64.*")
4040
set(MIPS64 1)
4141
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*")
42-
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
43-
set(X86_64 1)
42+
if (NOT BINARY)
43+
if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
44+
set(X86_64 1)
45+
else()
46+
set(X86 1)
47+
endif()
4448
else()
45-
set(X86 1)
49+
if (${BINARY} EQUAL "64")
50+
set(X86_64 1)
51+
else ()
52+
set(X86 1)
53+
endif()
4654
endif()
4755
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
4856
set(X86 1)
@@ -54,6 +62,22 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)")
5462
else()
5563
set(ARM 1)
5664
endif()
65+
elseif (${CMAKE_CROSSCOMPILING})
66+
if (${TARGET} STREQUAL "CORE2")
67+
if (NOT BINARY)
68+
set(X86 1)
69+
elseif (${BINARY} EQUAL "64")
70+
set(X86_64 1)
71+
else ()
72+
set(X86 1)
73+
endif()
74+
elseif (${TARGET} STREQUAL "ARMV7")
75+
set(ARM 1)
76+
else()
77+
set(ARM64 1)
78+
endif ()
79+
else ()
80+
message(WARNING "Target ARCH could not be determined, got \"${CMAKE_SYSTEM_PROCESSOR}\"")
5781
endif()
5882

5983
if (X86_64)
@@ -92,4 +116,3 @@ set (CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX512")
92116
endif()
93117
file(REMOVE "avx512.tmp" "avx512.o")
94118
endif()
95-

0 commit comments

Comments
 (0)