summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorAnton Mitrofanov <BugMaster@narod.ru>2016-04-07 12:48:29 +0300
committerHenrik Gramner <henrik@gramner.com>2016-04-20 19:16:22 +0200
commit4bd5583acea5d65a2f8fd8fcd5ab7b404af23f45 (patch)
tree31800f8401a9dabde5ceba2ee5f217ccd751ba2f /libavutil
parent42be240ad6874fbc2b0e88a3ee133ece58d60692 (diff)
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.
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/x86/x86inc.asm4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index a53477b5f5..0bcfeb3295 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -1137,7 +1137,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.
@@ -1501,7 +1501,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