head image

Products - LEON2-MT C compiler

New language constructs, called SL extensions, are provided to define and use thread programs (the SL equivalent to “kernels” in CUDA or OpenCL), as well as performing thread-to-thread communication.

A micro-threaded C compiler - slc is an SL compiler with LEON2-MT back-end: a compiler from the system-level intermediate language SL (itself a derivative of C) to the LEON2-MT ISA, defined as an extension / adaptation to the standard GNU C compiler.

The GNU C code generator can be used mostly as-is to produce code usable with LEON2-MT. The regular target sparc-linux-gnu can be used to produce a cross-compiler. However, a minor difference in the handling of 64-bit hardware multiplies and divides in LEON2-MT compared to SPARC requires a patch to GNU C to properly manage these operations. This patch is not necessary if 64-bit integer multiplies or divides are not used in source code.