diff options
author | Rhishikesh Agashe <Rhishikesh.Agashe@imgtec.com> | 2014-06-19 11:40:09 +0400 |
---|---|---|
committer | Jean-Marc Valin <jmvalin@jmvalin.ca> | 2014-06-19 12:04:51 +0400 |
commit | f133bac6f9199ca79b6e63dabf1c9839d35d207f (patch) | |
tree | b06890b1cee301c04b08850f2091052e0527ef73 /silk/macros.h | |
parent | a88d8365d42e5369777afa496b43ea88a1aa9106 (diff) |
MIPS optimizations
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'silk/macros.h')
-rw-r--r-- | silk/macros.h | 9 |
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) \ |