orc/README.md

14 lines
1.0 KiB
Markdown

# orc
Orc is a library and set of tools for compiling and executing very simple programs that operate on arrays of data. The “language” is a generic assembly language that represents many of the features available in SIMD architectures, including saturated addition and subtraction, and many arithmetic operations.
Features:
* Users can create, compile, and run simple programs that use the vector extensions of the CPU, all directly from an application.
* Users can compile Orc programs to assembly source code to be compiled and used without linking against the Orc library.
* The generic assembly language can be extended by an application by adding new opcodes.
* An application can add rules for converting existing or new opcodes to binary code for a specific target.
* Current targets: SSE, MMX, ARM, Altivec. The NEON and TI c64x+ DSP targets are not open source and can be licensed separately from Entropy Wave.
* Programs can optionally be emulated, which is useful for testing, or if no rules are available to convert Orc opcodes to executable code.