diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2015-05-12 21:07:09 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2015-06-29 14:18:13 -0400 |
commit | 6410aa896f974002f8539ee3ca2f70bf66c0a0af (patch) | |
tree | 7ef2a62226a6ac5927c563efe21ea6d1ecc0da72 /libs/ardour/mix.cc | |
parent | e2a76746e65c42fd10a892ffd82300f1cf776ac6 (diff) |
Added optimized AVX function for sample processing
Added AVX versions of existing 5 SSE functions. Added 6th AVX function to copy vectors which is 1.5 times faster then memcpy.
Data consistency and validness is fully tested after processing with new AVX functions on aligned and non aligned buffers.
Diffstat (limited to 'libs/ardour/mix.cc')
-rw-r--r-- | libs/ardour/mix.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/mix.cc b/libs/ardour/mix.cc index adae68ae7f..96ae624487 100644 --- a/libs/ardour/mix.cc +++ b/libs/ardour/mix.cc @@ -136,6 +136,12 @@ default_mix_buffers_no_gain (ARDOUR::Sample * dst, const ARDOUR::Sample * src, p } } +void +default_copy_vector (ARDOUR::Sample * dst, const ARDOUR::Sample * src, pframes_t nframes) +{ + memcpy(dst, src, nframes*sizeof(ARDOUR::Sample)); +} + #if defined (__APPLE__) && defined (BUILD_VECLIB_OPTIMIZATIONS) #include <Accelerate/Accelerate.h> |