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

Re: Debian ports for RiscPC, ARM710, etc.



Jim Pick wrote:
> 
> I'm wondering what we should do for the Debian port to support more
> machines than just the NetWinder.
> 
> Right now, we've built gcc with the --with-cpu=strongarm option, and
> we are compiling all the packages with the normal CFLAGS options.
> We're using the Corel patched gcc right now, but plan on moving to
> Philip's egcs.
> 
> So I suppose we are building binaries that use the halfword
> instructions.  Is that correct?

Yes.  They are automatically enabled with -mcpu=strongarm.  The NetWinder
requires -march=armv4 to ensure some cpu cache issues are handled correctly,
however, the cpu could be left as default.

> In the interests of portability, what would be the performance cost if
> we somehow compiled things without the halfword instructions?  Do all
> apps benefit, or just some specific ones?  Corel is using them for
> their RPM-based distribution, so I have assumed that there is a
> significant performance difference.

Not in my experience.  The halfword and signed byte instructions are only 
emitted with -O2.  The basic code generator does not emit them, only the 
optimizing pass.They are used to speed up access to shorts, and signed
characters if I remember correctly.  They do speed things up, it takes 
one two cpu cycles to access shorts without them and three to access 
signed bytes if I recall correctly.    

I chose to configure gcc with -with-cpu=strongarm to generate code that
would be most efficient on the NetWinder.

Scott


Reply to: