Changes between Version 5 and Version 6 of SimdLlvm


Ignore:
Timestamp:
Oct 5, 2011 11:26:54 AM (3 years ago)
Author:
chak
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SimdLlvm

    v5 v6  
    2929As a consequence, we will support exactly one vector length for each scalar data type and this vector length is dependent on the target architecture. Hence, it is sufficient to have one vector type for each scalar data type (that we want to process with SIMD instructions). Concretely, for types, such as `Int16#`, `Float#`, and so on, we will provide SIMD vector types `VecInt16#`, `VecFloat#`, etc. In addition, we have query functions `vecInt16Len`, `vecFloatLen`, and so on that yield the number of `Int16#` in a `VecInt16#` and the number of `Float#` in a `VecFloat#`, respectively. 
    3030 
     31=== Native code generator === 
     32 
     33As we do not want to support SIMD instructions in the native code generator, we set the query functions for vector lengths (`vecInt16Len`, `vecFloatLen`, and so on) to be 1 for all vector types when we compile with the native code generator.  Then, all vector types and operations on vector types can be trivially implemented with conventional instructions. (We use the same approach to handle scalar data types that are not supported by SIMD instructions on a particular architecture.) 
     34 
    3135== Using SIMD instructions in DPH == 
    3236