aboutsummaryrefslogtreecommitdiff
path: root/src/sgn~.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-01-19 14:56:40 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2010-01-19 14:56:40 +0000
commit4934f05ba8e55f58ed5762180ea317da50a00a05 (patch)
treed1568a29be25660351692ab6a11fc785b179b158 /src/sgn~.c
parent6d3d4743b01e15a82444b2ca900b60094e3c1800 (diff)
SIMD code hopefully now also works on 64bit
svn path=/trunk/externals/zexy/; revision=13045
Diffstat (limited to 'src/sgn~.c')
-rw-r--r--src/sgn~.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/sgn~.c b/src/sgn~.c
index 04076c2..03ffbf1 100644
--- a/src/sgn~.c
+++ b/src/sgn~.c
@@ -20,7 +20,7 @@
2112:forum::für::umläute:2005
*/
-#include "zexy.h"
+#include "zexySIMD.h"
typedef struct _sgnTilde
{
@@ -73,7 +73,7 @@ static t_int *sgnTilde_perform8(t_int *w)
}
#ifdef __SSE__
-static long l_bitmask[]={0x80000000, 0x80000000, 0x80000000, 0x80000000}; /* sign bitmask */
+static int l_bitmask[]={0x80000000, 0x80000000, 0x80000000, 0x80000000}; /* sign bitmask */
static t_int *sgnTilde_performSSE(t_int *w)
{
__m128 *in = (__m128 *)(w[1]);
@@ -114,10 +114,10 @@ static void sgnTilde_dsp(t_sgnTilde *x, t_signal **sp)
{
#ifdef __SSE__
if(
- Z_SIMD_CHKBLOCKSIZE(sp[0]->s_n)&&
- Z_SIMD_CHKALIGN(sp[0]->s_vec)&&
- Z_SIMD_CHKALIGN(sp[1]->s_vec)&&
- ZEXY_TYPE_EQUAL(t_sample, float) /* currently SSE2 code is only for float (not for double) */
+ ZEXY_TYPE_EQUAL(t_sample, float) && /* currently SSE2 code is only for float (not for double) */
+ zexy_testSSE(sgnTilde_perform,
+ sgnTilde_performSSE,
+ 1,1)
)
{
dsp_add(sgnTilde_performSSE, 3, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n);