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:
authorJean-Marc Valin <jmvalin@amazon.com>2023-11-30 02:17:30 +0300
committerJean-Marc Valin <jmvalin@amazon.com>2023-11-30 02:19:19 +0300
commit88fc293799c851d3c1873e0f98ae0ace0eba88bb (patch)
tree1c19254b8453ca155330f5ba031173aeba712b26
parentf126bfc531b9bf61fb92af70ee0a138cd7d0f99a (diff)
Defining __SSEx__ macros when needed for MSVC
-rw-r--r--celt/x86/x86_arch_macros.h47
-rw-r--r--celt_headers.mk1
-rw-r--r--dnn/x86/nnet_avx2.c2
-rw-r--r--dnn/x86/nnet_sse2.c2
-rw-r--r--dnn/x86/nnet_sse4_1.c2
5 files changed, 54 insertions, 0 deletions
diff --git a/celt/x86/x86_arch_macros.h b/celt/x86/x86_arch_macros.h
new file mode 100644
index 00000000..975b443e
--- /dev/null
+++ b/celt/x86/x86_arch_macros.h
@@ -0,0 +1,47 @@
+/* Copyright (c) 2023 Amazon */
+/*
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#ifdef _MSC_VER
+
+# ifdef OPUS_X86_MAY_HAVE_SSE
+# ifndef __SSE__
+# define __SSE__
+# endif
+# endif
+
+# ifdef OPUS_X86_MAY_HAVE_SSE2
+# ifndef __SSE2__
+# define __SSE2__
+# endif
+# endif
+
+# ifdef OPUS_X86_MAY_HAVE_SSE4_1
+# ifndef __SSE4_1__
+# define __SSE4_1__
+# endif
+# endif
+
+#endif
diff --git a/celt_headers.mk b/celt_headers.mk
index 706185da..94a65573 100644
--- a/celt_headers.mk
+++ b/celt_headers.mk
@@ -50,4 +50,5 @@ celt/mips/pitch_mipsr1.h \
celt/mips/vq_mipsr1.h \
celt/x86/pitch_sse.h \
celt/x86/vq_sse.h \
+celt/x86/x86_arch_macros.h \
celt/x86/x86cpu.h
diff --git a/dnn/x86/nnet_avx2.c b/dnn/x86/nnet_avx2.c
index f463b324..41037fcc 100644
--- a/dnn/x86/nnet_avx2.c
+++ b/dnn/x86/nnet_avx2.c
@@ -29,6 +29,8 @@
#include "config.h"
#endif
+#include "x86/x86_arch_macros.h"
+
#ifndef __AVX2__
#error nnet_avx2.c is being compiled without AVX2 enabled
#endif
diff --git a/dnn/x86/nnet_sse2.c b/dnn/x86/nnet_sse2.c
index bcee5ccc..447b947c 100644
--- a/dnn/x86/nnet_sse2.c
+++ b/dnn/x86/nnet_sse2.c
@@ -29,6 +29,8 @@
#include "config.h"
#endif
+#include "x86/x86_arch_macros.h"
+
#ifndef __SSE2__
#error nnet_sse2.c is being compiled without SSE2 enabled
#endif
diff --git a/dnn/x86/nnet_sse4_1.c b/dnn/x86/nnet_sse4_1.c
index 4b530b65..224926e5 100644
--- a/dnn/x86/nnet_sse4_1.c
+++ b/dnn/x86/nnet_sse4_1.c
@@ -29,6 +29,8 @@
#include "config.h"
#endif
+#include "x86/x86_arch_macros.h"
+
#ifndef __SSE4_1__
#error nnet_sse4_1.c is being compiled without SSE4.1 enabled
#endif