[LAD] GCC Vector extensions
    Maurizio De Cecco 
    jmax at dececco.name
       
    Wed Jul 20 08:27:33 UTC 2011
    
    
  
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
    
    
More information about the Linux-audio-dev
mailing list