Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRhishikesh Agashe <Rhishikesh.Agashe@imgtec.com>2014-06-19 11:40:09 +0400
committerJean-Marc Valin <jmvalin@jmvalin.ca>2014-06-19 12:04:51 +0400
commitf133bac6f9199ca79b6e63dabf1c9839d35d207f (patch)
treeb06890b1cee301c04b08850f2091052e0527ef73 /silk/macros.h
parenta88d8365d42e5369777afa496b43ea88a1aa9106 (diff)
MIPS optimizations
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'silk/macros.h')
-rw-r--r--silk/macros.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/silk/macros.h b/silk/macros.h
index a84e5a5d..612c2cc5 100644
--- a/silk/macros.h
+++ b/silk/macros.h
@@ -79,17 +79,24 @@ POSSIBILITY OF SUCH DAMAGE.
(( (a) & ((b)^0x80000000) & 0x80000000) ? silk_int32_MIN : (a)-(b)) : \
((((a)^0x80000000) & (b) & 0x80000000) ? silk_int32_MAX : (a)-(b)) )
-#include "ecintrin.h"
+#if defined(MIPSr1_ASM)
+#include "mips/macros_mipsr1.h"
+#endif
+#include "ecintrin.h"
+#ifndef OVERRIDE_silk_CLZ16
static OPUS_INLINE opus_int32 silk_CLZ16(opus_int16 in16)
{
return 32 - EC_ILOG(in16<<16|0x8000);
}
+#endif
+#ifndef OVERRIDE_silk_CLZ32
static OPUS_INLINE opus_int32 silk_CLZ32(opus_int32 in32)
{
return in32 ? 32 - EC_ILOG(in32) : 32;
}
+#endif
/* Row based */
#define matrix_ptr(Matrix_base_adr, row, column, N) \