Changes between Version 2 and Version 3 of CompleteInteger


Ignore:
Timestamp:
May 7, 2014, 1:41:56 AM (5 years ago)
Author:
cameron
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CompleteInteger

    v2 v3  
    1212  1. Add first class support for vectors of long integers <2 x i128>.
    1313
     14==== Example: 2-bit Fields ====
     15
     16There can be some applications of 2-bit integer fields, i.e., the
     17SIMD vector type <64 x i2> for 128-bit SIMD registers.
     18
     19Can this be implemented in a generic way as follows:
     20
     21  1.  Make it a legal type in the SelectionDAG !LegalizeTypes phase.
     22  2.  Create implementations of the standard vector operations and rule out all others in the SelectionDAG Legalize phase.
     23  3.  Implement each operation using bitwise logic on the 2 positions of each field.
     24
     25We explore this possibility with the [wiki:i2Vector i2Vector] project.
     26
     27=== Support for i128, i256, i512 Types ===
     28
     29Parabix applications need long stream addition, subtraction and shift operations.
     30There are standard ways of implementing these, including our parallel long-stream addition algorithm.
     31Can these be integrated into LLVM?
     32
     33The LongInteger project involves systematic support of the i256 type on LLVM, taking advantage
     34of AVX2 instructions on the latest Intel Haswell chips.