Re: LLVMdev Digest, Vol 16, Issue 14

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

Re: LLVMdev Digest, Vol 16, Issue 14

Yiping Fan
>
> ------------------------------
>
> Message: 3
> Date: Tue, 18 Oct 2005 15:20:29 -0500
> From: "Robert L. Bocchino Jr." <[hidden email]>
> Subject: [LLVMdev] Vector LLVM checked in!
> To: LLVM Developers Mailing List <[hidden email]>
> Message-ID: <[hidden email]>
> 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:[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
> 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

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: Re: LLVMdev Digest, Vol 16, Issue 14

Robert L. Bocchino Jr.
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



_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev