include(${OpenVML_ARCH}/Kernel_generic.txt)

if(NOT MSVC)
set(OpenVML_KERNEL_COMPILE_FLAGS -mavx2)
else()
set(OpenVML_KERNEL_COMPILE_FLAGS /arch:AVX2)
endif()

set(add_S_KERNEL_SOURCE ${OpenVML_ARCH}/sadd_kernel_avx.c)
set(add_D_KERNEL_SOURCE ${OpenVML_ARCH}/dadd_kernel_avx.c)
set(add_C_KERNEL_SOURCE ${OpenVML_ARCH}/sadd_kernel_avx.c)
set(add_Z_KERNEL_SOURCE ${OpenVML_ARCH}/dadd_kernel_avx.c)

set(sub_S_KERNEL_SOURCE ${OpenVML_ARCH}/ssub_kernel_avx.c)
set(sub_D_KERNEL_SOURCE ${OpenVML_ARCH}/dsub_kernel_avx.c)
set(sub_C_KERNEL_SOURCE ${OpenVML_ARCH}/ssub_kernel_avx.c)
set(sub_Z_KERNEL_SOURCE ${OpenVML_ARCH}/dsub_kernel_avx.c)

set(sqr_S_KERNEL_SOURCE ${OpenVML_ARCH}/ssqr_kernel_avx.c)
set(sqr_D_KERNEL_SOURCE ${OpenVML_ARCH}/dsqr_kernel_avx.c)

set(pow_S_KERNEL_SOURCE ${OpenVML_ARCH}/spow_kernel_avx.c)
set(pow_D_KERNEL_SOURCE ${OpenVML_ARCH}/dpow_kernel_avx.c)

set(powx_S_KERNEL_SOURCE ${OpenVML_ARCH}/spowx_kernel_avx.c)
set(powx_D_KERNEL_SOURCE ${OpenVML_ARCH}/dpowx_kernel_avx.c)


set(exp_S_KERNEL_SOURCE ${OpenVML_ARCH}/sexp_kernel_avx.c)
set(exp_D_KERNEL_SOURCE ${OpenVML_ARCH}/dexp_kernel_avx.c)

#set(log10_S_KERNEL_SOURCE ${OpenVML_ARCH}/slog10_kernel_avx.c)
#set(log10_D_KERNEL_SOURCE ${OpenVML_ARCH}/dlog10_kernel_avx.c)

set(ln_S_KERNEL_SOURCE ${OpenVML_ARCH}/sln_kernel_avx.c)
set(ln_D_KERNEL_SOURCE ${OpenVML_ARCH}/dln_kernel_avx.c)

#set(log1p_S_KERNEL_SOURCE ${OpenVML_ARCH}/slog1p_kernel_avx.c)
#set(log1p_D_KERNEL_SOURCE ${OpenVML_ARCH}/dlog1p_kernel_avx.c)

set(tanh_S_KERNEL_SOURCE ${OpenVML_ARCH}/stanh_kernel_avx.c)
set(tanh_D_KERNEL_SOURCE ${OpenVML_ARCH}/dtanh_kernel_avx.c)

set(sin_S_KERNEL_SOURCE ${OpenVML_ARCH}/ssin_kernel_avx.c)

set(cos_S_KERNEL_SOURCE ${OpenVML_ARCH}/scos_kernel_avx.c)
