Commit Graph

5 Commits

Author SHA1 Message Date
Tim Blechmann
912bff442e libFLAC: infer cpu type from compiler macros
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2016-05-12 08:06:26 +10:00
Erik de Castro Lopo
94a61241b0 libFLAC: Add a workaround for a bug in MSVC2105 update2
MSVC2105 update2 compiles the C code:

    abs_residual_partition_sums[partition] =
                  (FLAC__uint32)_mm_cvtsi128_si32(mm_sum);

into this:

    movq    QWORD PTR [rsi], xmm2

while it should be:

    movd    eax, xmm2
    mov     QWORD PTR [rsi], rax

With this patch, MSVC emits:

    movq    QWORD PTR [rsi], xmm2
    mov     DWORD PTR [rsi+4], r9d

so the price of this workaround is 1 extra write instruction per
partition.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2016-05-05 17:23:52 +10:00
Erik de Castro Lopo
2319a688ec libFLAC/stream_encoder_intrin_*.c: More refactoring
Combine two intrinsic instructions into one line of code.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2015-11-18 19:24:48 +11:00
Erik de Castro Lopo
86b36d92d5 libFLAC: Refactoring
No functional changes.

Patch-from: lvqcl <lvqcl.mail@gmail.com>
2015-11-03 18:08:56 +11:00
Erik de Castro Lopo
11b5d51b63 Add AVX2 CPU support stream encoder.
Patch-from: lvqcl <lvqcl.mail@gmail.com>
2014-10-04 09:42:57 +10:00