We also played around with GCC's vector extensions years ago. Here's a pointer to one of many discussions we had:
https://bugs.linuxsampler.org/cgi-bin/show_bug.cgi?id=25 One of the main problems we had, is that there's no way to access the individual "cells" / members of the vector effectively: http://gcc.gnu.org/ml/gcc-help/2006-04/msg00178.html Not sure if that changed in the meantime, but somehow I doubt it. :) CU Christian Am Donnerstag, 7. Februar 2008 17:51:06 schrieb Malte Steiner: > Hello, > > I try to squeeze as much performance as possible out of my upcomming > Linux synthesizer and try manual vectorization with following construct > in c, mainly to vectorize away multiplications : > > typedef float v4sf __attribute__ ((vector_size(16))); > > union f4vector > { > v4sf v __attribute__((aligned (16))); > float f[4] __attribute__((aligned (16))); > }; > > On AMD 64bit Turion (single core) on 64 Studio in 64bit mode this doesnt > improve performance at all, actually it even get worse. Is GCC that good > at optimizing on its own? I have no access to Intel processors at the > moment but would love to know how to benefit from SIMD optimizations of > float operations. > Sources on the web are rather thin... > > Cheers, > > Malte _______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev