[FFmpeg-cvslog] x86inc: Avoid creating unnecessary local labels

Henrik Gramner git at videolan.org
Thu Jan 21 23:36:13 CET 2016


ffmpeg | branch: master | Henrik Gramner <henrik at gramner.com> | Fri Oct 16 21:28:49 2015 +0200| [d3662777e070b297ead7c23883d1a7e77d37193f] | committer: Henrik Gramner

x86inc: Avoid creating unnecessary local labels

The REP_RET workaround is only needed on old AMD cpus, and the labels clutter
up the symbol table and confuse debugging/profiling tools, so use EQU to
create SHN_ABS symbols instead of creating local labels. Furthermore, skip
the workaround completely in functions that definitely won't run on such cpus.

Note that EQU is just creating a local label when using nasm instead of yasm.
This is probably a bug, but at least it doesn't break anything.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d3662777e070b297ead7c23883d1a7e77d37193f
---

 libavutil/x86/x86inc.asm |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index a4fce72..6259c69 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -648,8 +648,10 @@ DECLARE_ARG 7, 8, 9, 10, 11, 12, 13, 14
     %rep %0
         %macro %1 1-2 %1
             %2 %1
-            %%branch_instr:
-            %xdefine last_branch_adr %%branch_instr
+            %if notcpuflag(ssse3)
+                %%branch_instr equ $
+                %xdefine last_branch_adr %%branch_instr
+            %endif
         %endmacro
         %rotate 1
     %endrep



More information about the ffmpeg-cvslog mailing list