[vlc-devel] commit: NEON vectorized fi32->s16l audio filter ( Rémi Denis-Courmont )
Måns Rullgård
mans at mansr.com
Sun Sep 6 18:46:22 CEST 2009
"Rémi Denis-Courmont" <remi at remlab.net> writes:
> Le dimanche 6 septembre 2009 13:55:48 git version control, vous avez écrit :
>> + while (nb_samples & 3)
>> + {
>> + const int16_t roundup = 1 << 12;
>> + asm volatile (
>> + "qadd r0, %[inv], %[roundup]\n"
>> + "ssat %[outv], #16, r0, asr #13\n"
>> + : [outv] "=r" (*outp)
>> + : [inv] "r" (*inp), [roundup] "r" (roundup)
>> + : "r0");
>> + inp++;
>> + outp++;
>> + nb_samples--;
>> + }
>
> If anyone cares, remove "& 3" and and you have an optimized fi32->s16l
> conversion for (non-M) ARMv6 and ARMv7.
On such CPUs, this would benefit greatly from a little unrolling since
that instruction sequence will stall for two cycles.
--
Måns Rullgård
mans at mansr.com
More information about the vlc-devel
mailing list