[x264-devel] x86inc: speed up compilation with yasm
Loren Merritt
git at videolan.org
Tue Jan 21 22:51:26 CET 2014
x264 | branch: master | Loren Merritt <pengvado at akuvian.org> | Thu Jan 16 13:34:46 2014 -0800| [956c8d8c2a3c2fb1f2f17807532321e492c75efc] | committer: Jason Garrett-Glaser
x86inc: speed up compilation with yasm
Work around yasm's inefficiency with handling large numbers of variables
in the global scope.
> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=956c8d8c2a3c2fb1f2f17807532321e492c75efc
---
common/x86/x86inc.asm | 46 +++++++++++++++++++++++-----------------------
1 file changed, 23 insertions(+), 23 deletions(-)
diff --git a/common/x86/x86inc.asm b/common/x86/x86inc.asm
index 311d02a..a3b4d43 100644
--- a/common/x86/x86inc.asm
+++ b/common/x86/x86inc.asm
@@ -1032,25 +1032,25 @@ INIT_XMM
;%5+: operands
%macro RUN_AVX_INSTR 5-8+
%ifnum sizeof%6
- %assign %%sizeofreg sizeof%6
+ %assign __sizeofreg sizeof%6
%elifnum sizeof%5
- %assign %%sizeofreg sizeof%5
+ %assign __sizeofreg sizeof%5
%else
- %assign %%sizeofreg mmsize
+ %assign __sizeofreg mmsize
%endif
- %assign %%emulate_avx 0
- %if avx_enabled && %%sizeofreg >= 16
- %xdefine %%instr v%1
+ %assign __emulate_avx 0
+ %if avx_enabled && __sizeofreg >= 16
+ %xdefine __instr v%1
%else
- %xdefine %%instr %1
+ %xdefine __instr %1
%if %0 >= 7+%3
- %assign %%emulate_avx 1
+ %assign __emulate_avx 1
%endif
%endif
- %if %%emulate_avx
- %xdefine %%src1 %6
- %xdefine %%src2 %7
+ %if __emulate_avx
+ %xdefine __src1 %6
+ %xdefine __src2 %7
%ifnidn %5, %6
%if %0 >= 8
CHECK_AVX_INSTR_EMU {%1 %5, %6, %7, %8}, %5, %7, %8
@@ -1062,31 +1062,31 @@ INIT_XMM
; 3-operand AVX instructions with a memory arg can only have it in src2,
; whereas SSE emulation prefers to have it in src1 (i.e. the mov).
; So, if the instruction is commutative with a memory arg, swap them.
- %xdefine %%src1 %7
- %xdefine %%src2 %6
+ %xdefine __src1 %7
+ %xdefine __src2 %6
%endif
%endif
- %if %%sizeofreg == 8
- MOVQ %5, %%src1
+ %if __sizeofreg == 8
+ MOVQ %5, __src1
%elif %2
- MOVAPS %5, %%src1
+ MOVAPS %5, __src1
%else
- MOVDQA %5, %%src1
+ MOVDQA %5, __src1
%endif
%endif
%if %0 >= 8
- %1 %5, %%src2, %8
+ %1 %5, __src2, %8
%else
- %1 %5, %%src2
+ %1 %5, __src2
%endif
%elif %0 >= 8
- %%instr %5, %6, %7, %8
+ __instr %5, %6, %7, %8
%elif %0 == 7
- %%instr %5, %6, %7
+ __instr %5, %6, %7
%elif %0 == 6
- %%instr %5, %6
+ __instr %5, %6
%else
- %%instr %5
+ __instr %5
%endif
%endmacro
More information about the x264-devel
mailing list