summaryrefslogtreecommitdiff
path: root/libs/ardour/sse_functions_xmm.cc
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2013-08-04 17:01:37 +0100
committerJohn Emmas <johne53@tiscali.co.uk>2013-08-04 17:01:37 +0100
commitd176cbc80476cdc8ca082631efc171ea39116d63 (patch)
tree16645ddb055c746ab92b8b1d2639ba8fcf5c433b /libs/ardour/sse_functions_xmm.cc
parent490311bc081b12d328e6e02cac8170538e96fb2f (diff)
'libs/ardour' - Compiler specific includes and includes
Diffstat (limited to 'libs/ardour/sse_functions_xmm.cc')
-rw-r--r--libs/ardour/sse_functions_xmm.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/ardour/sse_functions_xmm.cc b/libs/ardour/sse_functions_xmm.cc
index 48212ea8e1..f8a53cc6f8 100644
--- a/libs/ardour/sse_functions_xmm.cc
+++ b/libs/ardour/sse_functions_xmm.cc
@@ -45,8 +45,11 @@ x86_sse_find_peaks(const ARDOUR::Sample* buf, ARDOUR::pframes_t nframes, float *
// use 64 byte prefetch for quadruple quads
while (nframes >= 16) {
+#ifdef COMPILER_MSVC
+ _mm_prefetch(((char*)buf+64), 0); // A total guess! Assumed to be eqivalent to
+#else // the line below but waiting to be tested !!
__builtin_prefetch(buf+64,0,0);
-
+#endif
work = _mm_load_ps(buf);
current_min = _mm_min_ps(current_min, work);
current_max = _mm_max_ps(current_max, work);