Vector LLVM checked in!

Previous Topic Next Topic
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

Vector LLVM checked in!

Robert L. Bocchino Jr.

As advertised to some, I've checked in a BETA VERSION of my vector
extensions to LLVM.  It is checked in as a CVS branch off of the main
line.  You can get the branch by doing a normal llvm checkout and
adding the argument -r vector_llvm.  E.g., to check out from anonymous
CVS, you would do this:

        • cvs -d :pserver:[hidden email]:/var/cvs/llvm login
        • Hit the return key when prompted for the password.
        • cvs -z3 -d :pserver:[hidden email]:/var/cvs/llvm co -r
vector_llvm llvm

This will produce a fresh tree with the Vector LLVM stuff in it.

Vector LLVM consists of three main components:

1. Extensions to the VM core to support both fixed and variable
vectors, and operations on them (the fixed vectors subsume the 'Packed
Type' from regular LLVM).

2. A C API and supporting LLVM transformation for writing Vector LLVM
at the C level using special functions that can be integrated with
"normal" scalar code, compiled through llvm-gcc, and turned into Vector

3. Very rudimentary backend support for turning fixed vectors into
AltiVec and/or SSE via the C backend and the gcc SIMD intrinsics for C.

I've also written a backend for the Motorola RSVP coprocessor
architecture that uses variable length vectors, but I can't check this
in because it's proprietary.

#1 above is documented in llvm/src/docs/LangRef.html.  I'm working on
documentation for #2 and #3.

Feel free to check it out Vector LLVM and play with it.  
Comments/suggestions are welcome.


Robert L. Bocchino Jr.
Ph.D. Student, Computer Science
University of Illinois, Urbana-Champaign
LLVM Developers mailing list
[hidden email]
Reply | Threaded
Open this post in threaded view

RE: Vector LLVM checked in!

Chris Lattner

Robert L. Bocchino Jr. wrote:
> As advertised to some, I've checked in a BETA VERSION of my vector
> extensions to LLVM.

Cool Rob!

For those who aren't familiar with it, Vector-LLVM is an research project
that Rob is working on to extend LLVM to support Cray-like and
Fortran-90-like vectors, and is still in early development stages.
Support for SIMD vectors is in the mainline LLVM distribution and
continues to be improved independently of his work.



LLVM Developers mailing list
[hidden email]