[LAD] GCC Vector extensions

From: Maurizio De Cecco <jmax@email-addr-hidden>
Date: Wed Jul 20 2011 - 11:27:33 EEST

I am playing around with GCC and Clang vector extensions, on Linux and
Mac OS X, and i am getting some strange behaviour.

I am working on jMax Phoenix, and its dsp engine, in its current state,
is very memory bound; it is based on the aggregation of very small
granularity operations, like vector sum or multiply, each of them
executed independently from and to memory.

I tried to implements all this 'primitive' operations using the vector
types.

On clang/MacOSX i get an impressive improvement in performance,
around 4x on the operations, even just using the vector types for
copying data; my impression is that the compiler use some kind of vector
load/store instruction that properly use the available memory bandwidth,
but unfortunately i do not know more about the x86 architecture.

On gcc/Linux, (gcc 4.5.2) the same code produce a *slow down* of around
2.5x.

Well, anybody have an idea of why ?

I am actually running linux (Ubuntu 11.04) under a VMWare virtual
machine, i do not know is this may have any implications.

Thanks,
Maurizio De Cecco
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Wed Jul 20 12:15:02 2011

This archive was generated by hypermail 2.1.8 : Wed Jul 20 2011 - 12:15:02 EEST