diff --git a/dune/perftool/common/vectorclass.hh b/dune/perftool/common/vectorclass.hh index 2c7d6586c902f859983243c4126a974ff9113ccc..4cdaa97cf99e10391d23894ec38db21f2e037cff 100644 --- a/dune/perftool/common/vectorclass.hh +++ b/dune/perftool/common/vectorclass.hh @@ -11,48 +11,47 @@ #define BARRIER asm volatile("": : :"memory") -#ifndef ENABLE_COUNTER - -#include <dune/perftool/vectorclass/vectorclass.h> -#include <dune/perftool/vectorclass/vectormath_exp.h> -#include <dune/perftool/vectorclass/vectormath_trig.h> - -#else +template<typename T> +struct base_floatingpoint +{}; -#include <algorithm> +#ifndef ENABLE_COUNTER -#define VCL_NAMESPACE _vcl #include <dune/perftool/vectorclass/vectorclass.h> #include <dune/perftool/vectorclass/vectormath_exp.h> #include <dune/perftool/vectorclass/vectormath_trig.h> -#include <dune/perftool/common/opcounter.hh> - -#include <numeric> - - -template<typename T> -struct base_floatingpoint -{}; - template<> -struct base_floatingpoint<_vcl::Vec4d> +struct base_floatingpoint<Vec4d> { using value = double; }; template<> -struct base_floatingpoint<_vcl::Vec8d> +struct base_floatingpoint<Vec8d> { using value = double; }; template<> -struct base_floatingpoint<_vcl::Vec8f> +struct base_floatingpoint<Vec8f> { using value = float; }; +#else + +#include <algorithm> + +#define VCL_NAMESPACE _vcl +#include <dune/perftool/vectorclass/vectorclass.h> +#include <dune/perftool/vectorclass/vectormath_exp.h> +#include <dune/perftool/vectorclass/vectormath_trig.h> + +#include <dune/perftool/common/opcounter.hh> + +#include <numeric> + struct Vec4d { oc::OpCounter<double> _d[4];