set(VECTOR_MAIN_DIR SingleSource/UnitTests/Vector)
if(ARCH STREQUAL "PowerPC")
  add_subdirectory(Altivec)
endif()
if(ARCH STREQUAL "x86")
  add_subdirectory(SSE)
endif()
CHECK_SYMBOL_EXISTS(__ARM_NEON "" NEON_AVAILABLE)
if(NEON_AVAILABLE)
  add_subdirectory(NEON)
endif()
if(ARCH STREQUAL "AArch64")
  add_subdirectory(AArch64)
endif()

if(CMAKE_C_COMPILER_ID STREQUAL "Clang")
  if(ARCH STREQUAL "x86")
    if(X86CPU_ARCH STREQUAL "skylake-avx512")
      add_subdirectory(AVX512F)
      add_subdirectory(AVX512BW)
      add_subdirectory(AVX512BWVL)
      add_subdirectory(AVX512DQ)
      add_subdirectory(AVX512DQVL)
      add_subdirectory(AVX512VL)
    endif()
    if(X86CPU_ARCH STREQUAL "knl")
      add_subdirectory(AVX512F)
    endif()
  endif()
endif()
llvm_singlesource(PREFIX "Vector-")
