Skip to content

Commit ab5aabf

Browse files
committed
fuck
1 parent 4decbba commit ab5aabf

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

CMakeLists.txt

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,13 +75,20 @@ PRIVATE
7575
)
7676

7777
### simd dispatch
78-
if(CMAKE_SYSTEM_PROCESSOR MATCHES "arm64|aarch64")
78+
if(APPLE)
7979
target_sources(${PROJECT_NAME}
8080
PRIVATE
8181
src/dsp/dsp_neon.cpp
82+
src/dsp/dsp_avx2.cpp
83+
src/dsp/dsp_avx.cpp
84+
src/dsp/dsp_sse4.cpp
85+
src/dsp/dsp_sse2.cpp
8286
)
83-
set_source_files_properties("src/dsp/dsp_neon.cpp" PROPERTIES COMPILE_FLAGS "-march=native")
84-
target_compile_definitions(${PROJECT_NAME} PRIVATE DSP_DISPATCH_APPLE)
87+
set_source_files_properties("src/dsp/dsp_neon.cpp" PROPERTIES COMPILE_FLAGS "-arch arm64")
88+
set_source_files_properties("src/dsp/dsp_sse2.cpp" PROPERTIES COMPILE_FLAGS "-arch x86_64 -msse2")
89+
set_source_files_properties("src/dsp/dsp_sse4.cpp" PROPERTIES COMPILE_FLAGS "-arch x86_64 -msse4.1")
90+
set_source_files_properties("src/dsp/dsp_avx.cpp" PROPERTIES COMPILE_FLAGS "-arch x86_64 -mavx")
91+
set_source_files_properties("src/dsp/dsp_avx2.cpp" PROPERTIES COMPILE_FLAGS "-arch x86_64 -mavx2")
8592
else()
8693
target_sources(${PROJECT_NAME}
8794
PRIVATE
@@ -94,7 +101,6 @@ else()
94101
set_source_files_properties("src/dsp/dsp_sse4.cpp" PROPERTIES COMPILE_FLAGS "-msse4.1")
95102
set_source_files_properties("src/dsp/dsp_avx.cpp" PROPERTIES COMPILE_FLAGS "-mavx")
96103
set_source_files_properties("src/dsp/dsp_avx2.cpp" PROPERTIES COMPILE_FLAGS "-mavx2")
97-
target_compile_definitions(${PROJECT_NAME} PRIVATE DSP_DISPATCH_X86)
98104
endif()
99105

100106
# 头文件目录

src/dsp/dsp_dispatch.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ namespace warpcore {
66
ProcessorDsp GetProcessorDsp() noexcept {
77
using IS = simd_detector::InstructionSet;
88

9-
#ifdef DSP_DISPATCH_APPLE
9+
#if defined(__aarch64__) || defined(_M_ARM64)
1010
if (simd_detector::is_supported(IS::NEON)) {
1111
extern ProcessorDsp dsp_neon;
1212
return dsp_neon;
1313
}
1414
#endif
1515

16-
#ifdef DSP_DISPATCH_X86
16+
#if defined(__x86_64__) || defined(_M_X64)
1717
if (simd_detector::is_supported(IS::AVX2)) {
1818
extern ProcessorDsp dsp_avx2;
1919
return dsp_avx2;

0 commit comments

Comments
 (0)