CMakeLists.txt: Check CPU_i386 before setting MMX or SSE2 flags.

These flags aren't needed on 64-bit, so only set them on 32-bit.
This commit is contained in:
David Korth 2020-06-30 19:46:40 -04:00
parent 66e466b925
commit d3670e9dd9
3 changed files with 19 additions and 16 deletions

View File

@ -345,14 +345,15 @@ IF(CPU_i386 OR CPU_amd64)
utils/SuperMagicDrive_sse2.cpp utils/SuperMagicDrive_sse2.cpp
) )
IF(MSVC AND NOT CMAKE_CL_64) IF(CPU_i386)
SET(SSE2_FLAG "/arch:SSE2") IF(MSVC)
ELSEIF(NOT MSVC) SET(SSE2_FLAG "/arch:SSE2")
# TODO: Other compilers? ELSE(MSVC)
# TODO: Not needed on 64-bit. # TODO: Other compilers?
SET(MMX_FLAG "-mmmx") SET(MMX_FLAG "-mmmx")
SET(SSE2_FLAG "-msse2") SET(SSE2_FLAG "-msse2")
ENDIF() ENDIF(MSVC)
ENDIF(CPU_i386)
IF(MMX_FLAG) IF(MMX_FLAG)
SET_SOURCE_FILES_PROPERTIES(utils/SuperMagicDrive_mmx.cpp SET_SOURCE_FILES_PROPERTIES(utils/SuperMagicDrive_mmx.cpp

View File

@ -53,13 +53,14 @@ IF(CPU_i386 OR CPU_amd64)
ENDIF(GCC_5xx_LTO_ISSUES) ENDIF(GCC_5xx_LTO_ISSUES)
ENDIF(UNIX AND NOT APPLE) ENDIF(UNIX AND NOT APPLE)
IF(MSVC AND NOT CMAKE_CL_64) IF(MSVC AND CPU_i386)
SET(SSE2_FLAG "/arch:SSE2") SET(SSE2_FLAG "/arch:SSE2")
SET(SSSE3_FLAG "/arch:SSE2") SET(SSSE3_FLAG "/arch:SSE2")
ELSEIF(NOT MSVC) ELSEIF(NOT MSVC)
# TODO: Other compilers? IF(CPU_i386)
SET(MMX_FLAG "-mmmx") SET(MMX_FLAG "-mmmx")
SET(SSE2_FLAG "-msse2") SET(SSE2_FLAG "-msse2")
ENDIF(CPU_i386)
SET(SSSE3_FLAG "-mssse3") SET(SSSE3_FLAG "-mssse3")
ENDIF() ENDIF()

View File

@ -133,14 +133,15 @@ IF(CPU_i386 OR CPU_amd64)
ENDIF(GCC_5xx_LTO_ISSUES) ENDIF(GCC_5xx_LTO_ISSUES)
ENDIF(UNIX AND NOT APPLE) ENDIF(UNIX AND NOT APPLE)
IF(MSVC AND NOT CMAKE_CL_64) IF(MSVC AND CPU_i386)
SET(SSE2_FLAG "/arch:SSE2") SET(SSE2_FLAG "/arch:SSE2")
SET(SSSE3_FLAG "/arch:SSE2") SET(SSSE3_FLAG "/arch:SSE2")
SET(SSE41_FLAG "/arch:SSE2") SET(SSE41_FLAG "/arch:SSE2")
ELSEIF(NOT MSVC) ELSEIF(NOT MSVC)
# TODO: Other compilers? IF(CPU_i386)
SET(MMX_FLAG "-mmmx") SET(MMX_FLAG "-mmmx")
SET(SSE2_FLAG "-msse2") SET(SSE2_FLAG "-msse2")
ENDIF(CPU_i386)
SET(SSSE3_FLAG "-mssse3") SET(SSSE3_FLAG "-mssse3")
SET(SSE41_FLAG "-msse4.1") SET(SSE41_FLAG "-msse4.1")
ENDIF() ENDIF()