[flac-dev] PATCH: modify/add intrinsics code
lvqcl
lvqcl.mail at gmail.com
Sat Sep 28 10:49:49 PDT 2013
The patch does the following:
1. splits lpc_x86intrin.c to lpc_intrin_sse.c and lpc_intrin_sse2.c
2. adds FLAC__lpc_compute_residual_from_qlp_coefficients_intrin_sse2()
function to lpc_intrin_sse2.c
3. adds lpc_intrin_sse41.c with two ..._wide_intrin_sse41() functions
(useful for 24-bit en-/decoding)
4. adds 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.
MSVS 2005 doesn't support SSSE3 and SSE4, and GCC compiles
everything with -msse2, so I wrapped SSSE3/SSE4.1 code with
#ifdef FLAC__SSEx_SUPPORTED ... #endif.
The code that defines FLAC__SSEx_SUPPORTED was added into share/compat.h
(anyone knows a better way to do it?)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: intrin_2.zip
Type: application/zip
Size: 14646 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/flac-dev/attachments/20130928/634efd3a/attachment.zip
More information about the flac-dev
mailing list