Fix/re-enable SSE/SSE2 lpc optimisations.
This commit is contained in:
parent
d6fa29071f
commit
ae4d720417
@ -415,6 +415,11 @@ if test x$ac_cv_c_compiler_gnu = xyes ; then
|
||||
XIPH_ADD_CFLAGS([-fgnu89-inline])
|
||||
fi
|
||||
|
||||
if test "x$asm_optimisation" = "xyes" ; then
|
||||
XIPH_ADD_CFLAGS([-msse])
|
||||
XIPH_ADD_CFLAGS([-msse2])
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
XIPH_ADD_CFLAGS([-Wextra])
|
||||
|
@ -430,7 +430,7 @@ void FLAC__cpu_info(FLAC__CPUInfo *info)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined FLAC__CPU_X86_64 && defined FLAC__HAS_X86INTRIN
|
||||
#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
|
||||
|
||||
#if defined _MSC_VER && (_MSC_VER >= 1400)
|
||||
#include <intrin.h> /* for __cpuid() */
|
||||
@ -456,4 +456,4 @@ void FLAC__cpu_info_x86(FLAC__uint32 *flags_edx, FLAC__uint32 *flags_ecx)
|
||||
*flags_ecx = *flags_edx = 0;
|
||||
#endif
|
||||
}
|
||||
#endif /* FLAC__HAS_X86INTRIN && FLAC__CPU_X86_64 */
|
||||
#endif /* (FLAC__CPU_IA32 || FLAC__HAS_X86INTRIN) && FLAC__CPU_X86_64 */
|
||||
|
@ -91,7 +91,7 @@ void FLAC__cpu_info_asm_ia32(FLAC__uint32 *flags_edx, FLAC__uint32 *flag
|
||||
FLAC__uint32 FLAC__cpu_info_extended_amd_asm_ia32(void);
|
||||
#endif
|
||||
|
||||
#if defined FLAC__CPU_X86_64 && defined FLAC__HAS_X86INTRIN
|
||||
#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
|
||||
void FLAC__cpu_info_x86(FLAC__uint32 *flags_edx, FLAC__uint32 *flags_ecx);
|
||||
#endif
|
||||
|
||||
|
@ -79,13 +79,11 @@ void FLAC__lpc_compute_autocorrelation_asm_ia32_sse_lag_16(const FLAC__real data
|
||||
void FLAC__lpc_compute_autocorrelation_asm_ia32_3dnow(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
|
||||
# endif
|
||||
# endif
|
||||
# if defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64
|
||||
# ifdef FLAC__HAS_X86INTRIN
|
||||
# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
|
||||
void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_4(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
|
||||
void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_8(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
|
||||
void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_12(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
|
||||
void FLAC__lpc_compute_autocorrelation_intrin_sse_lag_16(const FLAC__real data[], unsigned data_len, unsigned lag, FLAC__real autoc[]);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -156,10 +154,8 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32(const FLAC__int32
|
||||
void FLAC__lpc_compute_residual_from_qlp_coefficients_asm_ia32_mmx(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
|
||||
# ifdef FLAC__HAS_X86INTRIN
|
||||
# if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
|
||||
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[]);
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
#ifndef FLAC__INTEGER_ONLY_LIBRARY
|
||||
#ifndef FLAC__NO_ASM
|
||||
#if defined FLAC__CPU_X86_64 && defined FLAC__HAS_X86INTRIN
|
||||
#if (defined FLAC__CPU_IA32 || defined FLAC__CPU_X86_64) && defined FLAC__HAS_X86INTRIN
|
||||
|
||||
#include "FLAC/assert.h"
|
||||
#include "FLAC/format.h"
|
||||
@ -561,6 +561,6 @@ void FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2(const FLAC_
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* FLAC__CPU_X86_64 && FLAC__HAS_X86INTRIN */
|
||||
#endif /* (FLAC__CPU_IA32 || FLAC__CPU_X86_64) && FLAC__HAS_X86INTRIN */
|
||||
#endif /* FLAC__NO_ASM */
|
||||
#endif /* FLAC__INTEGER_ONLY_LIBRARY */
|
||||
|
Loading…
Reference in New Issue
Block a user