[FFmpeg-devel] [PATCH] ARM: remove useless stack push/pop

Rafaël Carré rafael.carre
Tue Jun 8 21:50:17 CEST 2010


Hi,

r12 doesn't need to be saved in called functions because it's a scratch
register.




While I'm here, did anyone try to build FFmpeg with -mthumb yet ?

"grep -Er '(pop|ldm).*pc' libavcodec/arm" shows that there is a lot of
functions which can't be called from thumb on armv4t : using ldm ...,pc
will not perform the switch from arm to thumb on these CPU.

If you want to support both thumb code and armv4t this needs changing
to use 1 more instruction (without speed cost on anything but arm7tdmi
where it would take 1 more cycle to return).

I have not built FFmpeg with thumb but it gives interesting results on
rockbox: http://www.rockbox.org/tracker/task/6734?string=thumb

-- 
Rafa?l Carr?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: avoid_saving_r12.diff
Type: text/x-patch
Size: 817 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100608/bf76ae4f/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20100608/bf76ae4f/attachment.pgp>



More information about the ffmpeg-devel mailing list