Vector LLVA: A Virtual Vector Instruction Set for Media Processing
Robert L. Bocchino Jr. and Vikram S. Adve
Abstract:
We present Vector LLVA, a virtual instruction set architecture (V-ISA)
that exposes extensive static information about vector parallelism
while avoiding the use of hardware-specific parameters. We provide
both arbitrary-length vectors (for targets that allow vectors of
arbitrary length, or where the target length is not known) and
fixed-length vectors (for targets that have a fixed vector length,
such as subword SIMD extensions), together with a rich set of
operations on both vector types. We have implemented translators that
compile (1) Vector LLVA written with arbitrary-length vectors to the
Motorola RSVP architecture and (2) Vector LLVA written with
fixed-length vectors to both AltiVec and Intel SSE2. Our
translator-generated code achieves speedups competitive with
handwritten native code versions of several benchmarks on all three
architectures. These experiments show that our V-ISA design captures
vector parallelism for two quite different classes of architectures
and provides virtual object code portability within the class of
subword SIMD architectures.
Published:
"Vector LLVA: A Virtual Vector Instruction Set for Media Processing", Robert L. Bocchino Jr. and Vikram S. Adve.
Proceedings of the Second International Conference on Virtual Execution Environments (VEE '06), Ottawa, Canada, 2006.
Download: