> > ------------------------------ > > Message: 3 > Date: Tue, 18 Oct 2005 15:20:29 -0500 > From: "Robert L. Bocchino Jr." <bocchino at uiuc.edu> > Subject: [LLVMdev] Vector LLVM checked in! > To: LLVM Developers Mailing List <llvmdev at cs.uiuc.edu> > Message-ID: <64dde68b5934d83056aeb3c9f66afe7e at uiuc.edu> > Content-Type: text/plain; charset="windows-1252" > > 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.cs.uiuc.edu/pipermail/llvmdev/attachments/20051018/481354c7/attachment-0001.bin > > ------------------------------ >Bob, do you have an example to show how to specify vectors and their operations in C? I.e., is the documentation of the item #2 ready? Thanks, -Yiping -- VLSI CAD Lab, Computer Science Department, UCLA
Robert L. Bocchino Jr.
2006-May-10 18:31 UTC
[LLVMdev] Re: LLVMdev Digest, Vol 16, Issue 14
> Bob, do you have an example to show how to specify vectors and their > operations in C? > I.e., is the documentation of the item #2 ready?Yes, see $(VLLVM)/docs/VectorCReference.txt, where $(VLLVM) means the source directory of the Vector LLVM tree. Note that the Vector LLVM tree is way out of date with mainline LLVM, and some of the vector operations (e.g. arithmetic, shuffling, extracting and inserting scalars) are now available in mainline for fixed-length or "packed" vectors. The experimental Vector LLVM branch allows some additional vector operations (e.g., compare, select, pack, and unpack) and also has support for arbitrary-length vectors. Mainline vector support continues to improve, and many of the additional "packed" operations supported by Vector LLVM will eventually be part of mainline. Right now I am working on adding compare and select to mainline and hope to get that checked in soon. Rob Robert L. Bocchino Jr. Ph.D. Student, Computer Science University of Illinois, Urbana-Champaign -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20060510/a07b9e9e/attachment.html>