aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source/flsimd.cpp
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-05-23 18:34:12 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-05-23 18:34:12 +0000
commit494d0c177cf16562157b888bd936404579016ac8 (patch)
tree045111603ca53195ea83ab573fb6df311a8d53cb /externals/grill/flext/source/flsimd.cpp
parent0de07c1dbdc7266e510522dc878265dc07712c61 (diff)
""
svn path=/trunk/; revision=650
Diffstat (limited to 'externals/grill/flext/source/flsimd.cpp')
-rwxr-xr-xexternals/grill/flext/source/flsimd.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/externals/grill/flext/source/flsimd.cpp b/externals/grill/flext/source/flsimd.cpp
index bebf3d97..9786e4e7 100755
--- a/externals/grill/flext/source/flsimd.cpp
+++ b/externals/grill/flext/source/flsimd.cpp
@@ -35,8 +35,14 @@ WARRANTIES, see the file, "license.txt," in this distribution.
#include <xmmintrin.h> // SSE
#include <emmintrin.h> // SSE2
#include <mm3dnow.h> // 3DNow!
+// #elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__MWERKS__)
+// #include <Altivec.h>
#elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__MWERKS__)
- #include "Altivec.h"
+ #include <vBasicOps.h>
+ #include <vectorOps.h>
+ #elif FLEXT_CPU == FLEXT_CPU_PPC && defined(__GNUG__)
+ #include <vecLib/vBasicOps.h>
+ #include <vecLib/vectorOps.h>
#endif
#endif // FLEXT_USE_SIMD
@@ -345,6 +351,14 @@ void flext::CopySamples(t_sample *dst,const t_sample *src,int cnt)
#else
#error t_sample data type has illegal size
#endif
+#elif FLEXT_OS == FLEXT_OS_MAC && defined(__VEC__) && defined(__VECTOROPS__)
+ {
+ int n = cnt>>2,n4 = n<<2;
+ cnt -= n4;
+ vScopy(n4,src,dst);
+ src += n4,dst += n4;
+ while(cnt--) *(dst++) = *(src++);
+ }
#endif // _MSC_VER
#endif // FLEXT_USE_SIMD
{