[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