From f6cab44c8c45e5dc47bef1d8707cc0f0ef18cd21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Sun, 7 Jun 2015 20:21:55 +0000 Subject: use macros to check for SSE-compatibility svn path=/trunk/externals/zexy/; revision=17478 --- src/abs~.c | 4 +++- src/sgn~.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/abs~.c b/src/abs~.c index b55a742..d021f8e 100644 --- a/src/abs~.c +++ b/src/abs~.c @@ -119,7 +119,9 @@ static void sigABS_dsp(t_abs *x, t_signal **sp) { #ifdef __SSE__ if( - (!(sp[0]->s_n & 15)) && + 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) && zexy_testSSE(sigABS_perform, sigABS_performSSE, diff --git a/src/sgn~.c b/src/sgn~.c index 2421b69..5341694 100644 --- a/src/sgn~.c +++ b/src/sgn~.c @@ -111,11 +111,13 @@ 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_testSSE(sgnTilde_perform, sgnTilde_performSSE, 1,1) - && !(sp[0]->s_n & 7) ) { dsp_add(sgnTilde_performSSE, 3, sp[0]->s_vec, sp[1]->s_vec, sp[0]->s_n); -- cgit v1.2.1