[FFmpeg-devel] [PATCH]HE-AACv1 try 3 (all missing functionality added)
Måns Rullgård
mans
Sat Feb 13 18:24:21 CET 2010
Michael Niedermayer <michaelni at gmx.at> writes:
> On Sat, Feb 13, 2010 at 05:31:59PM +0100, Vitor Sessak wrote:
> [...]
>>> +
>>> +static void vector_fmul_scalar_fadd_scalar_c(float *dst, const float
>>> *src,
>>> + float mul, float add, int
>>> len)
>>> +{
>>> + int i;
>>> + for (i = 0; i < len; i++)
>>> + dst[i] = src[i] * mul + add;
>>> +}
>>> +
>>
>> Did you benchmark if hand-unrolling these loops give any benefit? You know
>> that len is a multiple of four, but the compiler don't.
>
> assert(len>0 && len%4==0);
> then the compiler knows it too :)
Only if you compile with asserts enabled, which will slow things down
immensely in code like this.
> and after you looked at what gcc generates if forced to unroll
> (theres a flag for that IIRC)
> then post a code pessimization bug to the gcc-devels
> -> only way to see gcc get better at these things
What we need is a "soft assert" whereby we can tell the compiler
things we know to be true without any code being generated for it.
Some compilers have that already.
--
M?ns Rullg?rd
mans at mansr.com
More information about the ffmpeg-devel
mailing list