Re: [flac-dev] [PATCH] cpu.h: add defines for clang

2017-02-12 Thread Erik de Castro Lopo
lvqcl wrote:

> I forgot that all avx2 functions are inside "#ifdef FLAC__AVX2_SUPPORTED"
> conditional, so they simply don't exist if FLAC__AVX2_SUPPORTED is not set.
> 
> Anyway, stream_encoder_intrin_avx2-after.txt shows that the code
> contains AVX2 instructions such as vpabsd/vpaddd/vphaddd, so
> this function was compiled properly.

Thanks. Patch applied.

Erik
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev


Re: [flac-dev] [PATCH] cpu.h: add defines for clang

2017-02-12 Thread lvqcl

Erik de Castro Lopo wrote:


How reliable a test is that? I do 99.9% of my dev work on a laptop
and whenever I need to benchmark something I need to do so on a
desketop machine because the laptop doesn't give consistent results.


About 1.5 years ago I tested AVX2 speed increase on Haswell (i7-4770)
using -8 encoding preset. The biggest difference between AVX2 enabled
and disabled was 35% (64-bit flac.exe, 24-bit WAV input file).
The smallest difference was 10% (32-bit flac.exe, 16-bit WAV input file).



Disassembly of the object files (before and after) is here:

http://mega-nerd.com/tmp/stream_encoder_intrin_avx2-before.txt
http://mega-nerd.com/tmp/stream_encoder_intrin_avx2-after.txt

This is with clang version 3.8.1 from Debian testing.


I forgot that all avx2 functions are inside "#ifdef FLAC__AVX2_SUPPORTED"
conditional, so they simply don't exist if FLAC__AVX2_SUPPORTED is not set.

Anyway, stream_encoder_intrin_avx2-after.txt shows that the code
contains AVX2 instructions such as vpabsd/vpaddd/vphaddd, so
this function was compiled properly.
___
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev