From 88a5f0d0d7aa80f885ab78107ec7362df58bbaa0 Mon Sep 17 00:00:00 2001 From: paul Date: Thu, 1 Aug 2019 17:16:43 +0200 Subject: [PATCH] Consted the things --- CMakeLists.txt | 11 +++++++++++ sources/AudioBuffer.h | 12 ++++++------ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 11d29a77..9b53ab80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,17 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT ANDROID) add_link_options(-stdlib=libc++) # New command on CMake master, not in 3.12 release endif() +include(CheckCXXCompilerFlag) +# CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE) +# if(COMPILER_SUPPORTS_MARCH_NATIVE) +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") +# endif() + +# CHECK_CXX_COMPILER_FLAG("-ffast-math" COMPILER_SUPPORTS_FASTMATH) +# if(COMPILER_SUPPORTS_FASTMATH) +# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ffast-math") +# endif() + set(BUILD_TESTING OFF CACHE BOOL "Disable Abseil's tests") add_subdirectory(external/abseil-cpp) add_subdirectory(external/spdlog) diff --git a/sources/AudioBuffer.h b/sources/AudioBuffer.h index fcb9fba3..fbd2197f 100644 --- a/sources/AudioBuffer.h +++ b/sources/AudioBuffer.h @@ -75,14 +75,14 @@ public: const float* end = input + 2 * lastAligned; while (in < end) { - auto input0 = _mm_loadu_ps(in); + const auto input0 = _mm_loadu_ps(in); in += 4; - auto input1 = _mm_loadu_ps(in); + const auto input1 = _mm_loadu_ps(in); in += 4; - auto intermediate0 = _mm_unpacklo_ps(input0, input1); - auto intermediate1 = _mm_unpackhi_ps(input0, input1); - auto output0 = _mm_unpacklo_ps(intermediate0, intermediate1); - auto output1 = _mm_unpackhi_ps(intermediate0, intermediate1); + const auto intermediate0 = _mm_unpacklo_ps(input0, input1); + const auto intermediate1 = _mm_unpackhi_ps(input0, input1); + const auto output0 = _mm_unpacklo_ps(intermediate0, intermediate1); + const auto output1 = _mm_unpackhi_ps(intermediate0, intermediate1); _mm_store_ps(out0, output0); _mm_store_ps(out1, output1); out0 += 4;