Changes between Version 9 and Version 10 of ParabixLLVM


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

--

Legend:

Unmodified
Added
Removed
Modified
  • ParabixLLVM

    v9 v10  
    1313Meng Lin is looking at creating architecture independent IDISA libraries, see: source:trunk/libgen/llvm_header
    1414
    15 === Direct IDISA Support in LLVM Code Generation ===
    16 
    1715Is it possible to have LLVM directly support all power-of-2 types
    1816directly in the code generation system?
    1917
    20 ==== Example: 2-bit Fields ====
     18== Complete Power-of-2 Integer/Vector Support ==
    2119
    22 There can be some applications of 2-bit integer fields, i.e., the
    23 SIMD vector type <64 x i2> for 128-bit SIMD registers.
    24 
    25 Can this be implemented in a generic way as follows:
    26 
    27   1.  Make it a legal type in the SelectionDAG !LegalizeTypes phase.
    28   2.  Create implementations of the standard vector operations and rule out all others in the SelectionDAG Legalize phase.
    29   3.  Implement each operation using bitwise logic on the 2 positions of each field.
    30 
    31 We explore this possibility with the [wiki:i2Vector i2Vector] project.
    32 
    33 === Support for i128, i256, i512 Types ===
    34 
    35 Parabix applications need long stream addition, subtraction and shift operations.
    36 There are standard ways of implementing these, including our parallel long-stream addition algorithm.
    37 Can these be integrated into LLVM?
    38 
    39 The LongInteger project involves systematic support of the i256 type on LLVM, taking advantage
    40 of AVX2 instructions on the latest Intel Haswell chips.  Now part of the CompleteInteger project.
    4120
    4221=== ShuffleVector ===