diff options
author | Erik de Castro Lopo <erikd@mega-nerd.com> | 2013-10-04 01:38:00 +1000 |
---|---|---|
committer | Erik de Castro Lopo <erikd@mega-nerd.com> | 2013-10-04 01:41:48 +1000 |
commit | ecd0acba75e7961b60465c5ee3b6876b407803ca (patch) | |
tree | b6a1dfa919eab7b35782f5f75ad9a29807873639 /include | |
parent | bd6a920e40b33d7640641aafd02b3d48a08fc4b3 (diff) | |
download | flac-ecd0acba75e7961b60465c5ee3b6876b407803ca.tar.gz |
Improve x86 instrinsic implementation.
* Splits lpc_x86intrin.c to lpc_intrin_sse.c and lpc_intrin_sse2.c
* Add FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2()
function to lpc_intrin_sse2.c
* Add lpc_intrin_sse41.c with two ..._wide_intrin_sse41() functions
(useful for 24-bit en-/decoding)
* Add precompute_partition_info_sums_intrin_sse2() / ...ssse3() and
disables precompute_partition_info_sums_32bit_asm_ia32_().
SSE2 version uses 4 SSE2 instructions instead of 1 SSSE3 instruction
PABSD so it is slightly slower.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/share/compat.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/share/compat.h b/include/share/compat.h index bd4285bf..a4b48ac9 100644 --- a/include/share/compat.h +++ b/include/share/compat.h @@ -195,4 +195,12 @@ int flac_snprintf(char *str, size_t size, const char *fmt, ...); }; #endif +/* SSSE3, SSE4 support: MSVS 2008, GCC 4.3 -- currently disabled, Intel Compiler 10.0 */ +#if ( defined _MSC_VER && _MSC_VER >= 1500 ) \ + || ( 0 && defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) ) \ + || ( defined __INTEL_COMPILER && __INTEL_COMPILER >= 1000 ) +#define FLAC__SSSE3_SUPPORTED 1 +#define FLAC__SSE4_SUPPORTED 1 +#endif + #endif /* FLAC__SHARE__COMPAT_H */ |