Autovectorization, SIMD, etc.
Jakub Stachowski
qbast at go2.pl
Sat Dec 23 17:18:58 CET 2006
Hello,
Several people mentioned idea of either using GCC abilities to automatically
use SIMD instructions for loops or write separate library that could select
most efficient method based on capabilities of CPU. This kind library already
exists (see http://liboil.freedesktop.org/wiki/ ) and is used for example in
gstreamer. The library covers quite a lot of tasks: data copying, type
conversion, vector arithmetic operations, colorspace conversions, and more.
Each function can have several implementations (for example reference one,
MMX using, SIMD using, etc.) and on application startup they are benchmarked
and most efficient for this CPU is selected.
More information about the kimageshop
mailing list