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

Re: New gcc

David Welton <davidw@master.debian.org> writes:

> > I think I'll have to get egcs going to be able to target armv3.
> > That's my next project.
> Hmm - what advantages and disadvantages are there to this?  It makes
> the code usable on other arm boxes, but do we have any of those? Do
> we have a chance of getting any in the near future?

Primarily, I want to do it to support people with Acorn RiscPCs.
Vincent Renardias has one, and there were several people on the
arm-linux list that expressed interest in using Debian if we supported
that.  Since Acorn is leaving the PC business, there will be quite a
few people who will be looking for an upgrade path.

> Are there any performance/compatibility issues?  Especially WRT the
> kernel?

Well, we'd compile the kernel for the NetWinder with StrongARM
optimizations (we'd pass -mcpu=strongarm to gcc).  The Acorn could use
it's own kernel that was compiled with -mcpu=arm6.

The armv4 instruction set is actually quite similar to the armv3
instruction set.  The instruction set difference are new instructions
for half-word transfers and long multiplies.

The half-word transfers only appear in optimized code, and don't seem
to be all that common.  Many binaries don't even use them.  Use
objdump --disassemble and search for ldrh instructions to see them.

The long multiplies will make a difference for code that does that.
Again, many applications do not use them.

The big difference of the StrongARM over older generations of the ARM
chips was primarily the addition of extra cache and some other
internal stuff plus a higher clock rate.  There was a good application
note on the Acorn website about the differences, but their site seems
to be down.

For regular use, I don't believe there will be a perceptible
performance difference - except for certain applications that would
benefit from the extra optimization.

Corel based their decision to optimize for armv4 based on the fact
that was all that they were shipping.  There was no reason for them to
weigh the advantages/disadvantages of supporting armv3.

I hope that by supported armv3, we'll be able to get some extra users
and developers from the Acorn side of things.  The big downside to
supporting armv3 will be that we will be diverging slightly from what
Corel is doing, so we'll be on our own as far as supporting gcc/egcs
goes (but I'm sure Philip Blundell will help).

>From what I understand, there should be no compatibility problems with
running armv3 code on the StrongARM.  There are StrongARM based Acorns
that are running armv3 code. 

It might be worthwhile investigating building an armv4 distribution
which would only contain certain packages that take advantage of the
armv4 instructions.  This is similar in concept to having an
i586-optimized distribution containing certain packages to complement
the i386 distribution.


 - Jim

Reply to: