[Libav-user] gcc auto-vectorisation

Claudio Freire klaussfreire at gmail.com
Thu Feb 28 16:35:35 CET 2013


On Wed, Feb 27, 2013 at 6:58 PM, "René J.V. Bertin" <rjvbertin at gmail.com> wrote:
> On Feb 27, 2013, at 17:56, Claudio Freire wrote:
>
>> I think it's just academic. It would be one mystery less.
>
> In the end I decided to go a step further than disabling HT - I forced the use of a single thread. And a mystery less? Actually, no:
>
>> time /usr/local/FFmpeg/trunk/bin/ffmpeg-rjvb -benchmark_most -threads 1 -y -v 0 -i ~/Desktop/Downloads/SOA4ep11.flv -pix_fmt argb -vcodec rawvideo -acodec pcm_f32le -f mov /dev/null ; time /usr/local/FFmpeg/trunk.vect/bin/ffmpeg-rjvb -benchmark_most -threads 1 -y -v 0 -i ~/Desktop/Downloads/SOA4ep11.flv -pix_fmt argb -vcodec rawvideo -acodec pcm_f32le -f mov /dev/null ; time /usr/local/FFmpeg/trunk.O0/bin/ffmpeg-rjvb -benchmark_most -threads 1 -y -v 0 -i ~/Desktop/Downloads/SOA4ep11.flv -pix_fmt argb -vcodec rawvideo -acodec pcm_f32le -f mov /dev/null ; time /usr/local/FFmpeg/trunk.O0vect/bin/ffmpeg-rjvb -benchmark_most -threads 1 -y -v 0 -i ~/Desktop/Downloads/SOA4ep11.flv -pix_fmt argb -vcodec rawvideo -acodec pcm_f32le -f mov /dev/null

(snipped bench results)

I guess this means hand-optimized vectorization has been applied where
it matters, and -ftree-vectorize only vectorizes unimportant code
sections. Whether the perceived slowing after vectorization is
statistically significant or not is another matter. And if it is,
perhaps the compiler guys should be made aware of it.


More information about the Libav-user mailing list