Status of the DLX backend for GCC?

2007-12-30 Thread Gerald Pfeifer
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.

Sadly, the link to http://www-mount.ee.umn.edu/~okeefe/mcerg/gcc-dlx.html 
doesn't work and I failed to find a replacement page.  Any pointers?

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.

Gerald


Re: Status of the DLX backend for GCC?

2007-12-30 Thread nkavv
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.



Re: Status of the DLX backend for GCC?

2007-12-30 Thread Serge Belyshev
[EMAIL PROTECTED] writes:

> 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.
>

Offtopic: if you still have such an old gcc-1.09 (?) release around, please make
it available so it can be uploaded here: 
ftp://sourceware.org/pub/gcc/old-releases/


Re: Status of the DLX backend for GCC?

2007-12-30 Thread nkavv

> Offtopic: if you still have such an old gcc-1.09 (?) release around, please
> make
> it available so it can be uploaded here:
> ftp://sourceware.org/pub/gcc/old-releases/

Oops, reality check :)

My glibc version for DLX is 1.09. The GCC version seems to be either 1.37.1 or
more probably 1.39. Which i think you already have ^_^

Nikolaos Kavvadias

PS: Nice repo of old releases!