[tremor] Tremor on strongarm CPU
dilb
dilb at alrj.org
Mon Sep 9 11:49:56 PDT 2002
> > I did play with compiler flags too, and so far, my best combination is:
> > CFLAGS = -O2 -D_ARM_ASSEM_ -fsigned-char -D_REENTRANT -ffast-math
> > -mcpu=strongarm1100 -fomit-frame-pointer -fthread-jumps -fregmove
> > -DUSE_MEMORY_H
> > when using gcc 2.95.4
>
> You should try the following:
>
> CFLAGS= -O1 -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps \
> -fcse-skip-blocks -fexpensive-optimizations -fregmove \
> -fschedule-insns2 -finline-functions -fsigned-char \
> -fomit-frame-pointer -march=armv4 -mtune=strongarm \
> -D_ARM_ASSEM_ -D_REENTRANT -DUSE_MEMORY_H
>
> Surprisingly, using -O1 with the above specific optimization flags produces
> better code and performances than with -O2. I bet that the 5% gain from
> your own assembly mdct will then vanish. Please confirm if this is the
> case.
Well, I don't get any improvement using your settings instead of mine, see
the summary below:
Settings:
libvorbis libraries are statically linked to a simple player, wav output is
sent to /dev/null. the player uses always the same FLAGS for gcc. The
different tests have been randomnly made, i.e. the 3 tests made for 1 case,
are not made in a row. Results are in x'y''z format i.e. x minutes y seconds
z hundredth of second. the test file was encoded with oggenc version 1.0
final (-q 4).
<p> CFLAGS : Tremor default -O2(1) -O1(2)
DECODER
Dilb NO TEST 2'32''88 NO TEST
2'32''96
2'33''01
Tremor 2'31''59 2'28''62 2'30''36
2'31''71 2'28''78 2'30''46
2'32''66 2'28''71
Tremor 2'23''57 2'20''95 2'22''66
+ mdct asm 2'23''59 2'21''00 2'22''67
2'23''73 2'21''16
I did only 2 tests each time with (2).
Note:
(1): CFLAGS = -O2 -D_ARM_ASSEM_ -fsigned-char -D_REENTRANT -ffast-math \
-mcpu=strongarm1100 -fomit-frame-pointer -fthread-jumps -fregmove \
-DUSE_MEMORY_H
(2): CFLAGS= -O1 -fforce-mem -fforce-addr -fthread-jumps -fcse-follow-jumps \
-fcse-skip-blocks -fexpensive-optimizations -fregmove \
-fschedule-insns2 -finline-functions -fsigned-char \
-fomit-frame-pointer -march=armv4 -mtune=strongarm \
-D_ARM_ASSEM_ -D_REENTRANT -DUSE_MEMORY_H
<p>Maybe a test with gcc 3.2 could be interesting, I will send you a mail as
soon as my release is ready, and you could try it then.
Dilb.
--- >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