From ee42a8925c8cb6107caedae6c230c0f6cf4571d0 Mon Sep 17 00:00:00 2001 From: paulfd Date: Sun, 25 Aug 2019 14:05:30 +0200 Subject: [PATCH] Updated build system --- CMakeLists.txt | 6 ++-- ...high_vs_low.cpp => BM_OPF_high_vs_low.cpp} | 31 ++++++++++++------- 2 files changed, 21 insertions(+), 16 deletions(-) rename benchmarks/{OPF_high_vs_low.cpp => BM_OPF_high_vs_low.cpp} (82%) diff --git a/CMakeLists.txt b/CMakeLists.txt index ca6aa68b..3128d06f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -147,10 +147,8 @@ target_include_directories(sfizz_tests SYSTEM PRIVATE sources) file(COPY "tests" DESTINATION ${CMAKE_BINARY_DIR}) ############################### -add_executable(bench_opf_high_vs_low benchmarks/OPF_high_vs_low.cpp) -target_link_libraries(bench_opf_high_vs_low benchmark absl::span) - -############################### +add_executable(bm_opf_high_vs_low benchmarks/BM_OPF_high_vs_low.cpp) +target_link_libraries(bm_opf_high_vs_low benchmark absl::span) add_executable(bm_write benchmarks/BM_writeInterleaved.cpp sources/SIMDSSE.cpp) target_link_libraries(bm_write benchmark absl::span) diff --git a/benchmarks/OPF_high_vs_low.cpp b/benchmarks/BM_OPF_high_vs_low.cpp similarity index 82% rename from benchmarks/OPF_high_vs_low.cpp rename to benchmarks/BM_OPF_high_vs_low.cpp index f8e0fa27..9e31a8bf 100644 --- a/benchmarks/OPF_high_vs_low.cpp +++ b/benchmarks/BM_OPF_high_vs_low.cpp @@ -1,12 +1,19 @@ #include -#include "gsl/gsl-lite.hpp" +#include #include #include -#include "../sources/Intrinsics.h" + +#if HAVE_X86INTRIN_H +#include +#endif + +#if HAVE_INTRIN_H +#include +#endif constexpr float filterGain { 0.25f }; -void lowpass(gsl::span input, gsl::span lowpass, float gain) +void lowpass(absl::Span input, absl::Span lowpass, float gain) { float state = 0.0f; float intermediate; @@ -21,7 +28,7 @@ void lowpass(gsl::span input, gsl::span lowpass, float gain) } } -void highpass(gsl::span input, gsl::span highpass, float gain) +void highpass(absl::Span input, absl::Span highpass, float gain) { float state = 0.0f; float intermediate; @@ -36,7 +43,7 @@ void highpass(gsl::span input, gsl::span highpass, float gai } } -void highpass_foreach(gsl::span input, gsl::span highpass, float gain) +void highpass_foreach(absl::Span input, absl::Span highpass, float gain) { lowpass(input, highpass, gain); for (auto [in, out] = std::make_pair(input.begin(), highpass.begin()); @@ -45,7 +52,7 @@ void highpass_foreach(gsl::span input, gsl::span highpass, f *out = *in - *out; } -void highpass_raw(gsl::span input, gsl::span highpass, float gain) +void highpass_raw(absl::Span input, absl::Span highpass, float gain) { lowpass(input, highpass, gain); auto in = input.data(); @@ -58,7 +65,7 @@ void highpass_raw(gsl::span input, gsl::span highpass, float } } -void highpass_sse(gsl::span input, gsl::span highpass, float gain) +void highpass_sse(absl::Span input, absl::Span highpass, float gain) { lowpass(input, highpass, gain); auto in = input.data(); @@ -96,7 +103,7 @@ static void Low(benchmark::State& state) { }); for (auto _ : state) - lowpass(input, output, filterGain); + lowpass(input, absl::MakeSpan(output), filterGain); } static void High(benchmark::State& state) { @@ -111,7 +118,7 @@ static void High(benchmark::State& state) { }); for (auto _ : state) - highpass(input, output, filterGain); + highpass(input, absl::MakeSpan(output), filterGain); } static void High_ForEach(benchmark::State& state) { @@ -126,7 +133,7 @@ static void High_ForEach(benchmark::State& state) { }); for (auto _ : state) - highpass_foreach(input, output, filterGain); + highpass_foreach(input, absl::MakeSpan(output), filterGain); } static void High_Raw(benchmark::State& state) { @@ -141,7 +148,7 @@ static void High_Raw(benchmark::State& state) { }); for (auto _ : state) - highpass_raw(input, output, filterGain); + highpass_raw(input, absl::MakeSpan(output), filterGain); } static void High_SSE(benchmark::State& state) { @@ -156,7 +163,7 @@ static void High_SSE(benchmark::State& state) { }); for (auto _ : state) - highpass_sse(input, output, filterGain); + highpass_sse(input, absl::MakeSpan(output), filterGain); }