Orc – The Optimized Inner Loops Runtime Compiler
https://gstreamer.freedesktop.org/documentation/additional/design/orc-integration.html?gi-language=c
orc.spec | ||
README.md |
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.