diff --git a/apps/plugins/pdbox/PDa/src/m_fixed.h b/apps/plugins/pdbox/PDa/src/m_fixed.h index 2a89a18b5a..d46299efe6 100644 --- a/apps/plugins/pdbox/PDa/src/m_fixed.h +++ b/apps/plugins/pdbox/PDa/src/m_fixed.h @@ -16,7 +16,8 @@ typedef int t_sample; /* fixed point multiplication and division */ -#if defined(ROCKBOX) && defined(CPU_ARM) +#ifdef ROCKBOX +#if defined(CPU_ARM) #define mult(A,B) \ ({ \ t_fixed lo; \ @@ -30,10 +31,28 @@ typedef int t_sample; lo; \ }) #define idiv(a,b) ((((long long) (a) )<>= 18 */ + "or.l %[x],%[t1] \n" /* combine result */ + : [t1]"=&d"(t1), [t2]"=&d"(t2), [x]"+d"(x) + : [y]"d"(y), [shl]"d"(31-fix1), [shr]"d"(fix1)); + return t1; +} +#define idiv(a,b) ((((long long) (a) )<>fix1) #define idiv(a,b) ((((long long) (a) )<