Hi Gerald and friends
(what follows is a copy of a message sent earlier today to Gerald)
> At http://www.gnu.org/software/gcc/extensions.html we have a reference
> to the DLX port of GCC, which corresponds to the DLX machine described
> in "Computer Architecture: A Quantitative Approach" by Hennessy and
> Patterson.
First of all, i will be happy to help, and if applicable to submit my own DLX
backend.
Over the previous years, I had downloaded and used both a really archaic
gcc-1.09 DLX backend as well as the one you refer too. They are both in a sad
state of affairs, but the gcc-2.7.2.1 (AFAICR) was usable.
Since i wanted to use a DLX cross-compiler for embedded system development (and
to produce objects for the ArchC -- http://www.archc.org -- simulator
infrastructure), I coded my own DLX backend for GCC. I developed it around
September-October 2006, first for the 3.3.1 release and then updated its state
for the 3.4.4.
This backend is usable (i used it quite a lot) and has the following features
and non-features :)
- no proper handling of 64-bit moves
- no support for soft-float
- a couple of additions to the "standard" DLX ISA, a select (conditional move)
instructions for partial predication, inspired by the Machine-SUIF select IR
instruction. This one really works well (was adapted from MIPS32 movn, movz).
If there is interest, i can submit the backend (where exactly in the cvs tree?)
and with the help of the community can fix the 64-bit moves issue, plus add
soft-floating.
> On the binutils side I see that Nikolaos has been listed as a maintainer,
> so there may be hope? :-) Otherwise I'm afraid we'll have to remove our
> reference to the DLX port.
Actually, I had stepped up as a binutils DLX maintainer for more-less the same
reasons. I work on my own soft processors for FPGA-based embedded systems and
DLX is a reference for comparisons.
I'm having a small sabbatical from late Feb. to May 10 during which i will
mostly polish my software projects. I can submit the backend in next days
(prior 5-6 January) and fix most issues prior May 10 (joining the army for
9-month military service :)
Kind regards
Nikolaos Kavvadias
PS: My own version of the binutils DLX port supports the "select" instruction. I
should submit this as well.