[flac-dev] GCC generates slow code for IA32

lvqcl lvqcl.mail at gmail.com
Sun Sep 22 01:31:17 PDT 2013


I measured encoding speed of 24-bit WAV files. It turns out that 32-bit
encoder made by GCC is ~1.7x times slower than 32-bit encoder made by MSVS.

It seems that GCC creates inefficient code for 32bit * 32bit -> 64bit multiplication
for 32-bit architecture. This problem affects FLAC__lpc_compute_residual_from_qlp_coefficients_wide() and FLAC__lpc_restore_signal_wide() functions.

Is there any way to fix this (apart from rewriting these 2 functions in 32-bit asm) ?


More information about the flac-dev mailing list