summaryrefslogtreecommitdiff
path: root/muse/al/dsp.h
diff options
context:
space:
mode:
Diffstat (limited to 'muse/al/dsp.h')
-rw-r--r--muse/al/dsp.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/muse/al/dsp.h b/muse/al/dsp.h
index d8da11dc..6c7123ac 100644
--- a/muse/al/dsp.h
+++ b/muse/al/dsp.h
@@ -23,7 +23,6 @@
namespace AL {
-
//---------------------------------------------------------
// f_max
//---------------------------------------------------------
@@ -65,6 +64,14 @@ class Dsp {
for (unsigned i = 0; i < n; ++i)
dst[i] += src[i];
}
+ virtual void cpy(float* dst, float* src, unsigned n) {
+#if defined(ARCH_X86) || defined(ARCH_X86_64)
+ register unsinged long int dummy;
+ __asm__ __volatile__ "rep; movsl" :"=&D"(dst), "=&S"(src), "=&c"(dummy) :"0" (to), "1" (from),"2" (n) : "memory");
+#else
+ memcpy(dst, src, sizeof(float) * n);
+#endif
+ }
};
extern void initDsp();