Introduce a macro for imprecise configurations
[ardour.git] / libs / ardour / sse_functions_avx.cc
index 0b314948c52d862b47e2e328d048ea6db9d1497d..19bca8041c89c7a43da8d84e4272769a038e8067 100644 (file)
 
 #include <xmmintrin.h>
 #include <immintrin.h>
-#include "ardour/types.h"
+#include <stdint.h>
 
 
 void
-x86_sse_avx_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, float *min, float *max)
+x86_sse_avx_find_peaks(const float* buf, uint32_t nframes, float *min, float *max)
 {
        __m256 current_max, current_min, work;
 
@@ -34,7 +34,7 @@ x86_sse_avx_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, flo
 
        // Work input until "buf" reaches 16 byte alignment
        while ( ((intptr_t)buf) % 32 != 0 && nframes > 0) {
-               
+
                // Load the next float into the work buffer
                work = _mm256_set1_ps(*buf);
 
@@ -48,9 +48,9 @@ x86_sse_avx_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, flo
         // use 64 byte prefetch for quadruple quads:
                // load each 64 bytes into cash before processing
         while (nframes >= 16) {
-#if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)                                   
+#if defined(COMPILER_MSVC) || defined(COMPILER_MINGW)
                                _mm_prefetch(((char*)buf+64), _mm_hint(0) );
-#else    
+#else
                 __builtin_prefetch(buf+64,0,0);
 #endif
                 work = _mm256_load_ps(buf);