WASM-SIMD: port 2 patches from rreverser@'s tree

* Stop on first found SIMD version
* Imply lower SSE version when higher is found

Change-Id: I9a4bf24eeebf6c87b6b50f5c969e7e36429b691d
This commit is contained in:
Ingvar Stepanyan 2020-11-20 11:58:39 +01:00 committed by Skal
parent 988b02abfd
commit 36c81ff6a9

View File

@ -67,6 +67,7 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE})
unset(WEBP_HAVE_${WEBP_SIMD_FLAG} CACHE)
cmake_push_check_state()
set(CMAKE_REQUIRED_FLAGS)
if(NOT simd_found)
webp_check_compiler_flag(${WEBP_SIMD_FLAG} ${WEBP_ENABLE_SIMD})
if(NOT WEBP_HAVE_${WEBP_SIMD_FLAG})
list(GET SIMD_ENABLE_FLAGS ${I_SIMD} SIMD_COMPILE_FLAG)
@ -82,6 +83,9 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE})
set(SIMD_COMPILE_FLAG " ")
endif()
endif()
elseif(${I_SIMD} LESS 2)
set(WEBP_HAVE_${WEBP_SIMD_FLAG} 1)
endif()
# Check which files we should include or not.
list(GET WEBP_SIMD_FILE_EXTENSIONS ${I_SIMD} WEBP_SIMD_FILE_EXTENSION)
file(GLOB SIMD_FILES "${CMAKE_CURRENT_LIST_DIR}/../"
@ -99,6 +103,7 @@ foreach(I_SIMD RANGE ${WEBP_SIMD_FLAGS_RANGE})
list(APPEND WEBP_SIMD_FLAGS_TO_INCLUDE ${SIMD_COMPILE_FLAG})
endif()
endforeach()
set(simd_found 1)
else()
# Remove the file from the list.
foreach(FILE ${SIMD_FILES})