From 9195e4805ffa273d70b1acbb24b2ed0d7aec9587 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Sun, 7 Jun 2015 20:16:43 +0000 Subject: only use SSE-variants if signal vector is big enough for loop unrolling svn path=/trunk/externals/zexy/; revision=17477 --- src/abs~.c | 1 + src/sgn~.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/abs~.c b/src/abs~.c index 0d509f9..b55a742 100644 --- a/src/abs~.c +++ b/src/abs~.c @@ -119,6 +119,7 @@ static void sigABS_dsp(t_abs *x, t_signal **sp) { #ifdef __SSE__ if( + (!(sp[0]->s_n & 15)) && ZEXY_TYPE_EQUAL(t_sample, float) && zexy_testSSE(sigABS_perform, sigABS_performSSE, diff --git a/src/sgn~.c b/src/sgn~.c index 2570fd2..2421b69 100644 --- a/src/sgn~.c +++ b/src/sgn~.c @@ -115,6 +115,7 @@ static void sgnTilde_dsp(t_sgnTilde *x, t_signal **sp) 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