summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorErik de Castro Lopo <erikd@mega-nerd.com>2013-10-04 01:38:00 +1000
committerErik de Castro Lopo <erikd@mega-nerd.com>2013-10-04 01:41:48 +1000
commitecd0acba75e7961b60465c5ee3b6876b407803ca (patch)
treeb6a1dfa919eab7b35782f5f75ad9a29807873639 /include
parentbd6a920e40b33d7640641aafd02b3d48a08fc4b3 (diff)
downloadflac-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.h8
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 */