[LLVMdev] Vector LLVM checked in!

Robert L. Bocchino Jr. bocchino at uiuc.edu
Tue Oct 18 13:20:29 PDT 2005


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:anon at llvm-cvs.cs.uiuc.edu:/var/cvs/llvm login
	• 	Hit the return key when prompted for the password.
	• 	cvs -z3 -d :pserver:anon at llvm-cvs.cs.uiuc.edu:/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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/enriched
Size: 1979 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20051018/481354c7/attachment.bin>

More information about the llvm-dev mailing list