Compare commits
3 Commits
main
...
32-set-avx
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5f740f5fbf | ||
|
|
03723c2d3b | ||
|
|
027457f560 |
@@ -2,6 +2,24 @@ include(FetchContent)
|
|||||||
include(FindAVX)
|
include(FindAVX)
|
||||||
add_library(trigdx reference.cpp lookup.cpp)
|
add_library(trigdx reference.cpp lookup.cpp)
|
||||||
|
|
||||||
|
if(HAVE_AVX2)
|
||||||
|
target_compile_definitions(trigdx PUBLIC HAVE_AVX2)
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR CMAKE_CXX_COMPILER_ID STREQUAL
|
||||||
|
"IntelLLVM")
|
||||||
|
target_compile_options(trigdx PUBLIC -xCORE-AVX2)
|
||||||
|
else()
|
||||||
|
target_compile_options(trigdx PUBLIC -mavx2)
|
||||||
|
endif()
|
||||||
|
elseif(HAVE_AVX)
|
||||||
|
target_compile_definitions(trigdx PUBLIC HAVE_AVX)
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel" OR CMAKE_CXX_COMPILER_ID STREQUAL
|
||||||
|
"IntelLLVM")
|
||||||
|
target_compile_options(trigdx PUBLIC -xAVX)
|
||||||
|
else()
|
||||||
|
target_compile_options(trigdx PUBLIC -mavx)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
target_include_directories(trigdx PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
target_include_directories(trigdx PUBLIC ${PROJECT_SOURCE_DIR}/include)
|
||||||
|
|
||||||
if(HAVE_AVX)
|
if(HAVE_AVX)
|
||||||
|
|||||||
@@ -6,6 +6,16 @@
|
|||||||
|
|
||||||
#include "trigdx/lookup_avx.hpp"
|
#include "trigdx/lookup_avx.hpp"
|
||||||
|
|
||||||
|
#if defined(HAVE_AVX) && !defined(__AVX__)
|
||||||
|
static_assert(HAVE_AVX == 0, "__AVX__ should be defined when HAVE_AVX is "
|
||||||
|
"defined");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined(HAVE_AVX2) && !defined(__AVX2__)
|
||||||
|
static_assert(HAVE_AVX2 == 0, "__AVX2__ should be defined when HAVE_AVX2 is "
|
||||||
|
"defined");
|
||||||
|
#endif
|
||||||
|
|
||||||
template <std::size_t NR_SAMPLES> struct LookupAVXBackend<NR_SAMPLES>::Impl {
|
template <std::size_t NR_SAMPLES> struct LookupAVXBackend<NR_SAMPLES>::Impl {
|
||||||
std::vector<float> lookup;
|
std::vector<float> lookup;
|
||||||
static constexpr std::size_t MASK = NR_SAMPLES - 1;
|
static constexpr std::size_t MASK = NR_SAMPLES - 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user