Introducing the Vector C
Veselko Gustin - Faculty of Computer and Information Science, University of Ljubljana
Patricio Bulic - Faculty of Computer and Information Science, University of Ljubljana
The introduction of short single-instruction multiple data (SIMD) i.e.
"vectored" instructions to the microprocessor's "scalar" instruction
set is supported by special hardware that enables the execution of one
instruction on multiple data sets. Thus, on the one hand we have modern
multimedia execution hardware and on the other we have the software, i.e.
  the general compilers, which are not able to compile programs in a
highlevel language into a multimedia instruction set. Our solution
to these problems is, first, to use statements in the language
"vector C", which can be defined as a "dialect of C". And second,
to employ the SIMD instruction set in the easiest possible way. As
the compiler cannot be easily user-changed or modified, we can
only extend the functionality of the program (compiler) by using a
pre-compiler and specialised macro (or intrinsic) library. We
believe that the use of the macro (or intrinsic) library is faster
than function calls, and we expect it to be simpler and friendlier
for the user. We define the macro library MacroVect.c as the
substitution for the statements in vector C.
Last update: Wed Jun 12 14:26:53 2002 WEST