On Thu, 2008-02-07 at 19:13 +0000, Christian Schoenebeck wrote: > 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. :)
It did change (or will do?) with the Penryn Core 2: The INSERTPS and PINSR instructions read 8, 16 or 32 bits from an x86 register memory location and insert it into a field in the destination register given by an immediate operand, EXTRACTPS and PEXTR read a field from the source register and insert it into an x86 register or memory location. For example, PEXTRD eax, [xmm0], 1; EXTRACTPS [addr+4*eax], xmm1, 1 stores the first field of xmm1 in the address given by the first field of xmm0. http://en.wikipedia.org/wiki/SSE4 _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev
