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/pbd | |
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/pbd')
-rw-r--r-- | libs/pbd/pbd/fpu.h | 4 | ||||
-rw-r--r-- | libs/pbd/wscript | 1 |
2 files changed, 4 insertions, 1 deletions
diff --git a/libs/pbd/pbd/fpu.h b/libs/pbd/pbd/fpu.h index 6627951e9f..260cf4db85 100644 --- a/libs/pbd/pbd/fpu.h +++ b/libs/pbd/pbd/fpu.h @@ -30,7 +30,8 @@ class LIBPBD_API FPU { HasFlushToZero = 0x1, HasDenormalsAreZero = 0x2, HasSSE = 0x4, - HasSSE2 = 0x8 + HasSSE2 = 0x8, + HasAVX = 0x10 }; public: @@ -41,6 +42,7 @@ class LIBPBD_API FPU { bool has_denormals_are_zero () const { return _flags & HasDenormalsAreZero; } bool has_sse () const { return _flags & HasSSE; } bool has_sse2 () const { return _flags & HasSSE2; } + bool has_avx () const { return _flags & HasAVX; } private: Flags _flags; diff --git a/libs/pbd/wscript b/libs/pbd/wscript index 8f947fbb26..27617adfa9 100644 --- a/libs/pbd/wscript +++ b/libs/pbd/wscript @@ -145,6 +145,7 @@ def build(bld): if bld.env['build_target'] == 'x86_64': obj.defines += [ 'USE_X86_64_ASM' ] if bld.env['build_target'] == 'mingw': + obj.defines += [ 'NO_POSIX_MEMALIGN' ] obj.source += [ 'windows_special_dirs.cc' ] obj.uselib += ' OLE' |