[FFmpeg-cvslog] x86inc: Improve handling of %ifid with multi-token parameters
Anton Mitrofanov
git at videolan.org
Wed Jun 22 19:43:22 CEST 2016
ffmpeg | branch: master | Anton Mitrofanov <BugMaster at narod.ru> | Wed Apr 20 19:35:33 2016 +0200| [300fb0df84e9a563ed3b8a9b3d365abb6cf34600] | committer: Anton Khirnov
x86inc: Improve handling of %ifid with multi-token parameters
The yasm/nasm preprocessor only checks the first token, which means that
parameters such as `dword [rax]` are treated as identifiers, which is
generally not what we want.
Signed-off-by: Anton Khirnov <anton at khirnov.net>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=300fb0df84e9a563ed3b8a9b3d365abb6cf34600
---
libavutil/x86/x86inc.asm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index 60aad23..b79cc19 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -1136,7 +1136,7 @@ INIT_XMM
CHECK_AVX_INSTR_EMU {%1 %6, %7, %8}, %6, %8
%endif
%if %5 && %4 == 0
- %ifnid %8
+ %ifnnum sizeof%8
; 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.
@@ -1500,7 +1500,7 @@ FMA_INSTR pmadcswd, pmaddwd, paddd
v%5%6 %1, %2, %3, %4
%elifidn %1, %2
; If %3 or %4 is a memory operand it needs to be encoded as the last operand.
- %ifid %3
+ %ifnum sizeof%3
v%{5}213%6 %2, %3, %4
%else
v%{5}132%6 %2, %4, %3
More information about the ffmpeg-cvslog
mailing list