SIMD: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
First introduced on the Illiac IV, and not to be confused with vector processing.
First introduced on the Illiac IV, and not to be confused with vector processing.
==Compilers and Assemblers==
* [[GCC]] can issue SIMD four different ways:
** [http://gcc.gnu.org/onlinedocs/gcc/Submodel-Options.html#Submodel-Options Target-specific code generation] will sometimes use scalar SIMD
** [http://gcc.gnu.org/onlinedocs/gcc/Target-Builtins.html Target-specific builtins], using [http://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html vector extensions]
** [[GCC#Inline_Assembly|Inline assembly]], using syntax of the [[http://sourceware.org/binutils/docs/as/index.html GNU Assembler]] and a baroque register specification convention
** [http://gcc.gnu.org/projects/tree-ssa/vectorization.html Auto-vectorization] from [[GCC|gcc's]] <tt>autovect</tt> branch attempts to autovectorize some loops


==Data Types (taken from SSE specs)==
==Data Types (taken from SSE specs)==