[Tremor] question on asm syntax in arm_asm.h

Ethan Bordeaux ethan.bordeaux at gmail.com
Tue Feb 3 14:02:42 PST 2009


Hi, so I did the conversion from gcc to ADS syntax for most of arm_asm.h and
I think it's working fine.  However, I couldn't figure it out for
lsp_loop_asm() - the problem is the branching instructions which have a
different syntax between the two assemblers.  I thought I understood how to
translate the gcc operations (the value after the branch operation is an
offset from the current instruction with every instruction taking the same
amount of memory), but after closer inspection the branches seem to go to
strange places, so now I'm not so sure.  For instance if the last "beq
2f" is telling the processor to jump 31 opcodes after the current
instruction it will end up outside the declared asm segment, which seems
really weird to me.

Am I reading the ARM GCC syntax right?  If so, why is that branch going
outside of the ASM declaration?  And if not, how should I read an
instruction like "beq 1f" or "bhi 1b"?

FYI, I did a quick benchmark and got ~28 MIPS o ARM9-EJ_S assuming 0 wait
state memory.  This is with the other ASM optimizations and running 1 simple
5 second ogg file encoded at q=-2.  Sound about right?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/tremor/attachments/20090203/119374d5/attachment.htm 


More information about the Tremor mailing list