diff options
-rw-r--r-- | configure.ac | 2 | ||||
-rw-r--r-- | src/libFLAC/cpu.c | 18 | ||||
-rw-r--r-- | src/libFLAC/fixed_intrin_ssse3.c | 2 | ||||
-rw-r--r-- | src/libFLAC/include/private/cpu.h | 4 | ||||
-rw-r--r-- | src/libFLAC/include/private/fixed.h | 2 | ||||
-rw-r--r-- | src/libFLAC/include/private/lpc.h | 6 | ||||
-rw-r--r-- | src/libFLAC/lpc_intrin_avx2.c | 2 | ||||
-rw-r--r-- | src/libFLAC/lpc_intrin_sse.c | 2 | ||||
-rw-r--r-- | src/libFLAC/lpc_intrin_sse2.c | 2 | ||||
-rw-r--r-- | src/libFLAC/lpc_intrin_sse41.c | 2 | ||||
-rw-r--r-- | src/libFLAC/stream_decoder.c | 2 | ||||
-rw-r--r-- | src/libFLAC/stream_encoder.c | 6 | ||||
-rw-r--r-- | src/libFLAC/stream_encoder_intrin_avx2.c | 2 | ||||
-rw-r--r-- | src/libFLAC/stream_encoder_intrin_sse2.c | 2 | ||||
-rw-r--r-- | src/libFLAC/stream_encoder_intrin_ssse3.c | 2 |
15 files changed, 29 insertions, 27 deletions
diff --git a/configure.ac b/configure.ac index a4c689ca..805371a2 100644 --- a/configure.ac +++ b/configure.ac @@ -154,6 +154,8 @@ AM_CONDITIONAL(FLaC__CPU_SPARC, test "x$cpu_sparc" = xtrue) if test "x$ac_cv_header_x86intrin_h" = xyes; then AC_DEFINE([FLAC__HAS_X86INTRIN], 1, [Set to 1 if <x86intrin.h> is available.]) +else +AC_DEFINE([FLAC__HAS_X86INTRIN], 0) fi case "$host" in diff --git a/src/libFLAC/cpu.c b/src/libFLAC/cpu.c index fc472344..b1951332 100644 --- a/src/libFLAC/cpu.c +++ b/src/libFLAC/cpu.c @@ -109,7 +109,7 @@ static const unsigned FLAC__CPUINFO_IA32_CPUID_AVX2 = 0x00000020; /* * Extra stuff needed for detection of OS support for SSE on IA-32 */ -#if defined(FLAC__CPU_IA32) && !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || defined FLAC__HAS_X86INTRIN) && !FLAC__SSE_OS +#if defined(FLAC__CPU_IA32) && !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) && !FLAC__SSE_OS # if defined(__linux__) /* * If the OS doesn't support SSE, we will get here with a SIGILL. We @@ -147,9 +147,9 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) (void) ia32_fxsr; (void) ia32_osxsave; /* to avoid warnings about unused variables */ memset(info, 0, sizeof(*info)); info->type = FLAC__CPUINFO_TYPE_IA32; -#if !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || defined FLAC__HAS_X86INTRIN) +#if !defined FLAC__NO_ASM && (defined FLAC__HAS_NASM || FLAC__HAS_X86INTRIN) info->use_asm = true; /* we assume a minimum of 80386 with FLAC__CPU_IA32 */ -#ifdef FLAC__HAS_X86INTRIN +#if FLAC__HAS_X86INTRIN if(!FLAC__cpu_have_cpuid_x86()) return; #else @@ -158,7 +158,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) #endif { /* http://www.sandpile.org/x86/cpuid.htm */ -#ifdef FLAC__HAS_X86INTRIN +#if FLAC__HAS_X86INTRIN FLAC__uint32 flags_eax, flags_ebx, flags_ecx, flags_edx; FLAC__cpu_info_x86(0, &flags_eax, &flags_ebx, &flags_ecx, &flags_edx); info->ia32.intel = (flags_ebx == 0x756E6547 && flags_edx == 0x49656E69 && flags_ecx == 0x6C65746E)? true : false; /* GenuineIntel */ @@ -176,7 +176,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) info->ia32.ssse3 = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_SSSE3)? true : false; info->ia32.sse41 = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_SSE41)? true : false; info->ia32.sse42 = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_SSE42)? true : false; -#if defined FLAC__HAS_X86INTRIN && defined FLAC__AVX_SUPPORTED +#if FLAC__HAS_X86INTRIN && defined FLAC__AVX_SUPPORTED ia32_osxsave = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_OSXSAVE)? true : false; info->ia32.avx = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_AVX )? true : false; info->ia32.fma = (flags_ecx & FLAC__CPUINFO_IA32_CPUID_FMA )? true : false; @@ -195,7 +195,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) fprintf(stderr, " SSSE3 ...... %c\n", info->ia32.ssse3 ? 'Y' : 'n'); fprintf(stderr, " SSE41 ...... %c\n", info->ia32.sse41 ? 'Y' : 'n'); fprintf(stderr, " SSE42 ...... %c\n", info->ia32.sse42 ? 'Y' : 'n'); -# if defined FLAC__HAS_X86INTRIN && defined FLAC__AVX_SUPPORTED +# if FLAC__HAS_X86INTRIN && defined FLAC__AVX_SUPPORTED fprintf(stderr, " AVX ........ %c\n", info->ia32.avx ? 'Y' : 'n'); fprintf(stderr, " FMA ........ %c\n", info->ia32.fma ? 'Y' : 'n'); fprintf(stderr, " AVX2 ....... %c\n", info->ia32.avx2 ? 'Y' : 'n'); @@ -320,7 +320,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) /* * now have to check for OS support of AVX instructions */ -#ifdef FLAC__HAS_X86INTRIN +#if FLAC__HAS_X86INTRIN if(info->ia32.avx && ia32_osxsave) { FLAC__uint32 ecr = FLAC__cpu_xgetbv_x86(); if ((ecr & 0x6) != 0x6) @@ -346,7 +346,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) (void) x86_osxsave; /* to avoid warnings about unused variables */ memset(info, 0, sizeof(*info)); info->type = FLAC__CPUINFO_TYPE_X86_64; -#if !defined FLAC__NO_ASM && defined FLAC__HAS_X86INTRIN +#if !defined FLAC__NO_ASM && FLAC__HAS_X86INTRIN info->use_asm = true; { /* http://www.sandpile.org/x86/cpuid.htm */ @@ -405,7 +405,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info) #endif } -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #if defined _MSC_VER #include <intrin.h> /* for __cpuid() and _xgetbv() */ diff --git a/src/libFLAC/fixed_intrin_ssse3.c b/src/libFLAC/fixed_intrin_ssse3.c index 1f354322..f4d93e8f 100644 --- a/src/libFLAC/fixed_intrin_ssse3.c +++ b/src/libFLAC/fixed_intrin_ssse3.c @@ -38,7 +38,7 @@ #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/fixed.h" #ifdef FLAC__SSSE3_SUPPORTED diff --git a/src/libFLAC/include/private/cpu.h b/src/libFLAC/include/private/cpu.h index 5a6fbaf7..eb8a42c4 100644 --- a/src/libFLAC/include/private/cpu.h +++ b/src/libFLAC/include/private/cpu.h @@ -56,7 +56,7 @@ #endif -#if defined FLAC__HAS_X86INTRIN +#if FLAC__HAS_X86INTRIN /* SSE intrinsics support by ICC/MSVC/GCC */ #if defined __INTEL_COMPILER #define FLAC__SSE_TARGET(x) @@ -181,7 +181,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info); FLAC__uint32 FLAC__cpu_have_cpuid_asm_ia32(void); void FLAC__cpu_info_asm_ia32(FLAC__uint32 *flags_edx, FLAC__uint32 *flags_ecx); # endif -# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN FLAC__uint32 FLAC__cpu_have_cpuid_x86(void); void FLAC__cpu_info_x86(FLAC__uint32 level, FLAC__uint32 *eax, FLAC__uint32 *ebx, FLAC__uint32 *ecx, FLAC__uint32 *edx); FLAC__uint32 FLAC__cpu_xgetbv_x86(void); diff --git a/src/libFLAC/include/private/fixed.h b/src/libFLAC/include/private/fixed.h index dc5559f4..68cdfceb 100644 --- a/src/libFLAC/include/private/fixed.h +++ b/src/libFLAC/include/private/fixed.h @@ -57,7 +57,7 @@ unsigned FLAC__fixed_compute_best_predictor(const FLAC__int32 data[], unsigned data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]); unsigned FLAC__fixed_compute_best_predictor_wide(const FLAC__int32 data[], unsigned data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER+1]); # ifndef FLAC__NO_ASM -# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN # ifdef FLAC__SSE2_SUPPORTED unsigned FLAC__fixed_compute_best_predictor_intrin_sse2(const FLAC__int32 data[], unsigned data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1]); unsigned FLAC__fixed_compute_best_predictor_wide_intrin_sse2(const FLAC__int32 data[], unsigned data_len, float residual_bits_per_sample[FLAC__MAX_FIXED_ORDER + 1]); diff --git a/src/libFLAC/include/private/lpc.h b/src/libFLAC/include/private/lpc.h index 3c6cdb21..6eb02be6 100644 --- a/src/libFLAC/include/private/lpc.h +++ b/src/libFLAC/include/private/lpc.h @@ -79,7 +79,7 @@ void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_12_old(const FLAC__real void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16_old(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]); # endif # endif -# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN # ifdef FLAC__SSE_SUPPORTED void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_4_old(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]); void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_8_old(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]); @@ -161,7 +161,7 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx(const FLAC__i void FLAC__lpc_compute_residual_from_qlp_coefficients_wide_asm_ia32(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]); # endif # endif -# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN # ifdef FLAC__SSE2_SUPPORTED void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]); void FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2(const FLAC__int32 *data, unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 residual[]); @@ -205,7 +205,7 @@ void FLAC__lpc_restore_signal_asm_ia32_mmx(const FLAC__int32 residual[], unsigne void FLAC__lpc_restore_signal_wide_asm_ia32(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]); # endif /* FLAC__HAS_NASM */ # endif /* FLAC__CPU_IA32 */ -# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN # ifdef FLAC__SSE2_SUPPORTED void FLAC__lpc_restore_signal_16_intrin_sse2(const FLAC__int32 residual[], unsigned data_len, const FLAC__int32 qlp_coeff[], unsigned order, int lp_quantization, FLAC__int32 data[]); # endif diff --git a/src/libFLAC/lpc_intrin_avx2.c b/src/libFLAC/lpc_intrin_avx2.c index e314e6ad..4ce06fd1 100644 --- a/src/libFLAC/lpc_intrin_avx2.c +++ b/src/libFLAC/lpc_intrin_avx2.c @@ -38,7 +38,7 @@ #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/lpc.h" #ifdef FLAC__AVX2_SUPPORTED diff --git a/src/libFLAC/lpc_intrin_sse.c b/src/libFLAC/lpc_intrin_sse.c index c605eca6..56a40f41 100644 --- a/src/libFLAC/lpc_intrin_sse.c +++ b/src/libFLAC/lpc_intrin_sse.c @@ -38,7 +38,7 @@ #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/lpc.h" #ifdef FLAC__SSE_SUPPORTED #include "FLAC/assert.h" diff --git a/src/libFLAC/lpc_intrin_sse2.c b/src/libFLAC/lpc_intrin_sse2.c index 32a8975b..6e4589d7 100644 --- a/src/libFLAC/lpc_intrin_sse2.c +++ b/src/libFLAC/lpc_intrin_sse2.c @@ -38,7 +38,7 @@ #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/lpc.h" #ifdef FLAC__SSE2_SUPPORTED diff --git a/src/libFLAC/lpc_intrin_sse41.c b/src/libFLAC/lpc_intrin_sse41.c index d844a9b1..9d6eb679 100644 --- a/src/libFLAC/lpc_intrin_sse41.c +++ b/src/libFLAC/lpc_intrin_sse41.c @@ -38,7 +38,7 @@ #ifndef FLAC__INTEGER_ONLY_LIBRARY #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/lpc.h" #ifdef FLAC__SSE4_1_SUPPORTED diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c index 09656b47..c626d7a3 100644 --- a/src/libFLAC/stream_decoder.c +++ b/src/libFLAC/stream_decoder.c @@ -393,7 +393,7 @@ static FLAC__StreamDecoderInitStatus init_stream_internal_( decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal_asm_ia32; } #endif -#if defined FLAC__HAS_X86INTRIN && ! defined FLAC__INTEGER_ONLY_LIBRARY +#if FLAC__HAS_X86INTRIN && ! defined FLAC__INTEGER_ONLY_LIBRARY # if defined FLAC__SSE2_SUPPORTED && !defined FLAC__HAS_NASM /* OPT_SSE: not better than MMX asm */ if(decoder->private_->cpuinfo.ia32.sse2) { decoder->private_->local_lpc_restore_signal_16bit = FLAC__lpc_restore_signal_16_intrin_sse2; diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c index 3f0622a4..7fe81b4d 100644 --- a/src/libFLAC/stream_encoder.c +++ b/src/libFLAC/stream_encoder.c @@ -917,7 +917,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_( if(encoder->private_->cpuinfo.ia32.mmx && encoder->private_->cpuinfo.ia32.cmov) encoder->private_->local_fixed_compute_best_predictor = FLAC__fixed_compute_best_predictor_asm_ia32_mmx_cmov; # endif /* FLAC__HAS_NASM */ -# ifdef FLAC__HAS_X86INTRIN +# if FLAC__HAS_X86INTRIN # if defined FLAC__SSE_SUPPORTED if(encoder->private_->cpuinfo.ia32.sse) { if(encoder->private_->cpuinfo.ia32.sse42 || !encoder->private_->cpuinfo.ia32.intel) { /* use new autocorrelation functions */ @@ -982,7 +982,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_( # endif /* FLAC__HAS_X86INTRIN */ # elif defined FLAC__CPU_X86_64 FLAC__ASSERT(encoder->private_->cpuinfo.type == FLAC__CPUINFO_TYPE_X86_64); -# ifdef FLAC__HAS_X86INTRIN +# if FLAC__HAS_X86INTRIN # ifdef FLAC__SSE_SUPPORTED if(encoder->private_->cpuinfo.x86.sse42 || !encoder->private_->cpuinfo.x86.intel) { /* use new autocorrelation functions */ if(encoder->protected_->max_lpc_order < 4) @@ -1037,7 +1037,7 @@ static FLAC__StreamEncoderInitStatus init_stream_internal_( } # endif /* !FLAC__NO_ASM */ #endif /* !FLAC__INTEGER_ONLY_LIBRARY */ -#if !defined FLAC__NO_ASM && defined FLAC__HAS_X86INTRIN +#if !defined FLAC__NO_ASM && FLAC__HAS_X86INTRIN if(encoder->private_->cpuinfo.use_asm) { # if defined FLAC__CPU_IA32 # ifdef FLAC__SSE2_SUPPORTED diff --git a/src/libFLAC/stream_encoder_intrin_avx2.c b/src/libFLAC/stream_encoder_intrin_avx2.c index 70367586..a6c0a4ab 100644 --- a/src/libFLAC/stream_encoder_intrin_avx2.c +++ b/src/libFLAC/stream_encoder_intrin_avx2.c @@ -37,7 +37,7 @@ #include "private/cpu.h" #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/stream_encoder.h" #include "private/bitmath.h" #ifdef FLAC__AVX2_SUPPORTED diff --git a/src/libFLAC/stream_encoder_intrin_sse2.c b/src/libFLAC/stream_encoder_intrin_sse2.c index 3bf40c21..d1e312a1 100644 --- a/src/libFLAC/stream_encoder_intrin_sse2.c +++ b/src/libFLAC/stream_encoder_intrin_sse2.c @@ -37,7 +37,7 @@ #include "private/cpu.h" #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/stream_encoder.h" #include "private/bitmath.h" #ifdef FLAC__SSE2_SUPPORTED diff --git a/src/libFLAC/stream_encoder_intrin_ssse3.c b/src/libFLAC/stream_encoder_intrin_ssse3.c index bc148cf9..0c3d4282 100644 --- a/src/libFLAC/stream_encoder_intrin_ssse3.c +++ b/src/libFLAC/stream_encoder_intrin_ssse3.c @@ -37,7 +37,7 @@ #include "private/cpu.h" #ifndef FLAC__NO_ASM -#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN +#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN #include "private/stream_encoder.h" #include "private/bitmath.h" #ifdef FLAC__SSSE3_SUPPORTED |