LLVM-IR supports operations that use vector data types, and the LLVM code generator needs to do non-trivial work in order to efficiently compile vector operations into SIMD instructions. Recently, there were changes to the LLVM code generation that enabled better code generation for vector operations. In addition to many low level optimizations, this post talks about two major changes: the implementation of vector-select, and the support for vectors-of-pointers.
LLVM Project News and Details from the Trenches
Showing posts with label new-in-llvm-3.1. Show all posts
Showing posts with label new-in-llvm-3.1. Show all posts
Monday, December 19, 2011
LLVM 3.1 vector changes
Intel uses the Low-Level Virtual Machine (LLVM) in a number of products, including the Intel® OpenCL SDK. The SDK's implicit vectorization module generates LLVM-IR (intermediate representation) which uses vector types.
Subscribe to:
Posts (Atom)