[tremor] Support for ARM ASM with non GNU based tools

Nicolas Pitre nico at cam.org
Tue Sep 10 19:06:57 PDT 2002



On Wed, 11 Sep 2002, timmy brolin wrote:

> GCC specific asm code is certainly not a good idea in a project like
> tremor, there are better compilers than GCC (quite a few actually), and
> anyone that want to build a hardware player may very well choose another
> compiler due to the better performance or because they are used to that
> compiler and can't afford the time to learn a new IDE. 

Well just don't use GCC specific asm code then.  You only need to not define
_ARM_ASSEM_ for the code to fall back to the generic C equivalent which, if
your compiler of choice is really that good, should generate the same or
maybe better assembly by itself.

But I beg to point out that GCC version 3.2 is really really getting good at
ARM code generation and it really does a nice job even without the inline
asm.  But since it's easy for any other compiler not to be forced into GCC's 
inline asm, it's also a good idea to provide them for those of us who use 
GCC.

If some other compiler can make use of some specific extensions of its own 
then it should be easy enough to add them and conditionally make use of 
them.  See os_types.h for an example of what's already done.

> Separate asm files are much more portable between compilers than GCC
> specific inline asm.

But they can't be inlined -- that's the whole point.  It would be really 
silly to have a separate asm function just to perform a multiplication.

> I'am a hardware guy, and I've already got access to a very good
> IDE/compiler for ARM (IAR systems). It also comes integrated with a JTAG
> debugger, that GCC (as far as I know) lacks. 

Well, all the other compilers lack inline assembly capabilities which is 
pretty unfortunate in my opinion.

> I don't think I will be able to take any advantage at all of GCC specific
> inline asm.

Like I said you're not forced to use it, and if your compiler is really good 
you shouldn't need it.

> Pretty much every CAD system also requires a win32 platform, so please
> don't expect ppl to use *nix platforms for tremor develmopment.m Of
> coursebC GCC mexists for win32 also, I'am merely making a general comment
> that ppl will have to use very different development platforms, and the
> tremor code must work without too much hazzle on any of thoose platforms.

One of the most popular operating system for embedded platforms is 
Linux and it uses GCC.  And GCC is the compiler that runs on the most 
different development platforms, Windows included.  You can't rule it out.

PS: I'd be interested to see the assembly output of mdct.c from your 
compiler to compare with GCC's.  Could you send that to me?

<p>Nicolas

<p>--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'tremor-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the Tremor mailing list