Port-pmax archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: DECstation 2100 floating point



George Harvey wrote:

> On Mon, 21 Mar 2011 20:40:14 +0000
> George Harvey <fr30%dial.pipex.com@localhost> wrote:
> 
> > I've been giving 5.1 a try on my DECstation 2100 (PMIN, R2000 CPU). I
> > had a bit of trouble finding a disk that the ROM would boot from but
> > apart from that, the network install ran smoothly. However, running a
> > few test programs, I'm seeing a lot of floating point errors. For
> > example, the 'flops' benchmark from pkgsrc returns mostly 'nan' and
> > 'inf' values (see sample output below). If I run the same tests on my
> > 5000/133 (3MIN, R3000 CPU), then they work normally so I'm wondering
> > what the difference is between R2000 and R3000 floating point behaviour?
> 
> A few more details...
> 
> If I compile 'flops' with no optimisation then it works on my 2100, if
> I use -O or -O2 then it produces 'nan' and 'inf' results. However, if I
> copy the binaries over to my 5000/133 then both optimised versions work
> normally. So it looks as though GCC is generating code that works on a
> R3000/R3010 combo but doesn't work on a R2000/R2010. I've had a hunt
> round the 'net and the R2000 and R3000 are supposed to be
> instruction-set compatible so I don't understand why I'm seeing
> different results.

Hopefully you've just proved that the problem isn't inside libc or
the kernel since just changing the compile options of the program
itself gets the right results.

There are some R2000-specific options to gcc.  Can you try the
-march=r2000 and/or -mtune=r2000 options and see if that makes any
difference?

Cheers,
Simon.


Home | Main Index | Thread Index | Old Index