+ check_library_exists("${${FFTW}_LIBRARIES}" "${SSE_FUNCTION}" "" ${FFTW}_HAVE_${SSE_FUNCTION})
+ if(${FFTW}_HAVE_${SSE_FUNCTION})
+ set(${FFTW}_HAVE_SSE TRUE)
+ break()
+ endif()
+ endforeach()
+
+ # Check for FFTW3 compiled with --enable-sse2
+ foreach(SSE2_FUNCTION ${${FFTW}_FUNCTION_PREFIX}_have_simd_sse2)
+ if (FFTW_LIBRARY_CHANGED)
+ unset(${FFTW}_HAVE_${SSE2_FUNCTION} CACHE)
+ endif()
+ check_library_exists("${${FFTW}_LIBRARIES}" "${SSE2_FUNCTION}" "" ${FFTW}_HAVE_${SSE2_FUNCTION})
+ if(${FFTW}_HAVE_${SSE2_FUNCTION})
+ set(${FFTW}_HAVE_SSE2 TRUE)
+ break()
+ endif()
+ endforeach()
+
+ # Check for FFTW3 with 128-bit AVX compiled with --enable-avx
+ foreach(AVX_128_FUNCTION ${${FFTW}_FUNCTION_PREFIX}_have_simd_avx_128)
+ if (FFTW_LIBRARY_CHANGED)
+ unset(${FFTW}_HAVE_${AVX_128_FUNCTION} CACHE)
+ endif()
+ check_library_exists("${${FFTW}_LIBRARIES}" "${AVX_128_FUNCTION}" "" ${FFTW}_HAVE_${AVX_128_FUNCTION})
+ if(${FFTW}_HAVE_${AVX_128_FUNCTION})
+ set(${FFTW}_HAVE_AVX_128 TRUE)
+ break()
+ endif()
+ endforeach()
+
+ # Check for FFTW3 with 128-bit AVX2 compiled with --enable-avx2
+ foreach(AVX2_128_FUNCTION ${${FFTW}_FUNCTION_PREFIX}_have_simd_avx2_128)
+ if (FFTW_LIBRARY_CHANGED)
+ unset(${FFTW}_HAVE_${AVX2_128_FUNCTION} CACHE)
+ endif()
+ check_library_exists("${${FFTW}_LIBRARIES}" "${AVX2_128_FUNCTION}" "" ${FFTW}_HAVE_${AVX2_128_FUNCTION})
+ if(${FFTW}_HAVE_${AVX2_128_FUNCTION})
+ set(${FFTW}_HAVE_AVX2_128 TRUE)