* Fix compiler identification and option setting * Handle BINARY=32 option on X86_64 * Add xGEMM3M unroll parameters for crossbuild-target CORE2 * Replace bogus mingw64/32bit CI job with actual 32bit build mingw64 is not multilib-capable, so using an x86_64-mingw with BINARY=32 in the CI was not going to work anyway (but build passed while BINARY=32 was ignored).tags/v0.3.8^2
| @@ -38,7 +38,8 @@ environment: | |||||
| - COMPILER: MinGW64-gcc-7.2.0-mingw | - COMPILER: MinGW64-gcc-7.2.0-mingw | ||||
| DYNAMIC_ARCH: OFF | DYNAMIC_ARCH: OFF | ||||
| WITH_FORTRAN: ignore | WITH_FORTRAN: ignore | ||||
| - COMPILER: MinGW64-gcc-7.2.0 | |||||
| - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 | |||||
| COMPILER: MinGW-gcc-6.3.0-32 | |||||
| - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 | - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 | ||||
| COMPILER: MinGW-gcc-5.3.0 | COMPILER: MinGW-gcc-5.3.0 | ||||
| WITH_FORTRAN: ignore | WITH_FORTRAN: ignore | ||||
| @@ -62,10 +63,10 @@ before_build: | |||||
| - set PATH=%PATH:C:\Program Files\Git\usr\bin;=% | - set PATH=%PATH:C:\Program Files\Git\usr\bin;=% | ||||
| - 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% | - 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% | ||||
| - 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% | - 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% | ||||
| - 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% | |||||
| - 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% | |||||
| - if [%COMPILER%]==[cl] cmake -G "Visual Studio 15 2017 Win64" .. | - if [%COMPILER%]==[cl] cmake -G "Visual Studio 15 2017 Win64" .. | ||||
| - if [%COMPILER%]==[MinGW64-gcc-7.2.0-mingw] cmake -G "MinGW Makefiles" -DNOFORTRAN=1 .. | - if [%COMPILER%]==[MinGW64-gcc-7.2.0-mingw] cmake -G "MinGW Makefiles" -DNOFORTRAN=1 .. | ||||
| - if [%COMPILER%]==[MinGW64-gcc-7.2.0] cmake -G "MSYS Makefiles" -DBINARY=32 -DNOFORTRAN=1 .. | |||||
| - if [%COMPILER%]==[MinGW-gcc-6.3.0-32] cmake -G "MSYS Makefiles" -DNOFORTRAN=1 .. | |||||
| - if [%COMPILER%]==[MinGW-gcc-5.3.0] cmake -G "MSYS Makefiles" -DNOFORTRAN=1 .. | - if [%COMPILER%]==[MinGW-gcc-5.3.0] cmake -G "MSYS Makefiles" -DNOFORTRAN=1 .. | ||||
| - if [%WITH_FORTRAN%]==[no] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DMSVC_STATIC_CRT=ON .. | - if [%WITH_FORTRAN%]==[no] cmake -G "Ninja" -DCMAKE_CXX_COMPILER=clang-cl -DCMAKE_C_COMPILER=clang-cl -DMSVC_STATIC_CRT=ON .. | ||||
| - 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 .. | - 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 .. | ||||
| @@ -3,7 +3,7 @@ | |||||
| ## Description: Ported from portion of OpenBLAS/Makefile.system | ## Description: Ported from portion of OpenBLAS/Makefile.system | ||||
| ## Sets C related variables. | ## Sets C related variables. | ||||
| if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR ${CMAKE_C_COMPILER} STREQUAL "Clang") | |||||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "GNU" OR ${CMAKE_C_COMPILER_ID} STREQUAL "LSB" OR ${CMAKE_C_COMPILER_ID} MATCHES "Clang") | |||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -Wall") | set(CCOMMON_OPT "${CCOMMON_OPT} -Wall") | ||||
| set(COMMON_PROF "${COMMON_PROF} -fno-inline") | set(COMMON_PROF "${COMMON_PROF} -fno-inline") | ||||
| @@ -43,7 +43,7 @@ if (${CMAKE_C_COMPILER} STREQUAL "GNU" OR ${CMAKE_C_COMPILER} STREQUAL "LSB" OR | |||||
| endif () | endif () | ||||
| endif () | endif () | ||||
| if (${CMAKE_C_COMPILER} STREQUAL "PGI") | |||||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI") | |||||
| if (BINARY64) | if (BINARY64) | ||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7-64") | set(CCOMMON_OPT "${CCOMMON_OPT} -tp p7-64") | ||||
| else () | else () | ||||
| @@ -51,7 +51,7 @@ if (${CMAKE_C_COMPILER} STREQUAL "PGI") | |||||
| endif () | endif () | ||||
| endif () | endif () | ||||
| if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE") | |||||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "PATHSCALE") | |||||
| if (BINARY64) | if (BINARY64) | ||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | set(CCOMMON_OPT "${CCOMMON_OPT} -m64") | ||||
| else () | else () | ||||
| @@ -59,7 +59,7 @@ if (${CMAKE_C_COMPILER} STREQUAL "PATHSCALE") | |||||
| endif () | endif () | ||||
| endif () | endif () | ||||
| if (${CMAKE_C_COMPILER} STREQUAL "OPEN64") | |||||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "OPEN64") | |||||
| if (MIPS64) | if (MIPS64) | ||||
| @@ -87,7 +87,7 @@ if (${CMAKE_C_COMPILER} STREQUAL "OPEN64") | |||||
| endif () | endif () | ||||
| endif () | endif () | ||||
| if (${CMAKE_C_COMPILER} STREQUAL "SUN") | |||||
| if (${CMAKE_C_COMPILER_ID} STREQUAL "SUN") | |||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -w") | set(CCOMMON_OPT "${CCOMMON_OPT} -w") | ||||
| if (X86) | if (X86) | ||||
| set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | set(CCOMMON_OPT "${CCOMMON_OPT} -m32") | ||||
| @@ -133,6 +133,10 @@ if (DEFINED CORE AND CMAKE_CROSSCOMPILING AND NOT (${HOST_OS} STREQUAL "WINDOWSS | |||||
| set(CGEMM_UNROLL_N 2) | set(CGEMM_UNROLL_N 2) | ||||
| set(ZGEMM_UNROLL_M 2) | set(ZGEMM_UNROLL_M 2) | ||||
| set(ZGEMM_UNROLL_N 2) | set(ZGEMM_UNROLL_N 2) | ||||
| set(CGEMM3M_UNROLL_M 8) | |||||
| set(CGEMM3M_UNROLL_N 4) | |||||
| set(ZGEMM3M_UNROLL_M 4) | |||||
| set(ZGEMM3M_UNROLL_N 4) | |||||
| elseif ("${TCORE}" STREQUAL "ARMV7") | elseif ("${TCORE}" STREQUAL "ARMV7") | ||||
| file(APPEND ${TARGET_CONF_TEMP} | file(APPEND ${TARGET_CONF_TEMP} | ||||
| "#define L1_DATA_SIZE\t65536\n" | "#define L1_DATA_SIZE\t65536\n" | ||||
| @@ -39,10 +39,18 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc.*|power.*|Power.*") | |||||
| elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64.*") | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "mips64.*") | ||||
| set(MIPS64 1) | set(MIPS64 1) | ||||
| elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*") | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*") | ||||
| if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") | |||||
| set(X86_64 1) | |||||
| if (NOT BINARY) | |||||
| if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8") | |||||
| set(X86_64 1) | |||||
| else() | |||||
| set(X86 1) | |||||
| endif() | |||||
| else() | else() | ||||
| set(X86 1) | |||||
| if (${BINARY} EQUAL "64") | |||||
| set(X86_64 1) | |||||
| else () | |||||
| set(X86 1) | |||||
| endif() | |||||
| endif() | endif() | ||||
| elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*") | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*") | ||||
| set(X86 1) | set(X86 1) | ||||
| @@ -54,6 +62,22 @@ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64.*|AARCH64.*)") | |||||
| else() | else() | ||||
| set(ARM 1) | set(ARM 1) | ||||
| endif() | endif() | ||||
| elseif (${CMAKE_CROSSCOMPILING}) | |||||
| if (${TARGET} STREQUAL "CORE2") | |||||
| if (NOT BINARY) | |||||
| set(X86 1) | |||||
| elseif (${BINARY} EQUAL "64") | |||||
| set(X86_64 1) | |||||
| else () | |||||
| set(X86 1) | |||||
| endif() | |||||
| elseif (${TARGET} STREQUAL "ARMV7") | |||||
| set(ARM 1) | |||||
| else() | |||||
| set(ARM64 1) | |||||
| endif () | |||||
| else () | |||||
| message(WARNING "Target ARCH could not be determined, got \"${CMAKE_SYSTEM_PROCESSOR}\"") | |||||
| endif() | endif() | ||||
| if (X86_64) | if (X86_64) | ||||
| @@ -92,4 +116,3 @@ set (CCOMMON_OPT "${CCOMMON_OPT} -DNO_AVX512") | |||||
| endif() | endif() | ||||
| file(REMOVE "avx512.tmp" "avx512.o") | file(REMOVE "avx512.tmp" "avx512.o") | ||||
| endif() | endif() | ||||