From 14aded64cfff9f972f6fd3f9d01678c1077ff973 Mon Sep 17 00:00:00 2001 From: netrunnereve <139727413+netrunnereve@users.noreply.github.com> Date: Thu, 2 Nov 2023 22:46:46 -0400 Subject: [PATCH] msvc only version --- CMakeLists.txt | 9 ++++----- cmake/FindSIMD.cmake | 8 ++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6a8e031e6..94aed470d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -481,11 +481,6 @@ if (NOT MSVC) endif() endif() -# instruction set detection for MSVC only -if (LLAMA_NATIVE) - include(cmake/FindSIMD.cmake) -endif () - if ((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") OR (${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") OR ("${CMAKE_GENERATOR_PLATFORM_LWR}" MATCHES "arm64")) message(STATUS "ARM detected") if (MSVC) @@ -515,6 +510,10 @@ if ((${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm") OR (${CMAKE_SYSTEM_PROCESSOR} MATC elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "^(x86_64|i686|AMD64)$" OR "${CMAKE_GENERATOR_PLATFORM_LWR}" MATCHES "^(x86_64|i686|amd64|x64)$" ) message(STATUS "x86 detected") if (MSVC) + # instruction set detection for MSVC only + if (LLAMA_NATIVE) + include(cmake/FindSIMD.cmake) + endif () if (LLAMA_AVX512) add_compile_options($<$:/arch:AVX512>) add_compile_options($<$:/arch:AVX512>) diff --git a/cmake/FindSIMD.cmake b/cmake/FindSIMD.cmake index bf1bea075..3af36d568 100644 --- a/cmake/FindSIMD.cmake +++ b/cmake/FindSIMD.cmake @@ -78,22 +78,22 @@ macro(check_sse type flags) endmacro() # flags are for MSVC only! -check_sse("AVX" "-mavx") +check_sse("AVX" " ;/arch:AVX") if(NOT ${AVX_FOUND}) set(LLAMA_AVX OFF) else() set(LLAMA_AVX ON) endif() -check_sse("AVX2" "-mavx2") -check_sse("FMA" "-mfma") +check_sse("AVX2" " ;/arch:AVX2") +check_sse("FMA" " ;/arch:AVX2") if((NOT ${AVX2_FOUND}) OR (NOT ${FMA_FOUND})) set(LLAMA_AVX2 OFF) else() set(LLAMA_AVX2 ON) endif() -check_sse("AVX512" "-mavx512f -mavx512cd -mavx512bw -mavx512dq -mavx512vl") +check_sse("AVX512" " ;/arch:AVX512") if(NOT ${AVX512_FOUND}) set(LLAMA_AVX512 OFF) else()