Hi Manfred
Nice one, that never occurred to me :) Problem is I already went and wrote
my
own asm divide, I reckon the gcc stuff would be faster than mine though.
What kind of speed increase are you guys getting by using ARM32 asm
directly?
because if its significant I may have another attempt. As an example I wrote
a
horizontal textured line blitter in C and ARM32 asm and got only a 10% speed
increase. The only real difference I got was some very odd stack
manipulation
madness. I think it may be because I was writing directly to VRAM.
Yep I agree the integrated shifter and conditional execution are excellent,
just
a pity there is no hardware divide or DMA mod / scale functionality, oh and
a double speed mode would have been nice :) Actually I think I would have
just
settled with a complete 32 bit bus so I dont have to cache most of my code
in
WRAM :(
Regards
Mat
----- Original Message -----
From: Manfred Linzner <linzner@...>
To: <gbadev@egroups.com>
Sent: Thursday, January 04, 2001 10:09 AM
Subject: Re: [gbadev] Multi Player Gamins
> > Also, with regards to overlays. You dont have to goto assem to get fast
code
> > up and running. You can implement a code caching system, whereby you
> > reserve a small area of WRAM for functions. You then compile functions
that
> > require the utmost speed to ARM32, copy them to the code cache in WRAM
> > and execute.(TIP: You cannot use normal C divide in ARM32, or maybe its
> > just me linking with the wrong libs).
>
> It's not your fault. The branches in your code are obviously relative and
so you can't call
> any outside functions within your ram-moved code. or you jump to nirvana
then :)
>
> To use outside functions you must pass the needed functions addresses to
some pointers first
> and use the pointers instead of the real functions addresses.
>
> > 1. Turn compiler optimisations upto level 3 -O3 option. I have measured
only
> > a 10% increase (at best) between my hand written ARM32 code and compiler
> > optimised.
>
> Level 3 optimising does really a good job for a c compiler.
> (tho we got for most functions alot more then 10% speed increase when
rewriting
> it to arm32 code. the optimising function simply does not use the full
potential
> of the conditional commands of the arm32 mode).
>
>
> regards
>
> --
>
> Manfred Linzner
> (Project Manager)
> Shin'en Multimedia
> http://www.shinen.com
> Tel.: ++49 (0)89 785 82 565
> Fax.: ++49 (0)89 785 82 535
> unsubscribe: gbadev-unsubscribe@egroups.com
>
>
>