summaryrefslogtreecommitdiff
path: root/libavutil/x86/x86inc.asm
diff options
context:
space:
mode:
authorLoren Merritt <pengvado@akuvian.org>2012-04-10 10:40:38 -0400
committerJustin Ruggles <justin.ruggles@gmail.com>2012-04-18 21:14:32 -0400
commit705f3d4759e80044c2a33020aef05b1ed0150558 (patch)
treecfd4882fe0830e1033ea4b75d5ec51ee5d4bcb11 /libavutil/x86/x86inc.asm
parente73ec9216bbd4d63fa30a51e90eff9169ad4dd17 (diff)
downloadffmpeg-705f3d4759e80044c2a33020aef05b1ed0150558.tar.gz
x86inc: support AVX abstraction for 2-operand instructions
Add cvtdq2ps and cvtps2dq to the AVX instruction list. Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Diffstat (limited to 'libavutil/x86/x86inc.asm')
-rw-r--r--libavutil/x86/x86inc.asm10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavutil/x86/x86inc.asm b/libavutil/x86/x86inc.asm
index ea9f9a1550..c167057921 100644
--- a/libavutil/x86/x86inc.asm
+++ b/libavutil/x86/x86inc.asm
@@ -822,7 +822,7 @@ INIT_XMM
;%1 == instruction
;%2 == 1 if float, 0 if int
-;%3 == 1 if 4-operand (xmm, xmm, xmm, imm), 0 if 3-operand (xmm, xmm, xmm)
+;%3 == 1 if 4-operand (xmm, xmm, xmm, imm), 0 if 2- or 3-operand (xmm, xmm, xmm)
;%4 == number of operands given
;%5+: operands
%macro RUN_AVX_INSTR 6-7+
@@ -832,7 +832,11 @@ INIT_XMM
%define %%size mmsize
%endif
%if %%size==32
- v%1 %5, %6, %7
+ %if %0 >= 7
+ v%1 %5, %6, %7
+ %else
+ v%1 %5, %6
+ %endif
%else
%if %%size==8
%define %%regmov movq
@@ -918,6 +922,8 @@ AVX_INSTR cmppd, 1, 0, 0
AVX_INSTR cmpps, 1, 0, 0
AVX_INSTR cmpsd, 1, 0, 0
AVX_INSTR cmpss, 1, 0, 0
+AVX_INSTR cvtdq2ps, 1, 0, 0
+AVX_INSTR cvtps2dq, 1, 0, 0
AVX_INSTR divpd, 1, 0, 0
AVX_INSTR divps, 1, 0, 0
AVX_INSTR divsd, 1, 0, 0