Changes between Version 2 and Version 3 of SSE2_Hoisting


Ignore:
Timestamp:
Apr 14, 2014, 4:55:45 PM (3 years ago)
Author:
cameron
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SSE2_Hoisting

    v2 v3  
    44written against the SSE2 SIMD instruction set into high-performance
    55platform-independent code expressed using LLVM IR.
     6
     7The project will be design as a transformation Pass that
     8may be used to create a standalone hoisting tool or as
     9a component in a larger tool.
    610
    711== Subgoals ==
     
    1822the penalty will be small.
    1923
     24The final project report should include a table listing *all* SSE2
     25intrinsics and the hoisting transformation used.   If the hoisting
     26requires a nontrivial implementation involving more than a few LLVM
     27instructions, then an LLVM function should be defined.   
     28
    20292.  Hoist-Aware Code Generation. 
    2130
     
    2938    b.  Modify the code generator for at least one other target to recognize sequences produces by SSE2 hoisting and generate efficient code based on that recognition.
    3039
     40== Project Evaluation ==
     41
     42Project evaluation will require the assessment of the SSE2 Hoisting
     43system against at least one, but preferably two open-source code
     44bases that make nontrivial use of SSE2 code.
     45
     46Ideally each open-source code base will have its own test suite.
     47Using the test suite, the first assessment for each project is to
     48demonstrate that the result of hoisting is functionally equivalent to
     49the original program, i.e., passes all the tests that the original does.
     50This correctness testing should be applied for each target architecture.
     51
     52The second assessment will be to assess performance.  This will
     53involve measuring performance of the original implementation against
     54selected test data and comparing against the following alternative
     55versions.
     56
     57    a.  The result of the hoisted code compiled with SSE2/x86-64 as the target SIMD architecture.
     58
     59    b.  The result of the hoisted code compiled with a later SIMD ISA on x86-64 architecture.
     60
     61    c.  The result of the hoisted code complied with non x86 architecture, such as ARM with Neon SIMD instructions.
     62
     63
    3164== I2Result Issue ==
    3265