Biorobotics Laboratory BioRob

GCC Backend for the MOVE Architecture

GCC logoULYSSE logo

The goal of this project is to port the C programming language to the Ulysse processor, an architecture which delegates the routing of data inside it to the programmer, analogous to the VLIW architecture where the programmer handles the parallelism.

There are several possibilities to write a compiler. The one chosen here is to write a back-end for GCC, the Gnu C Compiler. GCC offers a framework to write back-ends and makes many steps itself, like optimizations, register allocation, etc.

The work is then to describe the architecture and tell GCC how to use it. With a full implemented back-end, you can run C programs, and even other programming languages recognized by GCC.

At the time of this writing, the back-end is moslty working, but there are still problems with some pieces of C code.

Downloadable resources