orc/README.md

1.0 KiB

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.