Hi, 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 LLVM. 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. Rob 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>