aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/xsample/source/groove.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/xsample/source/groove.cpp')
-rw-r--r--externals/grill/xsample/source/groove.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/externals/grill/xsample/source/groove.cpp b/externals/grill/xsample/source/groove.cpp
index 4759812c..f70846f7 100644
--- a/externals/grill/xsample/source/groove.cpp
+++ b/externals/grill/xsample/source/groove.cpp
@@ -498,6 +498,11 @@ V xgroove::s_pos_loop(I n,S *const *invecs,S *const *outvecs)
S *pos = outvecs[outchns];
BL lpbang = false;
+#ifdef __VEC__
+ // prefetch cache
+ vec_dst(speed,GetPrefetchConstant(1,n>>2,0),0);
+#endif
+
const D smin = curmin,smax = curmax,plen = smax-smin; //curlen;
if(buf && plen > 0) {
@@ -529,6 +534,10 @@ V xgroove::s_pos_loop(I n,S *const *invecs,S *const *outvecs)
else
s_pos_off(n,invecs,outvecs);
+#ifdef __VEC__
+ vec_dss(0);
+#endif
+
if(lpbang) ToOutBang(outchns+3);
}