Am Mittwoch, 16. April 2008 12:17:23 schrieb Jens M Andreasen:
Then you will probably like this run of ./mixdown:
Benchmarking mixdown (WITH coeff):
pure C++ : 150 ms <-- pretty good, eh? ;-)
ASM SSE : 140 ms
GCC vector extensions : 150 ms
This is with -ftree-vectorize added to your compile options.
Hey, nice! :-)
But that works only well for the inlined version. If the mixer C(++) function
is located in another object file and the compiler is forced to use real
function calls, then the C(++) result is still worse than the gcc vector
version, even with "-ftree-vectorize":
Benchmarking mixdown (no coeff):
pure C++ : 690 ms
ASM SSE : 210 ms
GCC vector extensions : 190 ms
Benchmarking mixdown (WITH coeff):
pure C++ : 1120 ms
ASM SSE : 320 ms
GCC vector extensions : 300 ms
CU
Christian