Index: celt/cpu_support.h |
diff --git a/celt/cpu_support.h b/celt/cpu_support.h |
index d68dbe62c5b086a59e49f896e16f2eef1270cb07..1d62e2f3ac055521999456dd070c5f51f55fd6ad 100644 |
--- a/celt/cpu_support.h |
+++ b/celt/cpu_support.h |
@@ -31,7 +31,8 @@ |
#include "opus_types.h" |
#include "opus_defines.h" |
-#if defined(OPUS_HAVE_RTCD) && defined(OPUS_ARM_ASM) |
+#if defined(OPUS_HAVE_RTCD) && \ |
+ (defined(OPUS_ARM_ASM) || defined(OPUS_ARM_NEON_INTR)) |
#include "arm/armcpu.h" |
/* We currently support 4 ARM variants: |
@@ -42,6 +43,18 @@ |
*/ |
#define OPUS_ARCHMASK 3 |
+#elif defined(OPUS_X86_MAY_HAVE_SSE2) || defined(OPUS_X86_MAY_HAVE_SSE4_1) |
+ |
+#include "x86/x86cpu.h" |
+/* We currently support 3 x86 variants: |
+ * arch[0] -> non-sse |
+ * arch[1] -> sse2 |
+ * arch[2] -> sse4.1 |
+ * arch[3] -> NULL |
+ */ |
+#define OPUS_ARCHMASK 3 |
+int opus_select_arch(void); |
+ |
#else |
#define OPUS_ARCHMASK 0 |
@@ -50,5 +63,4 @@ static OPUS_INLINE int opus_select_arch(void) |
return 0; |
} |
#endif |
- |
#endif |