[flac-dev] x86-64 support and SSE intrinscis code
Erik de Castro Lopo
mle+la at mega-nerd.com
Sat Sep 14 16:34:55 PDT 2013
lvqcl wrote:
> I try to make my code more clean and have a few questions:
>
> 1. GCC related: MinGW contains cpuid.h header file that defines __get_cpuid()
> function. Is it standard? Or is it better to use inline asm to get cpuid info?
cpuid.h should be good for all GCC related compilers.
> 2. Is it good idea to do mаnual loop unrolling?
> Unrolling FLAC__lpc_compute_autocorrelation_intrin_sse_lag_NN gives +2% speed
> increase for flac -8 and +5% for flac -5. But it's true only for MSVS compiles.
> When I use Intel C compiler the difference is very small: 0.1% for 'flac -8'
> and 0.5% for 'flac -5'.
Would be interested to see what it does for GCC.
> 3. How to properly compile functions that use different SSE versions? It seems
> that a proper way is to create several units of translation and put all functions
> that use SSE1 to one .c file, all functions that use SSE2 to another .c file,
> and so on. Is it correct?
Yes, that makes sense.
Erik
--
----------------------------------------------------------------------
Erik de Castro Lopo
http://www.mega-nerd.com/
More information about the flac-dev
mailing list