From 912bff442e43ab2ae00ca17c1fd7a074594bd5cb Mon Sep 17 00:00:00 2001 From: Tim Blechmann Date: Wed, 11 May 2016 14:05:49 +0200 Subject: [PATCH] libFLAC: infer cpu type from compiler macros Signed-off-by: Erik de Castro Lopo --- src/libFLAC/fixed_intrin_sse2.c | 2 ++ src/libFLAC/fixed_intrin_ssse3.c | 2 ++ src/libFLAC/include/private/cpu.h | 17 +++++++++++++++++ src/libFLAC/lpc_intrin_avx2.c | 2 ++ src/libFLAC/lpc_intrin_sse.c | 3 ++- src/libFLAC/lpc_intrin_sse2.c | 2 ++ src/libFLAC/lpc_intrin_sse41.c | 2 ++ src/libFLAC/stream_encoder_intrin_avx2.c | 2 ++ src/libFLAC/stream_encoder_intrin_sse2.c | 2 ++ src/libFLAC/stream_encoder_intrin_ssse3.c | 2 ++ 10 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/libFLAC/fixed_intrin_sse2.c b/src/libFLAC/fixed_intrin_sse2.c index a871ce94..6a9b4dd0 100644 --- a/src/libFLAC/fixed_intrin_sse2.c +++ b/src/libFLAC/fixed_intrin_sse2.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN diff --git a/src/libFLAC/fixed_intrin_ssse3.c b/src/libFLAC/fixed_intrin_ssse3.c index 322afdc5..1f354322 100644 --- a/src/libFLAC/fixed_intrin_ssse3.c +++ b/src/libFLAC/fixed_intrin_ssse3.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN diff --git a/src/libFLAC/include/private/cpu.h b/src/libFLAC/include/private/cpu.h index 46d01e3f..5a6fbaf7 100644 --- a/src/libFLAC/include/private/cpu.h +++ b/src/libFLAC/include/private/cpu.h @@ -39,6 +39,23 @@ #include #endif +#ifndef FLAC__CPU_X86_64 + +#if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(_M_X64) || defined(_M_AMD64) +#define FLAC__CPU_X86_64 +#endif + +#endif + +#ifndef FLAC__CPU_IA32 + +#if defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86) +#define FLAC__CPU_IA32 +#endif + +#endif + + #if defined FLAC__HAS_X86INTRIN /* SSE intrinsics support by ICC/MSVC/GCC */ #if defined __INTEL_COMPILER diff --git a/src/libFLAC/lpc_intrin_avx2.c b/src/libFLAC/lpc_intrin_avx2.c index 8eec85e1..e314e6ad 100644 --- a/src/libFLAC/lpc_intrin_avx2.c +++ b/src/libFLAC/lpc_intrin_avx2.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN diff --git a/src/libFLAC/lpc_intrin_sse.c b/src/libFLAC/lpc_intrin_sse.c index 9106e14f..c605eca6 100644 --- a/src/libFLAC/lpc_intrin_sse.c +++ b/src/libFLAC/lpc_intrin_sse.c @@ -34,12 +34,13 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN #include "private/lpc.h" #ifdef FLAC__SSE_SUPPORTED - #include "FLAC/assert.h" #include "FLAC/format.h" diff --git a/src/libFLAC/lpc_intrin_sse2.c b/src/libFLAC/lpc_intrin_sse2.c index e1908ed6..32a8975b 100644 --- a/src/libFLAC/lpc_intrin_sse2.c +++ b/src/libFLAC/lpc_intrin_sse2.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN diff --git a/src/libFLAC/lpc_intrin_sse41.c b/src/libFLAC/lpc_intrin_sse41.c index b6f4e5e0..d844a9b1 100644 --- a/src/libFLAC/lpc_intrin_sse41.c +++ b/src/libFLAC/lpc_intrin_sse41.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN diff --git a/src/libFLAC/stream_encoder_intrin_avx2.c b/src/libFLAC/stream_encoder_intrin_avx2.c index 4730bf55..70367586 100644 --- a/src/libFLAC/stream_encoder_intrin_avx2.c +++ b/src/libFLAC/stream_encoder_intrin_avx2.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN #include "private/stream_encoder.h" diff --git a/src/libFLAC/stream_encoder_intrin_sse2.c b/src/libFLAC/stream_encoder_intrin_sse2.c index 55f76640..3bf40c21 100644 --- a/src/libFLAC/stream_encoder_intrin_sse2.c +++ b/src/libFLAC/stream_encoder_intrin_sse2.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN #include "private/stream_encoder.h" diff --git a/src/libFLAC/stream_encoder_intrin_ssse3.c b/src/libFLAC/stream_encoder_intrin_ssse3.c index 551ffd31..bc148cf9 100644 --- a/src/libFLAC/stream_encoder_intrin_ssse3.c +++ b/src/libFLAC/stream_encoder_intrin_ssse3.c @@ -34,6 +34,8 @@ # include #endif +#include "private/cpu.h" + #ifndef FLAC__NO_ASM #if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN #include "private/stream_encoder.h"